tzset: Avoid guessing wrong when cross-compiling to glibc systems.
[gnulib.git] / ChangeLog
1 2012-05-05  Bruno Haible  <bruno@clisp.org>
2
3         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
5         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
6         "guessing no".
7         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
8
9 2012-05-05  Bruno Haible  <bruno@clisp.org>
10
11         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
12         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
13         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
14         set gl_cv_struct_dirent_d_ino to "guessing yes".
15
16 2012-05-05  Bruno Haible  <bruno@clisp.org>
17
18         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
19         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
20         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
21         "guessing yes".
22
23 2012-05-05  Bruno Haible  <bruno@clisp.org>
24
25         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
26         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
27         compiling to a glibc system, set gl_cv_func_signbit and
28         gl_cv_func_signbit_gcc to "guessing yes".
29
30 2012-05-05  Bruno Haible  <bruno@clisp.org>
31
32         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
33         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
34         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
35         to "guessing yes".
36         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
37         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
38
39 2012-05-05  Bruno Haible  <bruno@clisp.org>
40
41         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
42         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
43         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
44         gl_cv_func_realpath_works to "guessing yes".
45
46 2012-05-05  Bruno Haible  <bruno@clisp.org>
47
48         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
49         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
50         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
51
52 2012-05-04  Bruno Haible  <bruno@clisp.org>
53
54         Tweak last commit.
55         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
56         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57
58 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
59
60         unistd_h: make it easier to avoid sys_types_h
61         This is useful for Emacs, which has its own method of porting to
62         Windows, and which therefore does not need the sys_types_h module.
63         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
64         code moved here from gl_SYS_TYPES_H.
65         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
66         using the code directly.
67         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
68         gl_SYS_TYPES_H.
69         * modules/sys_types (Files):
70         * modules/unistd (Files): Add m4/off_t.m4.
71
72 2012-05-03  Bruno Haible  <bruno@clisp.org>
73
74         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
75         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
76         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
77         "guessing yes" or "guessing no".
78         (gl_FUNC_LSTAT): Update.
79         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
80         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
81         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
82
83 2012-05-03  Bruno Haible  <bruno@clisp.org>
84
85         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
86         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
87         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
88         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
89         cross-compiling, choose the first alternative on glibc systems.
90         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
91
92 2012-05-03  Bruno Haible  <bruno@clisp.org>
93
94         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
95         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
96         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
97
98 2012-05-03  Bruno Haible  <bruno@clisp.org>
99
100         chown: Avoid "guessing no" when cross-compiling to glibc systems.
101         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
102
103 2012-05-03  Bruno Haible  <bruno@clisp.org>
104
105         Avoid "guessing no" guesses when cross-compiling to glibc systems.
106         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
107         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
108         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
109         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
110         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
111         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
112         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
113         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
114         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
115         compiling to glibc systems, set gl_cv_func_chown_slash_works,
116         gl_cv_func_chown_ctime_works to "guessing yes".
117         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
118         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
119         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
120         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
121         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
122         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
123         compiling to glibc systems, set gl_cv_func_open_directory_works to
124         "guessing yes".
125         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
126         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
127         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
128         "guessing yes".
129         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
130         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
131         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
132         compiling to glibc systems, set gl_cv_func_floorf_ieee to
133         "guessing yes".
134         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
135         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
136         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
137         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
138         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
139         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
140         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
141         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
142         "guessing yes".
143         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
144         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
145         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
146         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
147         "guessing yes".
148         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
149         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
150         "guessing yes".
151         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
152         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
153         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
154         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
155         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
156         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
157         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
158         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
159         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
160         compiling to glibc systems, set gl_cv_func_log10f_ieee to
161         "guessing yes".
162         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
163         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
164         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
165         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
166         "guessing yes".
167         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
168         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
169         "guessing yes".
170         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
171         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
172         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
173         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
174         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
175         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
176         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
177         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
178         compiling to glibc systems, set gl_cv_func_mkfifo_works to
179         "guessing yes".
180         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
181         compiling to glibc systems, set gl_cv_func_mknod_works to
182         "guessing yes".
183         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
184         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
185         "guessing yes".
186         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
187         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
188         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
189         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
190         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
191         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
192         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
193         compiling to glibc systems, set gl_cv_func_svid_putenv to
194         "guessing yes".
195         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
196         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
197         "guessing yes".
198         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
199         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
200         "guessing yes".
201         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
202         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
203         to "guessing yes".
204         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
205         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
206         to "guessing yes".
207         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
208         compiling to glibc systems, set gl_cv_func_rmdir_works to
209         "guessing yes".
210         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
211         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
212         gl_cv_func_unlink_parent_fails to "guessing yes".
213         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
214         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
215         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
216         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
217         gl_cv_func_rename_dest_works to "guessing yes".
218         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
219         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
220         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
221         compiling to glibc systems, set gl_cv_func_roundf_ieee to
222         "guessing yes".
223         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
224         compiling to glibc systems, set gl_cv_func_roundl_ieee to
225         "guessing yes".
226         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
227         compiling to glibc systems, set gl_cv_func_setenv_works to
228         "guessing yes".
229         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
230         compiling to glibc systems, set gl_cv_func_unsetenv_works to
231         "guessing yes".
232         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
233         compiling to glibc systems, set gl_cv_func_sleep_works to
234         "guessing yes".
235         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
236         compiling to glibc systems, set gl_cv_func_stat_file_slash to
237         "guessing yes".
238         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
239         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
240         "guessing yes".
241         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
242         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
243         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
244         compiling to glibc systems, set gl_cv_func_truncf_ieee to
245         "guessing yes".
246         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
247         compiling to glibc systems, set gl_cv_func_truncl_ieee to
248         "guessing yes".
249         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
250         compiling to glibc systems, set gl_cv_func_usleep_works to
251         "guessing yes".
252         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
253         compiling to glibc systems, set gl_cv_func_futimesat_works to
254         "guessing yes".
255
256 2012-05-03  Bruno Haible  <bruno@clisp.org>
257
258         Say "guessing yes" or "guessing no" when cross-compiling.
259         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
260         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
261         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
262         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
263         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
264         am_cv_func_working_getline to "guessing yes" or "guessing no".
265         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
266         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
267         (gl_FUNC_MEMMEM): When cross-compiling, set
268         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
269         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
270         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
271         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
272         set gl_cv_func_strcasestr_works_always to "guessing yes" or
273         "guessing no".
274         (gl_FUNC_STRCASESTR): When cross-compiling, set
275         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
276         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
277         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
278         (gl_FUNC_STRSTR): When cross-compiling, set
279         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
280         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
281         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
282         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
283         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
284
285 2012-05-01  Bruno Haible  <bruno@clisp.org>
286
287         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
288         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
289         * build-aux/reloc-ldflags: Likewise.
290         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
291
292 2012-05-01  Bruno Haible  <bruno@clisp.org>
293
294         gnulib-tool: Remove transitional code.
295         * gnulib-tool: Don't warn about --import with 0 arguments any more.
296         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
297
298 2012-05-01  Bruno Haible  <bruno@clisp.org>
299
300         getcwd: Fix misindentation.
301         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
302
303 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
304
305         exclude: process exclude and include directives in order
306         This restores the pre-2009 behavior, and is part of a fix of a
307         grep bug reported by Quentin Arce in
308         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
309         * lib/exclude.c (struct exclude): Remove 'tail' member.
310         (new_exclude_segment): Prepend the new segment instead of appending.
311         Return void, since that's now more convenient.
312         (file_pattern_matches): Renamed from excluded_file_pattern_p.
313         (file_name_matches): Renamed from excluded_file_name_p.
314         (file_pattern_matches, file_name_matches):
315         Return true if the pattern matches, not if it excludes.
316         All callers changed.
317         (excluded_file_name): Process the list in reverse order;
318         since the list is now reversed this restores the pre-2009 behavior.
319         (add_exclude): Adjust to new reversed-order list.  Use local var
320         rather than macro, for clarity.
321         * tests/test-exclude7.sh: Adjust to corrected behavior.
322
323         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
324         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
325         it's not possible here.  Handle the case of \ at end of pattern
326         without dumping core.
327         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
328
329         _Noreturn: future-proof non-GNU and non-MSVC compilers
330         * build-aux/snippet/_Noreturn.h (_Noreturn):
331         * m4/gnulib-common.m4 (gl_COMMON_BODY):
332         Do not define _Noreturn if __STDC_VERSION__ indicates this is
333         C11 or later.  This is more likely to work with random future C
334         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
335         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
336
337         exclude: handle wildcards with FNM_EXTMATCH
338         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
339         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
340         comment that "has wildcards" really means "has or may have
341         wildcards".  Simplify by avoiding the need to call strcspn.
342
343 2012-04-29  Bruno Haible  <bruno@clisp.org>
344
345         gnulib-tool: Fix list of authors.
346         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
347
348 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
349
350         bootstrap: support Automake-NG in $buildreq
351         * bootstrap (check_versions): Handle automake and aclocal from
352         Automake-NG specially.  They can be specified as respectively
353         the "automake-ng" and "aclocal-ng" requirements.
354
355 2012-04-25  Eric Blake  <eblake@redhat.com>
356
357         bootstrap: only force latest Makefile.in.in for gettext module
358         * build-aux/bootstrap (with_gettext): Only install latest
359         Makefile.in.in for projects requesting bleeding edge gettext.
360
361 2012-04-22  Bruno Haible  <bruno@clisp.org>
362
363         doc: Mention reason for replacement on glibc/Linux systems.
364         * doc/posix-functions/dprintf.texi: Mention the problem with special
365         'long double' values.
366         * doc/posix-functions/fprintf.texi: Likewise.
367         * doc/posix-functions/printf.texi: Likewise.
368         * doc/posix-functions/snprintf.texi: Likewise.
369         * doc/posix-functions/sprintf.texi: Likewise.
370         * doc/posix-functions/vdprintf.texi: Likewise.
371         * doc/posix-functions/vfprintf.texi: Likewise.
372         * doc/posix-functions/vprintf.texi: Likewise.
373         * doc/posix-functions/vsnprintf.texi: Likewise.
374         * doc/posix-functions/vsprintf.texi: Likewise.
375         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
376         platforms with F_DUPFD_CLOEXEC problems.
377         * doc/posix-functions/glob.texi: Mention which platforms are affected
378         by the problem with symbolic links.
379         * doc/posix-functions/linkat.texi: Mention the problem with
380         AT_SYMLINK_FOLLOW on Linux.
381
382 2012-04-22  Bruno Haible  <bruno@clisp.org>
383
384         pwrite: Don't replace on all platforms.
385         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
386
387 2012-04-22  Bruno Haible  <bruno@clisp.org>
388
389         rint* tests: Avoid gcc warnings.
390         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
391         * tests/test-rintf.c (INFINITY, NAN): Likewise.
392         * tests/test-rintl.c (INFINITY, NAN): Likewise.
393
394 2012-04-21  Bruno Haible  <bruno@clisp.org>
395
396         users.txt: Update.
397         * users.txt: Add freedink, wdiff. Update URLs for projects that have
398         switched from CVS to git, bzr, or svn.
399
400 2012-04-21  Bruno Haible  <bruno@clisp.org>
401
402         Large File Support for native Windows platforms.
403
404         * m4/largefile.m4 (gl_LARGEFILE): New macro.
405         * modules/largefile (configure.ac): Require gl_LARGEFILE.
406
407         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
408         type.
409         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
410         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
411         * doc/posix-headers/sys_types.texi: Mention the effect of the
412         'largefile' module.
413
414         * lib/fcntl.in.h: Add comments about off_t.
415         * modules/fcntl-h (Depends-on): Add sys_types.
416
417         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
418         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
419         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
420         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
421         * modules/unistd (Depends-on): Add sys_types.
422         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
423
424         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
425         instead of lseek.
426         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
427         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
428         * modules/lseek (Depends-on): Add sys_types.
429
430         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
431         msvc-nothrow.h.
432         (SetFileSize): New function.
433         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
434         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
435         if Large File Support is requested.
436         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
437         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
438
439         * lib/stdio.in.h: Add comments about off_t.
440         * modules/stdio (Depends-on): Add sys_types.
441
442         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
443         instead of ftello.
444         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
445         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
446         (gl_PREREQ_FTELLO): New macro.
447         * modules/ftello (Depends-on): Add sys_types.
448         (configure.ac): Incoke gl_PREREQ_FTELLO.
449
450         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
451         instead of fseeko.
452         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
453         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
454         (gl_PREREQ_FSEEKO): New macro.
455         * modules/fseeko (Depends-on): Add sys_types.
456         (configure.ac): Invoke gl_PREREQ_FSEEKO.
457
458         * lib/sys_stat.in.h: Add comments about off_t.
459         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
460         64-bit integer for st_size in 'struct stat'.
461         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
462         Define _GL_WINDOWS_64_BIT_ST_SIZE.
463         * modules/sys_stat (Depends-on): Add sys_types.
464         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
465
466         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
467         instead of stat or _stat.
468
469         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
470         'struct _stati64' instead of fstat and 'struct stat'.
471         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
472         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
473
474         Reported by Ray Satiro <raysatiro@yahoo.com>.
475
476 2012-04-19  Eric Blake  <eblake@redhat.com>
477
478         bootstrap: accommodate older libtool
479         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
480         Reported by Daniel P. Berrange.
481
482 2012-04-19  Jim Meyering  <meyering@redhat.com>
483
484         announce-gen: avoid failure due to lack of Digest::SHA1
485         Even with the preferred Digest::SHA available, this script
486         would fail when the backup module, Digest::SHA1, was not installed.
487         * build-aux/announce-gen: Quote the conditional use of "use".
488         Reported by Reuben Thomas in:
489         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
490
491         bootstrap: don't let a user's CDPATH setting affect this script
492         When CDPATH is set, cd will sometimes generate output.
493         When "cd" is run in a subshell whose output matters, that
494         surprising-to-some output can cause malfunction.
495         Unsetting CDPATH turns off this shell "feature."
496         * build-aux/bootstrap (CDPATH): Unset.
497         Reported by Reuben Thomas in:
498         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
499         and inspired by his patch here:
500         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
501
502 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
503         and Jim Meyering  <meyering@redhat.com>
504
505         maint.mk: catch "see @xref{}" and similar
506         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
507         prohibit "See also @xref{", "Also see @pxref{", and similar.
508
509 2012-04-16  Jim Meyering  <meyering@redhat.com>
510
511         bootstrap: really use gnulib's po/Makefile.in.in
512         * build-aux/bootstrap: Correct the source file name in previous change.
513         Reported by Akim Demaille.
514
515         configmake: correct minor inconsistency in Makefile rule
516         * modules/configmake (Makefile.am): All other rules like this one
517         run the final "mv -f ..." in the same backslash-continued command
518         as the one that does everything else.  This one put the mv -f ...
519         command on a separate, non-backslash-continued line.
520         Make it like the others.
521
522         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
523         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
524         the one from gettext.  Reported by Akim Demaille.
525
526 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
527
528         Fix recursion of install-* into po directories.
529         Bison's install-pdf bug reported by Hans Aberg at
530         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
531         * build-aux/po/Makefile.in.in (install-dvi, install-html)
532         (install-info, install-pdf, install-ps): New targets.
533
534 2012-04-16  Jim Meyering  <meyering@redhat.com>
535
536         maint: avoid spurious "make sc_maint" failure
537         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
538         exempt all *.class file names, for lib/javaversion.class.
539
540 2012-04-15  Bruno Haible  <bruno@clisp.org>
541
542         lseek: Make configure test independent of environment.
543         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
544         Windows, we know that lseek() on pipes is broken; skip the runtime
545         test.
546
547 2012-04-14  Bruno Haible  <bruno@clisp.org>
548
549         stat: Bypass buggy override in mingw64.
550         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
551         * lib/stat.c (stat) [mingw64]: Define to _stat.
552         * doc/posix-functions/stat.texi: Mention mingw64 bug.
553
554 2012-04-14  Bruno Haible  <bruno@clisp.org>
555
556         pathmax: Fix compilation error on MSVC 9.
557         * modules/pathmax (Depends-on): Add unistd.
558
559 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
560
561         README: document pointer comparison assumption
562         * README (Portability guidelines): Document assumption about
563         pointer comparisons, in response to a recent bug-gnulib comment by
564         Jeffrey Kegler.
565
566 2012-04-12  Bruno Haible  <bruno@clisp.org>
567
568         Tests for module 'getrusage'.
569         * modules/getrusage-tests: New file.
570         * tests/test-getrusage.c: New file.
571
572         New module 'getrusage'.
573         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
574         warn-on-use.h.
575         (getrusage): New declaration.
576         * lib/getrusage.c: New file.
577         * m4/getrusage.m4: New file.
578         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
579         is declared.
580         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
581         HAVE_GETRUSAGE.
582         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
583         snippet/c++defs, snippet/warn-on-use.
584         (Makefile.am): Update generation of sys/resource.h. Substitute
585         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
586         * modules/getrusage: New file.
587         * doc/posix-functions/getrusage.texi: Mention the new module.
588
589 2012-04-12  Bruno Haible  <bruno@clisp.org>
590
591         Tests for module 'sys_resource'.
592         * modules/sys_resource-tests: New file.
593         * tests/test-sys_resource.c: New file.
594
595         New module 'sys_resource'.
596         * lib/sys_resource.in.h: New file.
597         * m4/sys_resource_h.m4: New file.
598         * modules/sys_resource: New file.
599         * doc/posix-headers/sys_resource.texi: Mention the new module.
600
601 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
602
603         ioctl: Fix compilation error on mingw.
604         * lib/ioctl.c: Include <windows.h>.
605         Also reported by Ray Satiro <raysatiro@yahoo.com>.
606
607 2012-04-04  Jim Meyering  <meyering@redhat.com>
608
609         regex: correct #pragma guard expression
610         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
611         not 4.3.  Correct its cpp guard expression.
612
613 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
614
615         regex: remove unnecessary type punning
616         Problem reported by Vladimir Serbinenko in
617         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
618         * lib/regex.h (struct re_pattern_buffer): Change the type of
619         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
620         Fix comment to match code.
621         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
622         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
623         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
624         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
625         (set_regs):
626         Omit no-longer-necessary casts.
627
628 2012-04-03  Bruno Haible  <bruno@clisp.org>
629
630         Tests for module 'ilogbl'.
631         * modules/ilogbl-tests: New file.
632         * tests/test-ilogbl.c: New file.
633
634         New module 'ilogbl'.
635         * lib/math.in.h (ilogbl): New declaration.
636         * lib/ilogbl.c: New file.
637         * m4/ilogbl.m4: New file.
638         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
639         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
640         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
641         Split sed invocation, to avoid the limit of 100 substitutions of
642         HP-UX 'sed'.
643         * modules/ilogbl: New file.
644         * tests/test-math-c++.cc: Check the declaration of ilogbl.
645         * doc/posix-functions/ilogbl.texi: Mention the new module.
646
647 2012-04-03  Bruno Haible  <bruno@clisp.org>
648
649         Tests for module 'ilogbf'.
650         * modules/ilogbf-tests: New file.
651         * tests/test-ilogbf.c: New file.
652
653         New module 'ilogbf'.
654         * lib/math.in.h (ilogbf): New declaration.
655         * lib/ilogbf.c: New file.
656         * m4/ilogbf.m4: New file.
657         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
659         REPLACE_ILOGBF.
660         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
661         REPLACE_ILOGBF.
662         * modules/ilogbf: New file.
663         * tests/test-math-c++.cc: Check the declaration of ilogbf.
664         * doc/posix-functions/ilogbf.texi: Mention the new module.
665
666 2012-04-03  Bruno Haible  <bruno@clisp.org>
667
668         Tests for module 'ilogb'.
669         * modules/ilogb-tests: New file.
670         * tests/test-ilogb.c: New file.
671         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
672         tests/test-logb-ieee.h.
673
674         New module 'ilogb'.
675         * lib/math.in.h (ilogb): New declaration.
676         * lib/ilogb.c: New file.
677         * m4/ilogb.m4: New file.
678         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
679         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
680         REPLACE_ILOGB.
681         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
682         REPLACE_ILOGB.
683         * modules/ilogb: New file.
684         * tests/test-math-c++.cc: Check the declaration of ilogb.
685         * doc/posix-functions/ilogb.texi: Mention the new module.
686
687 2012-04-03  Bruno Haible  <bruno@clisp.org>
688
689         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
690         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
691         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
692         (main): Check their values.
693         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
694         problem.
695
696 2012-04-03  Bruno Haible  <bruno@clisp.org>
697
698         Tests for module 'logbl-ieee'.
699         * modules/logbl-ieee-tests: New file.
700         * tests/test-logbl-ieee.c: New file.
701
702         New module 'logbl-ieee'.
703         * modules/logbl-ieee: New file.
704
705         Tests for module 'logb-ieee'.
706         * modules/logb-ieee-tests: New file.
707         * tests/test-logb-ieee.c: New file.
708
709         New module 'logb-ieee'.
710         * modules/logb-ieee: New file.
711
712         Tests for module 'logbf-ieee'.
713         * modules/logbf-ieee-tests: New file.
714         * tests/test-logbf-ieee.c: New file.
715         * tests/test-logb-ieee.h: New file.
716
717         New module 'logbf-ieee'.
718         * modules/logbf-ieee: New file.
719
720 2012-04-03  Bruno Haible  <bruno@clisp.org>
721
722         Tests for module 'logbl'.
723         * modules/logbl-tests: New file.
724         * tests/test-logbl.c: New file.
725
726         New module 'logbl'.
727         * lib/math.in.h (logbl): New declaration.
728         * lib/logbl.c: New file.
729         * m4/logbl.m4: New file.
730         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
731         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
732         REPLACE_LOGBL.
733         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
734         REPLACE_LOGBL.
735         * modules/logbl: New file.
736         * tests/test-math-c++.cc: Check the declaration of logbl.
737         * doc/posix-functions/logbl.texi: Mention the new module.
738
739 2012-04-02  Bruno Haible  <bruno@clisp.org>
740
741         Tests for module 'logbf'.
742         * modules/logbf-tests: New file.
743         * tests/test-logbf.c: New file.
744
745         New module 'logbf'.
746         * lib/math.in.h (logbf): New declaration.
747         * lib/logbf.c: New file.
748         * m4/logbf.m4: New file.
749         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
750         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
751         REPLACE_LOGBF.
752         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
753         REPLACE_LOGBF.
754         * modules/logbf: New file.
755         * tests/test-math-c++.cc: Check the declaration of logbf.
756         * doc/posix-functions/logbf.texi: Mention the new module.
757
758 2012-04-02  Bruno Haible  <bruno@clisp.org>
759
760         logb tests: More tests.
761         * tests/test-logb.h: New file, based on tests/test-logb.c and
762         tests/test-frexp.h.
763         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
764         (main): Just invoke test_function.
765         * modules/logb-tests (Files): Add tests/test-logb.h,
766         tests/minus-zero.h, tests/randomd.c.
767         (Makefile.am): Add randomd.c to test_logb_SOURCES.
768
769         logb: Provide replacement and workarounds.
770         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
771         is 1.
772         * lib/logb.c: New file.
773         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
774         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
776         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
777         * modules/logb (Files): Add lib/logb.c.
778         (Depends-on): Add isfinite, frexp, isnand.
779         (configure.ac): Compile the replacement code logb.c if needed.
780         * tests/test-math-c++.cc: Check the declaration of logb.
781         * doc/posix-functions/logb.texi: Mention the replacement and the bug
782         with subnormal numbers.
783
784 2012-04-02  Bruno Haible  <bruno@clisp.org>
785
786         log10* tests: Speed up.
787         * tests/test-log10.h (test_function): Reduce amount of random numbers
788         to test.
789
790 2012-04-01  Bruno Haible  <bruno@clisp.org>
791
792         logf-ieee: Fix test whether logf works.
793         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
794
795 2012-04-01  Bruno Haible  <bruno@clisp.org>
796
797         log10l: Work around log10l-ieee test failure on IRIX 6.5.
798         * lib/log10l.c: Include <float.h>
799         (log10l): On IRIX, normalize the +Infinity value.
800         * modules/log10l (Depends-on): Add 'float'.
801         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
802         +Infinity.
803
804         log10f-ieee: Work around test failure on NetBSD 5.1.
805         * m4/log10f-ieee.m4: New file.
806         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
807         test whether log10f works with a negative argument. Replace it if not.
808         * lib/log10f.c (log10f): For negative arguments, return NaN.
809         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
810         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
811         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
812
813         log10f-ieee: Work around test failure on Solaris 9.
814         * modules/log10f-ieee (Depends-on): Add log10-ieee.
815         (configure.ac): Require gl_FUNC_LOG10F.
816
817         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
818         * m4/log10-ieee.m4: New file.
819         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
820         whether log10 works with a negative argument. Replace it if not.
821         * lib/log10.c (log10): For negative arguments, return NaN.
822         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
823         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
824         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
825
826         Tests for module 'log10l-ieee'.
827         * modules/log10l-ieee-tests: New file.
828         * tests/test-log10l-ieee.c: New file.
829
830         New module 'log10l-ieee'.
831         * modules/log10l-ieee: New file.
832
833         Tests for module 'log10-ieee'.
834         * modules/log10-ieee-tests: New file.
835         * tests/test-log10-ieee.c: New file.
836
837         New module 'log10-ieee'.
838         * modules/log10-ieee: New file.
839
840         Tests for module 'log10f-ieee'.
841         * modules/log10f-ieee-tests: New file.
842         * tests/test-log10f-ieee.c: New file.
843         * tests/test-log10-ieee.h: New file.
844
845         New module 'log10f-ieee'.
846         * modules/log10f-ieee: New file.
847
848 2012-04-01  Bruno Haible  <bruno@clisp.org>
849
850         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
851         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
852         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
853         workaround.
854         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
855         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
857         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
858         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
859         (Depends-on): Update conditions.
860         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
861         IRIX 6.5, OSF/1 5.1 problems.
862
863 2012-04-01  Bruno Haible  <bruno@clisp.org>
864
865         log10f: Work around OSF/1 5.1 bug.
866         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
867         * lib/log10f.c (log10f): If logf exists, use it and provide just the
868         workaround.
869         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
870         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
871         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
872         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
873         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
874         (Depends-on): Update conditions.
875         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
876
877 2012-04-01  Bruno Haible  <bruno@clisp.org>
878
879         log10: Work around OSF/1 5.1 bug.
880         * lib/math.in.h (log10): New declaration.
881         * lib/log10.c: New file.
882         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
883         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
884         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
886         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
887         * modules/log10 (Files): Add lib/log10.c.
888         (Depends-on): Add math.
889         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
890         * tests/test-math-c++.cc: Check the declaration of log10.
891         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
892
893 2012-03-31  Bruno Haible  <bruno@clisp.org>
894
895         log10l tests: More tests.
896         * modules/log10l-tests (Files): Add tests/test-log10l.h,
897         tests/minus-zero.h, tests/randoml.c.
898         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
899         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
900         (main): Invoke test_function.
901
902         log10f tests: More tests.
903         * modules/log10f-tests (Files): Add tests/test-log10.h,
904         tests/minus-zero.h, tests/randomf.c.
905         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
906         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
907         (main): Invoke test_function.
908
909         log10 tests: More tests.
910         * tests/test-log10.h: New file.
911         * modules/log10-tests (Files): Add tests/test-log10.h,
912         tests/minus-zero.h, tests/randomd.c.
913         (Makefile.am): Add randomd.c to test_log10_SOURCES.
914         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
915         (main): Invoke test_function.
916
917 2012-03-31  Simon Josefsson  <simon@josefsson.org>
918
919         fflush: Fix syntax error.
920         * lib/fflush.c: Include unused-parameter.h, needed for
921         _GL_UNUSED_PARAMETER.
922         * modules/fflush (Depends-on): Add snippet/unused-parameter.
923
924 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
925
926         regex: pacify GCC when compiling GRUB
927         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
928         a diagnostic.  Reported by Vladimir Serbinenko in
929         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
930
931 2012-03-29  Eric Blake  <eblake@redhat.com>
932
933         stdio: don't assume gets any more
934         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
935         support.
936         * modules/stdio (Makefile.am): Likewise.
937         * lib/stdio-read.c (gets): Likewise.
938         * tests/test-stdio-c++.cc: Likewise.
939         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
940         * lib/stdio.in.h (gets): Make warning occur in more places.
941         * doc/posix-functions/gets.texi (gets): Update documentation.
942         Reported by Christer Solskogen.
943
944         maint.mk: fix syntax checks without exclusions
945         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
946         Reported by Daniel P. Berrange.
947
948         strerror_r: avoid compiler warning
949         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
950         level.
951
952         fflush: avoid compiler warning
953         * lib/fflush.c (update_fpos_cache): Mark variables that are
954         potentially unused.
955
956 2012-03-25  Bruno Haible  <bruno@clisp.org>
957
958         Tests for module 'localeconv'.
959         * modules/localeconv-tests: New file.
960         * tests/test-localeconv.c: New file.
961
962         New module 'localeconv'.
963         * lib/locale.in.h (localeconv): New declaration.
964         * lib/localeconv.c: New file.
965         * m4/localeconv.m4: New file.
966         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
967         REPLACE_LOCALECONV.
968         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
969         REPLACE_LOCALECONV.
970         * modules/localeconv: New file.
971         * modules/nl_langinfo (Depends-on): Add localeconv.
972         * modules/human (Depends-on): Likewise.
973         * doc/posix-functions/localeconv.texi: Mention the new module.
974
975 2012-03-25  Bruno Haible  <bruno@clisp.org>
976
977         locale: Provide a complete 'struct lconv'.
978         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
979         'struct lconv' does not contain int_p_cs_precedes.
980         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
981         * doc/posix-headers/locale.texi: Update.
982
983         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
984         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
985         * doc/posix-headers/locale.texi: Update.
986
987         locale: Provide a working 'struct lconv'.
988         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
989         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
990         'struct lconv' does not even contain decimal_point.
991         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
992         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
993         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
994         * doc/posix-headers/locale.texi: Mention the problems with
995         'struct lconv'.
996         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
997
998 2012-03-24  Bruno Haible  <bruno@clisp.org>
999
1000         Enable common subexpression optimization in GCC.
1001         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1002         macros.
1003         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1004         GCC attribute 'const'.
1005         (uc_locale_language): Declare with GCC attribute 'pure'.
1006         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1007         with GCC attribute 'const'.
1008         * lib/unictype.in.h (uc_is_general_category_withtable,
1009         uc_combining_class, uc_combining_class_name,
1010         uc_combining_class_long_name, uc_bidi_class_name,
1011         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1012         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1013         uc_decimal_value, uc_digit_value, uc_numeric_value,
1014         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1015         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1016         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1017         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1018         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1019         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1020         Declare with GCC attribute 'const'.
1021         (uc_general_category_name, uc_general_category_long_name,
1022         uc_general_category_byname, uc_general_category,
1023         uc_is_general_category, uc_combining_class_byname,
1024         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1025         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1026         Declare with GCC attribute 'pure'.
1027         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1028         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1029         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1030         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1031         with GCC attribute 'pure'.
1032         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1033         'const'.
1034         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1035         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1036         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1037         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1038         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1039         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1040         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1041         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1042         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1043         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1044         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1045         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1046         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1047         GCC attribute 'pure'.
1048         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1049         'const'.
1050         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1051         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1052         u32_strwidth): Declare with GCC attribute 'pure'.
1053
1054         Enable common subexpression optimization in GCC.
1055         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1056         (alphasort): Declare with GCC attribute 'pure'.
1057         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1058         (atoll): Declare with GCC attribute 'pure'.
1059         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1060         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1061         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1062         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1063         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1064         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1065         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1066
1067 2012-03-24  Bruno Haible  <bruno@clisp.org>
1068
1069         gnulib-tool: Avoid unintended error output from 'cmp'.
1070         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1071         "cmp -s", not "cmp > /dev/null".
1072
1073 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1074
1075         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1076
1077         It's not just Automake versions < 1.9b that creates an empty
1078         pkgdatadir at installation time if pkgdata_DATA is specified
1079         to empty; modern automake versions do this as well, at least
1080         until automake 1.11.4 (not yet released at the moment of writing,
1081         but soon to appear).  That behaviour was generally considered a
1082         feature rather than a bug, at least until this discussion:
1083         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1084
1085         See also automake bugs #10997 and #11030.
1086
1087         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1088         reference to relevant automake bug numbers.
1089         (func_emit_tests_Makefile_am): Likewise.
1090
1091 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1092
1093         announce-gen: use Digest::SHA when possible
1094         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1095         back to Digest::SHA1 if necessary.
1096
1097 2012-03-20  Jim Meyering  <meyering@redhat.com>
1098
1099         tests: avoid gcc warnings about argv vs. const initializers
1100         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1101         warnings about discarding 'const' qualifier from pointer target type.
1102         * tests/test-posix_spawn2.c (main): Likewise.
1103
1104 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1105
1106         README-release: simplify slightly
1107         * top/README-release: Run "git checkout master" only once.
1108
1109 2012-03-15  Mark Wielaard  <mark@klomp.org>
1110
1111         git-merge-changelog: add specific example on how to use with hg.
1112         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1113
1114 2012-03-18  Mark Wielaard  <mark@klomp.org>
1115
1116         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1117
1118 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1119
1120         git-version-gen: don't let "prefix" envvar cause trouble
1121         * build-aux/git-version-gen (prefix): Initialize properly,
1122         so as not to use a value specified via the environment.
1123         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1124
1125 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1126
1127         regex: diagnose too-large repeat counts in EREs
1128         Previously, the code did not diagnose the too-large repeat count
1129         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1130         as if it were 'b\{1000000000}', which is unexpected.
1131         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1132         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1133         is a reasonable one for this problem.  Another option would be to
1134         create a new REG_OVERFLOW error for repeat counts that are too large.
1135         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1136         count is too large, so that the caller can distinguish the two cases.
1137         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1138         "Too large" return code, and that repeat counts are one example of this.
1139
1140 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1141
1142         doc: some glibc x32 integer width issues
1143         * doc/posix-headers/sys_types.texi (sys/types.h):
1144         * doc/posix-headers/time.texi (time.h):
1145         Mention that glibc x32 does not conform to POSIX in a couple of
1146         areas related to integer widths.
1147
1148 2012-03-15  Bruno Haible  <bruno@clisp.org>
1149
1150         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1151         * lib/fma.c (VOLATILE): New macro.
1152         (FUNC): Use it to work around a GCC compiler bug.
1153
1154 2012-03-13  Bruno Haible  <bruno@clisp.org>
1155
1156         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1157         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1158         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1159         REPLACE_HYPOTL to 1.
1160         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1161
1162 2012-03-13  Bruno Haible  <bruno@clisp.org>
1163
1164         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1165         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1166         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1167         REPLACE_REMAINDERL to 1.
1168         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1169         bug.
1170
1171 2012-03-13  Bruno Haible  <bruno@clisp.org>
1172
1173         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1174         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1175         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1176         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1177         too big rounding errors.
1178         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1179         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1180         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1181         (Depends-on): Update conditions.
1182         * tests/test-sqrtl.c (my_ldexpl): New function.
1183         (main): Add test of a particular value.
1184         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1185
1186 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1187
1188         doc: Update timer_* platform portability notes.
1189         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1190         that always return ENOSYS.
1191         * doc/posix-functions/timer_delete.texi: Likewise.
1192         * doc/posix-functions/timer_gettime.texi: Likewise.
1193         * doc/posix-functions/timer_settime.texi: Likewise.
1194
1195 2012-03-13  Bruno Haible  <bruno@clisp.org>
1196
1197         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1198         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1199         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1200         REPLACE_CBRTL to 1.
1201         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1202
1203 2012-03-13  Bruno Haible  <bruno@clisp.org>
1204
1205         remainderl: Avoid compilation error on AIX >= 5.2.
1206         * lib/math.in.h (remainderl): Undefine macro from the system header.
1207
1208 2012-03-13  Bruno Haible  <bruno@clisp.org>
1209
1210         Avoid compilation errors with MSVC option -fp:strict.
1211         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1212         * lib/cbrtf.c: Likewise.
1213         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1214
1215 2012-03-12  Bruno Haible  <bruno@clisp.org>
1216
1217         uninorm: Don't crash in out-of-memory conditions.
1218         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1219         gracefully.
1220         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1221         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1222
1223 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1224
1225         quote: fix syntax-check
1226         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1227         also exports quote_quoting_options.
1228
1229 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1230
1231         Collapse list of copyright years to ranges.  See
1232         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1233         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1234         build-aux/csharpexec.sh.in, build-aux/gnupload,
1235         build-aux/install-reloc, build-aux/javacomp.sh.in,
1236         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1237         build-aux/move-if-change, build-aux/reloc-ldflags,
1238         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1239
1240 2012-03-11  Bruno Haible  <bruno@clisp.org>
1241
1242         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1243         * m4/log2f-ieee.m4: New file.
1244         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1245         whether log2f works with a minus zero argument. Replace it if not.
1246         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1247         (Depends-on): Add log2-ieee.
1248         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1249         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1250
1251         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1252         * m4/log2-ieee.m4: New file.
1253         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1254         whether log2 works with a minus zero argument. Replace it if not.
1255         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1256         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1257         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1258
1259         Tests for module 'log2l-ieee'.
1260         * modules/log2l-ieee-tests: New file.
1261         * tests/test-log2l-ieee.c: New file.
1262
1263         New module 'log2l-ieee'.
1264         * modules/log2l-ieee: New file.
1265
1266         Tests for module 'log2-ieee'.
1267         * modules/log2-ieee-tests: New file.
1268         * tests/test-log2-ieee.c: New file.
1269
1270         New module 'log2-ieee'.
1271         * modules/log2-ieee: New file.
1272
1273         Tests for module 'log2f-ieee'.
1274         * modules/log2f-ieee-tests: New file.
1275         * tests/test-log2f-ieee.c: New file.
1276         * tests/test-log2-ieee.h: New file.
1277
1278         New module 'log2f-ieee'.
1279         * modules/log2f-ieee: New file.
1280
1281 2012-03-11  Bruno Haible  <bruno@clisp.org>
1282
1283         Tests for module 'log2l'.
1284         * modules/log2l-tests: New file.
1285         * tests/test-log2l.c: New file.
1286
1287         New module 'log2l'.
1288         * lib/math.in.h (log2l): New declaration.
1289         * lib/log2l.c: New file.
1290         * m4/log2l.m4: New file.
1291         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1292         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1293         REPLACE_LOG2L.
1294         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1295         REPLACE_LOG2L.
1296         * modules/log2l: New file.
1297         * tests/test-math-c++.cc: Check the declaration of log2l.
1298         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1299         and OSF/1 problems.
1300
1301 2012-03-11  Bruno Haible  <bruno@clisp.org>
1302
1303         Tests for module 'log2f'.
1304         * modules/log2f-tests: New file.
1305         * tests/test-log2f.c: New file.
1306
1307         New module 'log2f'.
1308         * lib/math.in.h (log2f): New declaration.
1309         * lib/log2f.c: New file.
1310         * m4/log2f.m4: New file.
1311         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1313         REPLACE_LOG2F.
1314         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1315         REPLACE_LOG2F.
1316         * modules/log2f: New file.
1317         * tests/test-math-c++.cc: Check the declaration of log2f.
1318         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1319         and OSF/1 and Cygwin problems.
1320
1321 2012-03-11  Bruno Haible  <bruno@clisp.org>
1322
1323         Tests for module 'log2'.
1324         * modules/log2-tests: New file.
1325         * tests/test-log2.c: New file.
1326         * tests/test-log2.h: New file.
1327
1328         New module 'log2'.
1329         * lib/math.in.h (log2): New declaration.
1330         * lib/log2.c: New file.
1331         * m4/log2.m4: New file.
1332         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1334         REPLACE_LOG2.
1335         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1336         REPLACE_LOG2.
1337         * modules/log2: New file.
1338         * tests/test-math-c++.cc: Check the declaration of log2.
1339         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1340         and OSF/1 and Cygwin problems.
1341
1342 2012-03-11  Bruno Haible  <bruno@clisp.org>
1343
1344         exp2* tests: More tests.
1345         * tests/test-exp2.h (test_function): Test all integral arguments that
1346         don't need to overflow or denormalized numbers.
1347         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1348         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1349         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1350
1351 2012-03-10  Bruno Haible  <bruno@clisp.org>
1352
1353         log1pl-ieee: Work around test failure on AIX 7.1.
1354         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1355
1356         log1pl-ieee: Work around test failure on IRIX 6.5.
1357         * m4/log1pl-ieee.m4: New file.
1358         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1359         test whether log1pl works with a minus zero argument. Replace it if
1360         not.
1361         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1363         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1364         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1365         (Depends-on): Update conditions.
1366         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1367         m4/signbit.m4.
1368         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1369         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1370
1371         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1372         * m4/log1pf-ieee.m4: New file.
1373         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1374         test whether log1pf works with a minus zero argument. Replace it if
1375         not.
1376         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1377         m4/signbit.m4.
1378         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1379         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1380
1381         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1382         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1383         (configure.ac): Require gl_FUNC_LOG1PF.
1384
1385         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1386         * m4/log1p-ieee.m4: New file.
1387         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1388         whether log1p works with a minus zero argument. Replace it if not.
1389         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1391         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1392         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1393         (Depends-on): Update conditions.
1394         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1395         m4/signbit.m4.
1396         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
1397         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
1398
1399         Tests for module 'log1pl-ieee'.
1400         * modules/log1pl-ieee-tests: New file.
1401         * tests/test-log1pl-ieee.c: New file.
1402
1403         New module 'log1pl-ieee'.
1404         * modules/log1pl-ieee: New file.
1405
1406         Tests for module 'log1p-ieee'.
1407         * modules/log1p-ieee-tests: New file.
1408         * tests/test-log1p-ieee.c: New file.
1409
1410         New module 'log1p-ieee'.
1411         * modules/log1p-ieee: New file.
1412
1413         Tests for module 'log1pf-ieee'.
1414         * modules/log1pf-ieee-tests: New file.
1415         * tests/test-log1pf-ieee.c: New file.
1416         * tests/test-log1p-ieee.h: New file.
1417
1418         New module 'log1pf-ieee'.
1419         * modules/log1pf-ieee: New file.
1420
1421 2012-03-10  Bruno Haible  <bruno@clisp.org>
1422
1423         Tests for module 'log1pl'.
1424         * modules/log1pl-tests: New file.
1425         * tests/test-log1pl.c: New file.
1426
1427         New module 'log1pl'.
1428         * lib/math.in.h (log1pl): New declaration.
1429         * lib/log1pl.c: New file.
1430         * m4/log1pl.m4: New file.
1431         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
1432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
1433         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
1434         * modules/log1pl: New file.
1435         * tests/test-math-c++.cc: Check the declaration of log1pl.
1436         * doc/posix-functions/log1pl.texi: Mention the new module.
1437
1438 2012-03-10  Bruno Haible  <bruno@clisp.org>
1439
1440         Tests for module 'log1pf'.
1441         * modules/log1pf-tests: New file.
1442         * tests/test-log1pf.c: New file.
1443
1444         New module 'log1pf'.
1445         * lib/math.in.h (log1pf): New declaration.
1446         * lib/log1pf.c: New file.
1447         * m4/log1pf.m4: New file.
1448         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
1449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
1450         REPLACE_LOG1PF.
1451         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
1452         REPLACE_LOG1PF.
1453         * modules/log1pf: New file.
1454         * tests/test-math-c++.cc: Check the declaration of log1pf.
1455         * doc/posix-functions/log1pf.texi: Mention the new module.
1456
1457 2012-03-10  Bruno Haible  <bruno@clisp.org>
1458
1459         log1p tests: More tests.
1460         * tests/test-log1p.h: New file.
1461         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
1462         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
1463         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
1464         (main): Invoke test_function.
1465
1466         log1p: Provide replacement for Minix and MSVC.
1467         * lib/math.in.h (log1p): New declaration.
1468         * lib/log1p.c: New file.
1469         * m4/log1p.m4: New file.
1470         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
1471         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
1472         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
1473         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
1474         (Depends-on): Add math, isnand, log, round.
1475         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
1476         HAVE_LOG1P is 0.
1477         * tests/test-math-c++.cc: Check the declaration of log1p.
1478         * doc/posix-functions/log1p.texi: Mention the replacement.
1479
1480 2012-03-10  Bruno Haible  <bruno@clisp.org>
1481
1482         math tests: Small simplification.
1483         * tests/test-exp.h (test_function): Use the same err_bound for
1484         'double' on platforms with sizeof (long double) == sizeof (double)
1485         than on platforms with sizeof (long double) > sizeof (double).
1486         * tests/test-exp2.h (test_function): Likewise.
1487         * tests/test-expm1.h (test_function): Likewise.
1488         * tests/test-log.h (test_function): Likewise.
1489
1490 2012-03-10  Bruno Haible  <bruno@clisp.org>
1491
1492         Fix some comments.
1493         * lib/expl.c: Fix an ambiguous comment.
1494         * lib/expm1.c: Likewise.
1495         * lib/expm1l.c: Likewise.
1496         * lib/exp2.c: Likewise.
1497         * lib/exp2l.c: Likewise.
1498
1499 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
1500
1501         regex: allow inclusion of <regex.h> before <limits.h>
1502         Without this patch, portable programs had to include <limits.h> before
1503         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
1504         I ran into this problem with a test version of GNU grep on Solaris 8.
1505         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
1506         This is done conditionally so that this change can be merged
1507         back to glibc.
1508         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
1509         using the included regex.
1510
1511         fts: depend on fdopendir
1512         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
1513         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
1514         problem was introduced when fdopendir was split out.
1515
1516 2012-03-10  Bruno Haible  <bruno@clisp.org>
1517
1518         Remove unused variables.
1519         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
1520         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1521
1522 2012-03-10  Bruno Haible  <bruno@clisp.org>
1523
1524         isnanf-nolibm: Fix last commit.
1525         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
1526
1527         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
1528         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
1529
1530 2012-03-10  Bruno Haible  <bruno@clisp.org>
1531
1532         logf-ieee: Work around test failure on NetBSD 5.1.
1533         * m4/logf-ieee.m4: New file.
1534         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1535         whether logf works with a negative argument. Replace it if not.
1536         * lib/logf.c (logf): For negative arguments, return NaN.
1537         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1538         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1539         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1540
1541         logf-ieee: Work around test failure on Solaris 9.
1542         * modules/logf-ieee (Depends-on): Add log-ieee.
1543         (configure.ac): Require gl_FUNC_LOGF.
1544
1545         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1546         * m4/log-ieee.m4: New file.
1547         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1548         log works with a negative argument. Replace it if not.
1549         * lib/log.c (log): For negative arguments, return NaN.
1550         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1551         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1552         * doc/posix-functions/log.texi: Mention the log-ieee module.
1553
1554         Tests for module 'logl-ieee'.
1555         * modules/logl-ieee-tests: New file.
1556         * tests/test-logl-ieee.c: New file.
1557
1558         New module 'logl-ieee'.
1559         * modules/logl-ieee: New file.
1560
1561         Tests for module 'log-ieee'.
1562         * modules/log-ieee-tests: New file.
1563         * tests/test-log-ieee.c: New file.
1564
1565         New module 'log-ieee'.
1566         * modules/log-ieee: New file.
1567
1568         Tests for module 'logf-ieee'.
1569         * modules/logf-ieee-tests: New file.
1570         * tests/test-logf-ieee.c: New file.
1571         * tests/test-log-ieee.h: New file.
1572
1573         New module 'logf-ieee'.
1574         * modules/logf-ieee: New file.
1575
1576 2012-03-10  Bruno Haible  <bruno@clisp.org>
1577
1578         log: Fix bug introduced on 2012-03-09.
1579         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1580
1581 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1582
1583         timer-time: link explicitly with pthreads on glibc
1584         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1585         to support static linking, when newer glibc is
1586         detected, as that contains pthread emulation of
1587         POSIX timer functions where required.
1588         * modules/timer-time: Depend on threadlib to
1589         pull in the appropriate library to link.
1590
1591 2012-03-10  Bruno Haible  <bruno@clisp.org>
1592
1593         log* tests: More tests.
1594         * tests/test-log.h: New file.
1595         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1596         (main): Invoke test_function.
1597         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1598         (main): Invoke test_function.
1599         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1600         (main): Invoke test_function.
1601         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1602         tests/randomd.c.
1603         (Makefile.am): Add randomd.c to test_log_SOURCES.
1604         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1605         tests/randomf.c.
1606         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1607         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1608         tests/randoml.c.
1609         (Depends-on): Add 'float'.
1610         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1611
1612 2012-03-09  Bruno Haible  <bruno@clisp.org>
1613
1614         logl: Work around OSF/1 5.1 bug.
1615         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1616         * lib/logl.c (logl): If logl exists, use it and provide just the
1617         workaround.
1618         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1619         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1621         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1622         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1623         (Depends-on): Update conditions.
1624         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1625
1626 2012-03-09  Bruno Haible  <bruno@clisp.org>
1627
1628         logf: Work around OSF/1 5.1 bug.
1629         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1630         * lib/logf.c (logf): If logf exists, use it and provide just the
1631         workaround.
1632         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1633         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1635         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1636         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1637         (Depends-on): Update conditions.
1638         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1639
1640 2012-03-09  Bruno Haible  <bruno@clisp.org>
1641
1642         log: Work around OSF/1 5.1 bug.
1643         * lib/math.in.h (log): New declaration.
1644         * lib/log.c: New file.
1645         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1646         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1647         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1649         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1650         * modules/log (Files): Add lib/log.c.
1651         (Depends-on): Add math.
1652         (configure.ac): If REPLACE_LOG is 1, compile an override.
1653         * tests/test-math-c++.cc: Check the declaration of log.
1654         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1655
1656 2012-03-09  Jim Meyering  <meyering@redhat.com>
1657
1658         readtokens.c: adjust wording in a comment
1659         * lib/readtokens.c: Insert omitted "that" in a comment.
1660
1661 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1662
1663         modechange: add notations +40, 00440, etc.
1664         * lib/modechange.c (mode_compile): Support new notations
1665         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1666
1667 2012-03-08  Bruno Haible  <bruno@clisp.org>
1668
1669         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1670         * m4/exp2l-ieee.m4: New file.
1671         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1672         test whether exp2l works with a NaN argument and with a negative
1673         infinity argument. Replace it if not.
1674         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1676         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1677         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1678         (Depends-on): Update conditions.
1679         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1680         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1681         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1682
1683         Tests for module 'exp2l-ieee'.
1684         * modules/exp2l-ieee-tests: New file.
1685         * tests/test-exp2l-ieee.c: New file.
1686
1687         New module 'exp2l-ieee'.
1688         * modules/exp2l-ieee: New file.
1689
1690         Tests for module 'exp2-ieee'.
1691         * modules/exp2-ieee-tests: New file.
1692         * tests/test-exp2-ieee.c: New file.
1693
1694         New module 'exp2-ieee'.
1695         * modules/exp2-ieee: New file.
1696
1697         Tests for module 'exp2f-ieee'.
1698         * modules/exp2f-ieee-tests: New file.
1699         * tests/test-exp2f-ieee.c: New file.
1700         * tests/test-exp2-ieee.h: New file.
1701
1702         New module 'exp2f-ieee'.
1703         * modules/exp2f-ieee: New file.
1704
1705 2012-03-08  Bruno Haible  <bruno@clisp.org>
1706
1707         Tests for module 'exp2l'.
1708         * modules/exp2l-tests: New file.
1709         * tests/test-exp2l.c: New file.
1710
1711         New module 'exp2l'.
1712         * lib/math.in.h (exp2l): New declaration.
1713         * lib/exp2l.c: New file.
1714         * lib/expl-table.c: New file, extracted from lib/expl.c.
1715         * lib/expl.c (gl_expl_table): New declaration.
1716         (expl): Remove expl_table. Update reference.
1717         * m4/exp2l.m4: New file.
1718         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1719         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1720         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1721         * modules/exp2l: New file.
1722         * modules/expl (Files): Add lib/expl-table.c.
1723         (configure.ac): Compile also expl-table.c.
1724         * tests/test-math-c++.cc: Check the declaration of exp2l.
1725         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1726         problem.
1727
1728 2012-03-08  Bruno Haible  <bruno@clisp.org>
1729
1730         Tests for module 'exp2f'.
1731         * modules/exp2f-tests: New file.
1732         * tests/test-exp2f.c: New file.
1733
1734         New module 'exp2f'.
1735         * lib/math.in.h (exp2f): New declaration.
1736         * lib/exp2f.c: New file.
1737         * m4/exp2f.m4: New file.
1738         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1740         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1741         * modules/exp2f: New file.
1742         * tests/test-math-c++.cc: Check the declaration of exp2f.
1743         * doc/posix-functions/exp2f.texi: Mention the new module and the
1744         IRIX problem.
1745
1746 2012-03-08  Bruno Haible  <bruno@clisp.org>
1747
1748         Tests for module 'exp2'.
1749         * modules/exp2-tests: New file.
1750         * tests/test-exp2.c: New file.
1751         * tests/test-exp2.h: New file.
1752
1753         New module 'exp2'.
1754         * lib/math.in.h (exp2): New declaration.
1755         * lib/exp2.c: New file.
1756         * m4/exp2.m4: New file.
1757         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1759         REPLACE_EXP2.
1760         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1761         REPLACE_EXP2.
1762         * modules/exp2: New file.
1763         * tests/test-math-c++.cc: Check the declaration of exp2.
1764         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1765         and OpenBSD problems.
1766
1767 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1768
1769         savedir: fix comment typo
1770         * lib/savedir.c (savedirstream): Fix typo in comment.
1771
1772 2012-03-08  Bruno Haible  <bruno@clisp.org>
1773
1774         test-readtokens.c: use const; remove unwarranted cast
1775         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1776
1777 2012-03-08  Bruno Haible  <bruno@clisp.org>
1778
1779         fmal: Avoid compilation error on AIX.
1780         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1781         AIX 5.2..7.1.
1782
1783 2012-03-08  Bruno Haible  <bruno@clisp.org>
1784
1785         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1786         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1787         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1788         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1789         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1790         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1791         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1792
1793 2012-03-08  Bruno Haible  <bruno@clisp.org>
1794
1795         remainderf: Override buggy system function on IRIX 6.5.
1796         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1797         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1798         when it exists.
1799         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1800
1801 2012-03-08  Jim Meyering  <meyering@redhat.com>
1802
1803         test-readtokens.c: avoid const-related compilation warnings
1804         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1805
1806 2012-03-07  Jim Meyering  <meyering@redhat.com>
1807             Bruno Haible  <bruno@clisp.org>
1808
1809         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1810         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1811         tests/randomd.c.
1812         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1813         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1814         tests/randoml.c.
1815         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1816
1817 2012-03-07  Bruno Haible  <bruno@clisp.org>
1818
1819         expm1l: Avoid compilation error on AIX.
1820         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1821         AIX 5.2..7.1.
1822
1823 2012-03-07  Bruno Haible  <bruno@clisp.org>
1824
1825         expm1l: Don't override undeclared system function on IRIX 6.5.
1826         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1827         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1828         it exists. Set HAVE_DECL_EXPM1L.
1829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1830         HAVE_EXPM1L.
1831         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1832         HAVE_EXPM1L.
1833         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1834
1835 2012-03-07  Bruno Haible  <bruno@clisp.org>
1836
1837         remainderl: Don't override undeclared system function on IRIX 6.5.
1838         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1839         HAVE_REMAINDERL.
1840         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1841         declared when it exists. Set HAVE_DECL_REMAINDERL.
1842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1843         not HAVE_REMAINDERL.
1844         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1845         HAVE_REMAINDERL.
1846         * doc/posix-functions/remainderl.texi: Mention missing declaration
1847         problem.
1848
1849 2012-03-07  Bruno Haible  <bruno@clisp.org>
1850
1851         rintf: Don't override undeclared system function on IRIX 6.5.
1852         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1853         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1854         exists. Set HAVE_DECL_RINTF.
1855         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1856         HAVE_RINTF.
1857         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1858         HAVE_RINTF.
1859         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1860
1861 2012-03-07  Bruno Haible  <bruno@clisp.org>
1862
1863         roundl: Avoid compilation error on AIX.
1864         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1865         AIX 5.2..7.1.
1866
1867 2012-03-07  Bruno Haible  <bruno@clisp.org>
1868
1869         roundl: Don't override undeclared system function on IRIX 6.5.
1870         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1871         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1872         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1873         * modules/roundl (configure.ac): For replacement code, test
1874         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1875         (Depends-on): Update conditions.
1876         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1877
1878 2012-03-07  Bruno Haible  <bruno@clisp.org>
1879
1880         roundf: Don't override undeclared system function on IRIX 6.5.
1881         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1882         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1883         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1884         * modules/roundf (configure.ac): For replacement code, test
1885         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1886         (Depends-on): Update conditions.
1887         * modules/roundf-ieee (Depends-on): Update conditions.
1888         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1889
1890 2012-03-07  Bruno Haible  <bruno@clisp.org>
1891
1892         round: Don't override undeclared system function on IRIX 6.5.
1893         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1894         argument.
1895         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1896         also when it is not declared. Set HAVE_ROUND. For replacement code,
1897         test HAVE_ROUND, not HAVE_DECL_ROUND.
1898         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1899         not HAVE_DECL_ROUND.
1900         (Depends-on): Update conditions.
1901         * modules/round-ieee (Depends-on): Update conditions.
1902         * doc/posix-functions/round.texi: Mention the IRIX problem.
1903
1904 2012-03-07  Bruno Haible  <bruno@clisp.org>
1905
1906         copysignf: Don't override undeclared system function on IRIX 6.5.
1907         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
1908         HAVE_COPYSIGNF.
1909         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
1910         declared when it exists. Set HAVE_DECL_COPYSIGNF.
1911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
1912         not HAVE_COPYSIGNF.
1913         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
1914         HAVE_COPYSIGNF.
1915         * doc/posix-functions/copysignf.texi: Mention missing declaration
1916         problem.
1917
1918 2012-03-07  Jim Meyering  <meyering@redhat.com>
1919
1920         readtokens: add tests
1921         * modules/readtokens-tests: New file.
1922         * tests/test-readtokens.c: New file.
1923
1924 2012-03-07  Jim Meyering  <meyering@redhat.com>
1925
1926         quotearg: the module must now include quote.h
1927         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
1928         So must the module.
1929         * modules/quotearg (Files): Add quote.h.
1930
1931 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
1932
1933         readtokens: avoid core dumps with unusual calling patterns
1934         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
1935         * lib/readtokens.c: Include limits.h.
1936         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
1937         (readtoken): Don't cache the delimiters; the cache code was buggy
1938         if !delim && saved_delim, or if the new n_delim differs from the old.
1939         Also, it wasn't thread-safe.
1940
1941 2012-03-07  Bruno Haible  <bruno@clisp.org>
1942
1943         quote: Adhere to common module description layout.
1944         * modules/quote (Makefile.am): Add back empty section.
1945
1946 2012-03-06  Akim Demaille  <demaille@gostai.com>
1947
1948         quote: fuse into quotearg
1949         This patch is made for the benefit of Bison.
1950         quote does not leave the choice of the quoting style to the user.
1951         quoting_style provides poor customizability, yet quoting_options,
1952         which is very rich, is hidden inside quotearg.c.  So in order to
1953         allow quote customization, move its implementation to quotearg.c.
1954         * lib/quote.c: Remove.
1955         * modules/quote: Adjust.
1956         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
1957         warning: provide all the members of literal structs.
1958         (quote_quoting_options): New.
1959         (quote, quote_n): Import implementation from quote.c.
1960         * lib/quote.h: Import the comments from quote.c.
1961         (quote_quoting_options): New.
1962
1963 2012-03-06  Bruno Haible  <bruno@clisp.org>
1964
1965         Tests for module 'expm1l-ieee'.
1966         * modules/expm1l-ieee-tests: New file.
1967         * tests/test-expm1l-ieee.c: New file.
1968
1969         New module 'expm1l-ieee'.
1970         * modules/expm1l-ieee: New file.
1971
1972         Tests for module 'expm1f-ieee'.
1973         * modules/expm1f-ieee-tests: New file.
1974         * tests/test-expm1f-ieee.c: New file.
1975
1976         New module 'expm1f-ieee'.
1977         * modules/expm1f-ieee: New file.
1978
1979         Tests for module 'expm1-ieee'.
1980         * modules/expm1-ieee-tests: New file.
1981         * tests/test-expm1-ieee.c: New file.
1982         * tests/test-expm1-ieee.h: New file.
1983
1984         New module 'expm1-ieee'.
1985         * modules/expm1-ieee: New file.
1986         * m4/expm1-ieee.m4: New file.
1987         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
1988         whether expm1 works with a minus zero argument. Replace it if not.
1989         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
1990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
1991         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
1992         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
1993         (Depends-on): Update conditions.
1994         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
1995         AIX problem.
1996
1997 2012-03-06  Bruno Haible  <bruno@clisp.org>
1998
1999         Work around expm1f bug on IRIX 6.5.
2000         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2001         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2002         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2003         not work.
2004         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2005         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2006         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2007         (Depends-on): Update conditions.
2008         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2009
2010 2012-03-06  Bruno Haible  <bruno@clisp.org>
2011
2012         Tests for module 'expm1l'.
2013         * modules/expm1l-tests: New file.
2014         * tests/test-expm1l.c: New file.
2015
2016         New module 'expm1l'.
2017         * lib/math.in.h (expm1l): New declaration.
2018         * lib/expm1l.c: New file.
2019         * m4/expm1l.m4: New file.
2020         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2021         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2022         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2023         * modules/expm1l: New file.
2024         * tests/test-math-c++.cc: Check the declaration of expm1l.
2025         * doc/posix-functions/expm1l.texi: Mention the new module.
2026
2027 2012-03-06  Bruno Haible  <bruno@clisp.org>
2028
2029         Tests for module 'expm1f'.
2030         * modules/expm1f-tests: New file.
2031         * tests/test-expm1f.c: New file.
2032
2033         New module 'expm1f'.
2034         * lib/math.in.h (expm1f): New declaration.
2035         * lib/expm1f.c: New file.
2036         * m4/expm1f.m4: New file.
2037         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2038         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2039         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2040         * modules/expm1f: New file.
2041         * tests/test-math-c++.cc: Check the declaration of expm1f.
2042         * doc/posix-functions/expm1f.texi: Mention the new module.
2043
2044 2012-03-06  Bruno Haible  <bruno@clisp.org>
2045
2046         Tests for module 'expm1'.
2047         * modules/expm1-tests: New file.
2048         * tests/test-expm1.c: New file.
2049         * tests/test-expm1.h: New file.
2050
2051         New module 'expm1'.
2052         * lib/math.in.h (expm1): New declaration.
2053         * lib/expm1.c: New file.
2054         * m4/expm1.m4: New file.
2055         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2057         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2058         * modules/expm1: New file.
2059         * tests/test-math-c++.cc: Check the declaration of expm1.
2060         * doc/posix-functions/expm1.texi: Mention the new module.
2061
2062 2012-03-06  Bruno Haible  <bruno@clisp.org>
2063
2064         math: Ensure declarations of math functions.
2065         * modules/acosf (Depends-on): Add 'extensions'.
2066         * modules/asinf (Depends-on): Likewise.
2067         * modules/atan2f (Depends-on): Likewise.
2068         * modules/atanf (Depends-on): Likewise.
2069         * modules/cbrt (Depends-on): Likewise.
2070         * modules/cbrtf (Depends-on): Likewise.
2071         * modules/cbrtl (Depends-on): Likewise.
2072         * modules/copysignf (Depends-on): Likewise.
2073         * modules/copysignl (Depends-on): Likewise.
2074         * modules/cosf (Depends-on): Likewise.
2075         * modules/coshf (Depends-on): Likewise.
2076         * modules/expf (Depends-on): Likewise.
2077         * modules/fabsf (Depends-on): Likewise.
2078         * modules/fabsl (Depends-on): Likewise.
2079         * modules/fmaf (Depends-on): Likewise.
2080         * modules/fmal (Depends-on): Likewise.
2081         * modules/fmodf (Depends-on): Likewise.
2082         * modules/fmodl (Depends-on): Likewise.
2083         * modules/frexpf (Depends-on): Likewise.
2084         * modules/frexpl (Depends-on): Likewise.
2085         * modules/hypot (Depends-on): Likewise.
2086         * modules/hypotf (Depends-on): Likewise.
2087         * modules/hypotl (Depends-on): Likewise.
2088         * modules/ldexpf (Depends-on): Likewise.
2089         * modules/ldexpl (Depends-on): Likewise.
2090         * modules/log10f (Depends-on): Likewise.
2091         * modules/log10l (Depends-on): Likewise.
2092         * modules/log1p (Depends-on): Likewise.
2093         * modules/logb (Depends-on): Likewise.
2094         * modules/logf (Depends-on): Likewise.
2095         * modules/modff (Depends-on): Likewise.
2096         * modules/modfl (Depends-on): Likewise.
2097         * modules/powf (Depends-on): Likewise.
2098         * modules/remainderf (Depends-on): Likewise.
2099         * modules/remainderl (Depends-on): Likewise.
2100         * modules/rintf (Depends-on): Likewise.
2101         * modules/rintl (Depends-on): Likewise.
2102         * modules/sinf (Depends-on): Likewise.
2103         * modules/sinhf (Depends-on): Likewise.
2104         * modules/sqrtf (Depends-on): Likewise.
2105         * modules/tanf (Depends-on): Likewise.
2106         * modules/tanhf (Depends-on): Likewise.
2107         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2108         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2109         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2110         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2111         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2112         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2113         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2114         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2115         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2116         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2117         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2118         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2119         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2120         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2121         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2122         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2123         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2124         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2125         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2126         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2127         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2128         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2129         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2130         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2131         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2132         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2133         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2134         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2135         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2136         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2137         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2138         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2139         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2140         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2141         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2142         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2143         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2144         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2145         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2146         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2147         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2148
2149 2012-03-06  Bruno Haible  <bruno@clisp.org>
2150
2151         math: Update module names in warnings.
2152         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2153         tanl): Use specific module name in warn-on-use warning.
2154
2155 2012-03-06  Bruno Haible  <bruno@clisp.org>
2156
2157         expl: Simplify computation.
2158         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2159
2160 2012-03-05  Bruno Haible  <bruno@clisp.org>
2161
2162         exp* tests: More tests.
2163         * tests/test-exp.h: New file.
2164         * tests/test-exp.c: Include <float.h> and test-exp.h.
2165         (main): Invoke test_function.
2166         * tests/test-expf.c: Include <float.h> and test-exp.h.
2167         (main): Invoke test_function.
2168         * tests/test-expl.c: Include <float.h> and test-exp.h.
2169         (main): Invoke test_function.
2170         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2171         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2172         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2173         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2174         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2175         (Depends-on): Add 'float'.
2176         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2177
2178         expl: Fix precision of computed result.
2179         * lib/expl.c: Completely rewritten.
2180         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2181         (Maintainer): Add me.
2182         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2183
2184 2012-03-05  Bruno Haible  <bruno@clisp.org>
2185
2186         cbrt* tests: More tests.
2187         * tests/test-cbrt.h: New file.
2188         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2189         (main): Invoke test_function.
2190         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2191         (main): Invoke test_function.
2192         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2193         (main): Invoke test_function.
2194         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2195         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2196         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2197         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2198         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2199         (Depends-on): Add 'float'.
2200         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2201
2202 2012-03-05  Bruno Haible  <bruno@clisp.org>
2203
2204         hypot* tests: More tests.
2205         * tests/test-hypot.h: New file, partially extracted from
2206         tests/test-hypotl.c.
2207         * tests/test-hypot.c: Include test-hypot.h.
2208         (main): Invoke test_function.
2209         * tests/test-hypotf.c: Include test-hypot.h.
2210         (main): Invoke test_function.
2211         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2212         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2213         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2214         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2215         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2216         tests/randomf.c.
2217         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2218         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2219         tests/randoml.c.
2220         (Depends-on): Add 'fpucw', 'float'.
2221         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2222
2223 2012-03-05  Bruno Haible  <bruno@clisp.org>
2224
2225         fpucw: Doc about FreeBSD.
2226         * lib/fpucw.h: Mention FreeBSD in comments.
2227
2228 2012-03-04  Bruno Haible  <bruno@clisp.org>
2229
2230         sqrt* tests: More tests.
2231         * tests/test-sqrt.h: New file.
2232         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2233         (main): Invoke test_function.
2234         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2235         (main): Invoke test_function.
2236         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2237         (main): Invoke test_function.
2238         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2239         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2240         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2241         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2242         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2243         (Depends-on): Add 'float'.
2244         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2245
2246 2012-03-04  Bruno Haible  <bruno@clisp.org>
2247
2248         remainder* tests: More tests.
2249         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2250         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2251         (main): Invoke test_function.
2252         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2253         (main): Invoke test_function.
2254         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2255         (main): Invoke test_function.
2256         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2257         tests/randomd.c.
2258         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2259         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2260         tests/randomf.c.
2261         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2262         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2263         tests/randoml.c.
2264         (Depends-on): Add 'float'.
2265         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2266
2267 2012-03-04  Bruno Haible  <bruno@clisp.org>
2268
2269         remainder, remainderf, remainderl: Fix computation for large quotients.
2270         * lib/remainder.c: Completely rewritten.
2271         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2272         USE_FLOAT.
2273         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2274         USE_LONG_DOUBLE.
2275         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2276         isnand, isinf. Remove round, fma.
2277         * modules/remainderf (Files): Add lib/remainder.c.
2278         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2279         Remove roundf, fmaf.
2280         * modules/remainderl (Files): Add lib/remainder.c.
2281         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2282         isinf. Remove roundl, fmal.
2283         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2284         REMAINDER_LIBM.
2285         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2286         REMAINDERF_LIBM.
2287         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2288         REMAINDERL_LIBM.
2289
2290 2012-03-04  Bruno Haible  <bruno@clisp.org>
2291
2292         fmod* tests: More tests.
2293         * tests/test-fmod.h (my_ldexp): New function.
2294         (test_function): Reduce amount of random numbers to test. Add tests
2295         of very large quotients x / y.
2296         * tests/test-fmod.c (MAX_EXP): New macro.
2297         * tests/test-fmodf.c (MAX_EXP): Likewise.
2298         * tests/test-fmodl.c (MAX_EXP): Likewise.
2299
2300 2012-03-04  Bruno Haible  <bruno@clisp.org>
2301
2302         fmod, fmodl: Fix computation for large quotients x / y.
2303         * lib/fmod.c: Completely rewritten.
2304         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2305         USE_LONG_DOUBLE.
2306         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2307         isnand. Remove fma.
2308         * modules/fmodl (Files): Add lib/fmod.c.
2309         (Depends-on): Add float, isfinite, signbit, fabsl,
2310         frexpl, ldexpl, isnanl. Remove fma.
2311         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2312         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2313
2314 2012-03-03  Bruno Haible  <bruno@clisp.org>
2315
2316         fmod* tests: More tests.
2317         * tests/test-fmod.h: New file.
2318         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2319         (main): Invoke test_function.
2320         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2321         (main): Invoke test_function.
2322         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2323         (main): Invoke test_function.
2324         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2325         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2326         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2327         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2328         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2329         (Depends-on): Add 'float'.
2330         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2331
2332 2012-03-03  Bruno Haible  <bruno@clisp.org>
2333
2334         rint* tests: More tests.
2335         * tests/test-rint.h: New file, partially extracted from
2336         tests/test-rintl.c.
2337         * tests/test-rint.c: Include test-rint.h.
2338         (main): Invoke test_function.
2339         * tests/test-rintf.c: Include test-rint.h.
2340         (main): Invoke test_function.
2341         * tests/test-rintl.c: Include test-rint.h.
2342         (main): Invoke test_function.
2343         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2344         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2345         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2346         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2347         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2348         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2349
2350 2012-03-03  Bruno Haible  <bruno@clisp.org>
2351
2352         modf* tests: More tests.
2353         * tests/test-modf.h: New file.
2354         * tests/test-modf.c: Include <float.h> and test-modf.h.
2355         (main): Invoke test_function.
2356         * tests/test-modff.c: Include <float.h> and test-modf.h.
2357         (main): Invoke test_function.
2358         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2359         (main): Invoke test_function.
2360         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2361         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2362         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2363         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2364         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2365         (Depends-on): Add 'float'.
2366         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2367
2368 2012-03-03  Bruno Haible  <bruno@clisp.org>
2369
2370         fabs* tests: More tests.
2371         * tests/test-fabs.h: New file, partially extracted from
2372         tests/test-fabsl.c.
2373         * tests/test-fabs.c (RANDOM): New macro.
2374         * tests/test-fabsf.c (RANDOM): New macro.
2375         * tests/test-fabsl.c (RANDOM): New macro.
2376         * modules/fabs-tests (Files): Add tests/randomd.c.
2377         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2378         * modules/fabsf-tests (Files): Add tests/randomf.c.
2379         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2380         * modules/fabsl-tests (Files): Add tests/randoml.c.
2381         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2382
2383 2012-03-03  Bruno Haible  <bruno@clisp.org>
2384
2385         ldexp* tests: More tests.
2386         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2387         * tests/test-ldexp.c (RANDOM): New macro.
2388         * tests/test-ldexpf.c (RANDOM): New macro.
2389         * tests/test-ldexpl.c (RANDOM): New macro.
2390         * modules/ldexp-tests (Files): Add tests/randomd.c.
2391         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2392         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2393         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
2394         * modules/ldexpl-tests (Files): Add tests/randoml.c.
2395         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2396
2397 2012-03-03  Bruno Haible  <bruno@clisp.org>
2398
2399         frexp* tests: More tests.
2400         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
2401         * tests/test-frexp.c (RANDOM): New macro.
2402         * tests/test-frexpf.c (RANDOM): New macro.
2403         * tests/test-frexpl.c (RANDOM): New macro.
2404         * modules/frexp-tests (Files): Add tests/randomd.c.
2405         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
2406         * modules/frexpf-tests (Files): Add tests/randomf.c.
2407         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
2408         * modules/frexpl-tests (Files): Add tests/randoml.c.
2409         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2410
2411 2012-03-03  Bruno Haible  <bruno@clisp.org>
2412
2413         Support for pseudo-random numbers in tests.
2414         * tests/randomf.c: New file.
2415         * tests/randomd.c: New file.
2416         * tests/randoml.c: New file.
2417         * tests/macros.h (randomf, randomd, randoml): New declarations.
2418
2419 2012-03-03  Bruno Haible  <bruno@clisp.org>
2420
2421         frexp* tests: Refactor.
2422         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
2423         * tests/test-frexp.c: Include and use it.
2424         * tests/test-frexpf.c: Likewise.
2425         * tests/test-frexpl.c: Likewise.
2426         * modules/frexp-tests (Files): Add tests/test-frexp.h.
2427         * modules/frexpf-tests (Files): Likewise.
2428         * modules/frexpl-tests (Files): Likewise.
2429
2430 2012-03-02  Jim Meyering  <meyering@redhat.com>
2431
2432         maint: don't specify XZ_OPT=-9ev in dist-related rule
2433         Using xz's -9 option is warranted only if you have a very large
2434         tarball (see xz's documentation for the sizes vs. presets), and
2435         requires 64MiB of memory at decompression time.
2436         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
2437         Automake's default of just "-e" is fine.  Override on a
2438         per-package basis by setting XZ_OPT e.g., in cfg.mk.
2439
2440 2012-03-01  Eric Blake  <eblake@redhat.com>
2441
2442         maint.mk: allow announcement for non-gnulib project
2443         * maint.mk (announcement): Skip gnulib version if not used.
2444
2445 2012-03-01  Jim Meyering  <meyering@redhat.com>
2446
2447         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
2448         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
2449         envvar settings cannot interfere.  Otherwise, setting envvars like
2450         prohibit=foo require=bar, etc. would cause spurious test failures.
2451
2452 2012-03-01  Eric Blake  <eblake@redhat.com>
2453
2454         maint.mk: add per-line exclusions to prohibitions
2455         * maint.mk (_sc_search_regexp): Add $exclude parameter.
2456         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2457         (sc_const_long_option): Use it.
2458
2459 2012-03-01  Bruno Haible  <bruno@clisp.org>
2460
2461         Tests for module 'expl-ieee'.
2462         * modules/expl-ieee-tests: New file.
2463         * tests/test-expl-ieee.c: New file.
2464
2465         New module 'expl-ieee'.
2466         * modules/expl-ieee: New file.
2467
2468         Tests for module 'exp-ieee'.
2469         * modules/exp-ieee-tests: New file.
2470         * tests/test-exp-ieee.c: New file.
2471
2472         New module 'exp-ieee'.
2473         * modules/exp-ieee: New file.
2474
2475         Tests for module 'expf-ieee'.
2476         * modules/expf-ieee-tests: New file.
2477         * tests/test-expf-ieee.c: New file.
2478         * tests/test-exp-ieee.h: New file.
2479
2480         New module 'expf-ieee'.
2481         * modules/expf-ieee: New file.
2482
2483 2012-02-29  Bruno Haible  <bruno@clisp.org>
2484
2485         cbrtl-ieee: Work around test failure on IRIX 6.5.
2486         * m4/cbrtl-ieee.m4: New file.
2487         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
2488         test whether cbrtl works with a minus zero argument. Replace it if not.
2489         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
2490         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
2491         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
2492         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
2493         (Depends-on): Update conditions.
2494         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
2495         m4/signbit.m4.
2496         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
2497         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
2498         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
2499
2500         Tests for module 'cbrtl-ieee'.
2501         * modules/cbrtl-ieee-tests: New file.
2502         * tests/test-cbrtl-ieee.c: New file.
2503
2504         New module 'cbrtl-ieee'.
2505         * modules/cbrtl-ieee: New file.
2506
2507         Tests for module 'cbrt-ieee'.
2508         * modules/cbrt-ieee-tests: New file.
2509         * tests/test-cbrt-ieee.c: New file.
2510
2511         New module 'cbrt-ieee'.
2512         * modules/cbrt-ieee: New file.
2513
2514         Tests for module 'cbrtf-ieee'.
2515         * modules/cbrtf-ieee-tests: New file.
2516         * tests/test-cbrtf-ieee.c: New file.
2517         * tests/test-cbrt-ieee.h: New file.
2518
2519         New module 'cbrtf-ieee'.
2520         * modules/cbrtf-ieee: New file.
2521
2522 2012-02-29  Bruno Haible  <bruno@clisp.org>
2523
2524         cbrtf: Work around bug in IRIX 6.5 system function.
2525         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
2526         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
2527         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
2528         work.
2529         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
2530         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
2531         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
2532         (Depends-on): Update conditions.
2533         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2534
2535 2012-02-29  Bruno Haible  <bruno@clisp.org>
2536
2537         Tests for module 'cbrtl'.
2538         * modules/cbrtl-tests: New file.
2539         * tests/test-cbrtl.c: New file.
2540
2541         New module 'cbrtl'.
2542         * lib/math.in.h (cbrtl): New declaration.
2543         * lib/cbrtl.c: New file.
2544         * m4/cbrtl.m4: New file.
2545         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2547         HAVE_DECL_CBRTL.
2548         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2549         HAVE_DECL_CBRTL.
2550         * modules/cbrtl: New file.
2551         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2552         * doc/posix-functions/cbrtl.texi: Mention the new module.
2553
2554 2012-02-29  Bruno Haible  <bruno@clisp.org>
2555
2556         Tests for module 'cbrtf'.
2557         * modules/cbrtf-tests: New file.
2558         * tests/test-cbrtf.c: New file.
2559
2560         New module 'cbrtf'.
2561         * lib/math.in.h (cbrtf): New declaration.
2562         * lib/cbrtf.c: New file.
2563         * m4/cbrtf.m4: New file.
2564         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2565         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2566         HAVE_DECL_CBRTF.
2567         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2568         HAVE_DECL_CBRTF.
2569         * modules/cbrtf: New file.
2570         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2571         * doc/posix-functions/cbrtf.texi: Mention the new module.
2572
2573 2012-02-29  Bruno Haible  <bruno@clisp.org>
2574
2575         cbrt: Provide replacement on MSVC and Minix.
2576         * lib/math.in.h (cbrt): New declaration.
2577         * lib/cbrt.c: New file.
2578         * m4/cbrt.m4: New file.
2579         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2581         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2582         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2583         (Depends-on): Add dependencies.
2584         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2585         * tests/test-math-c++.cc: Check the declaration of cbrt.
2586         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2587         replacement.
2588
2589 2012-02-29  Bruno Haible  <bruno@clisp.org>
2590
2591         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2592         * m4/hypotl-ieee.m4: New file.
2593         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2594         test whether hypotl works with mixed NaN and Infinity arguments.
2595         Replace it if not.
2596         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2598         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2599         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2600         (Depends-on): Update conditions.
2601         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2602         (Depends-on): Add hypot-ieee.
2603         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2604         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2605
2606         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2607         * m4/hypotf-ieee.m4: New file.
2608         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2609         test whether hypotf works with mixed NaN and Infinity arguments.
2610         Replace it if not.
2611         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2612         (Depends-on): Add hypot-ieee.
2613         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2614         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2615
2616         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2617         * lib/math.in.h (hypot): New declaration.
2618         * lib/hypot.c: New file.
2619         * m4/hypot-ieee.m4: New file.
2620         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2621         whether hypot works with mixed NaN and Infinity arguments. Replace it
2622         if not.
2623         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2624         REPLACE_HYPOT.
2625         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2626         * modules/hypot (Files): Add lib/hypot.c.
2627         (Depends-on): Add dependencies.
2628         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2629         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2630         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2631         * tests/test-math-c++.cc: Check the declaration of hypot.
2632         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2633
2634         Tests for module 'hypotl-ieee'.
2635         * modules/hypotl-ieee-tests: New file.
2636         * tests/test-hypotl-ieee.c: New file.
2637
2638         New module 'hypotl-ieee'.
2639         * modules/hypotl-ieee: New file.
2640
2641         Tests for module 'hypot-ieee'.
2642         * modules/hypot-ieee-tests: New file.
2643         * tests/test-hypot-ieee.c: New file.
2644
2645         New module 'hypot-ieee'.
2646         * modules/hypot-ieee: New file.
2647
2648         Tests for module 'hypotf-ieee'.
2649         * modules/hypotf-ieee-tests: New file.
2650         * tests/test-hypotf-ieee.c: New file.
2651         * tests/test-hypot-ieee.h: New file.
2652
2653         New module 'hypotf-ieee'.
2654         * modules/hypotf-ieee: New file.
2655
2656 2012-02-29  Bruno Haible  <bruno@clisp.org>
2657
2658         Remove unused variables.
2659         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2660         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2661         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2662         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2663
2664 2012-02-29  Eric Blake  <eblake@redhat.com>
2665
2666         termios: fix pid_t always, not just for tcgetsid
2667         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2668         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2669         just when building tcgetsid.
2670
2671 2012-02-29  Bruno Haible  <bruno@clisp.org>
2672
2673         Tests for module 'hypotl'.
2674         * modules/hypotl-tests: New file.
2675         * tests/test-hypotl.c: New file.
2676
2677         New module 'hypotl'.
2678         * lib/math.in.h (hypotl): New declaration.
2679         * lib/hypotl.c: New file.
2680         * m4/hypotl.m4: New file.
2681         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2683         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2684         * modules/hypotl: New file.
2685         * tests/test-math-c++.cc: Check the hypotl declaration.
2686         * doc/posix-functions/hypotl.texi: Mention the new module.
2687
2688 2012-02-29  Eric Blake  <eblake@redhat.com>
2689
2690         tcgetsid: fix cygwin header bug
2691         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2692
2693         docs: update cygwin progress
2694         * doc/posix-functions/llround.texi (llround): Added in cygwin
2695         1.7.8.
2696         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2697         * doc/glibc-functions/program_invocation_name.texi
2698         (program_invocation_name): Likewise.
2699         * doc/glibc-functions/program_invocation_short_name.texi
2700         (program_invocation_short_name): Likewise.
2701         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2702         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2703         Likewise.
2704         * doc/posix-functions/pthread_spin_destroy.texi
2705         (pthread_spin_destroy): Added in cygwin 1.7.10.
2706         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2707         Likewise.
2708         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2709         Likewise.
2710         * doc/posix-functions/pthread_spin_trylock.texi
2711         (pthread_spin_trylock): Likewise.
2712         * doc/posix-functions/pthread_spin_unlock.texi
2713         (pthread_spin_unlock): Likewise.
2714         * doc/posix-functions/pthread_setschedprio.texi
2715         (pthread_setschedprio): Likewise.
2716         * doc/posix-functions/pthread_attr_getstack.texi
2717         (pthread_attr_getstack): Likewise.
2718         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2719         (pthread_attr_getstackaddr): Likewise.
2720         * doc/glibc-functions/pthread_getattr_np.texi
2721         (pthread_getattr_np): Likewise.
2722         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2723         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2724         * doc/posix-functions/clock_settime.texi (clock_settime):
2725         Likewise.
2726         * doc/posix-functions/pthread_attr_getguardsize.texi
2727         (pthread_attr_getguardsize): Likewise.
2728         * doc/posix-functions/pthread_attr_setguardsize.texi
2729         (pthread_attr_setguardsize): Likewise.
2730         * doc/posix-functions/pthread_attr_setstack.texi
2731         (pthread_attr_setstack): Likewise.
2732         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2733         (pthread_attr_setstackaddr): Likewise.
2734         * doc/posix-functions/clock_getcpuclockid.texi
2735         (clock_getcpuclockid): Likewise.
2736         * doc/posix-functions/pthread_getcpuclockid.texi
2737         (pthread_getcpuclockid): Likewise.
2738         * doc/glibc-functions/error.texi (error): Likewise.
2739         * doc/glibc-functions/error_at_line.texi (error_at_line):
2740         Likewise.
2741         * doc/glibc-functions/error_message_count.texi
2742         (error_message_count): Likewise.
2743         * doc/glibc-functions/error_one_per_line.texi
2744         (error_one_per_line): Likewise.
2745         * doc/glibc-functions/error_print_progname.texi
2746         (error_print_progname): Likewise.
2747         * doc/posix-functions/pthread_condattr_getclock.texi
2748         (pthread_condattr_getclock): Likewise.
2749         * doc/posix-functions/pthread_condattr_setclock.texi
2750         (pthread_condattr_setclock): Likewise.
2751         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2752         Likewise.
2753         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2754         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2755         * doc/glibc-functions/get_current_dir_name.texi
2756         (get_current_dir_name): Likewise.
2757         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2758         Likewise.
2759         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2760         wrong return type.
2761         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2762         1.7.11.
2763
2764 2012-02-29  Bruno Haible  <bruno@clisp.org>
2765
2766         Tests for module 'hypotf'.
2767         * modules/hypotf-tests: New file.
2768         * tests/test-hypotf.c: New file.
2769
2770         New module 'hypotf'.
2771         * lib/math.in.h (hypotf): New declaration.
2772         * lib/hypotf.c: New file.
2773         * m4/hypotf.m4: New file.
2774         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2775         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2776         REPLACE_HYPOTF.
2777         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2778         REPLACE_HYPOTF.
2779         * modules/hypotf: New file.
2780         * tests/test-math-c++.cc: Check the hypotf declaration.
2781         * doc/posix-functions/hypotf.texi: Mention the new module.
2782
2783         hypot: Prepare for hypotf module.
2784         * m4/hypot.m4: New file.
2785         * modules/hypot (Files): Add m4/hypot.m4.
2786         (configure.ac): Invoke gl_FUNC_HYPOT.
2787
2788 2012-02-29  Bruno Haible  <bruno@clisp.org>
2789
2790         hypot tests: More tests.
2791         * tests/test-hypot.c: Include <float.h>.
2792         (main): Add tests about overflow and underflow.
2793
2794 2012-02-29  Bruno Haible  <bruno@clisp.org>
2795
2796         math code: Add comments.
2797         * lib/acosl.c: Add comment about related glibc source files.
2798         * lib/asinl.c: Likewise.
2799         * lib/atanl.c: Likewise.
2800         * lib/expl.c: Likewise.
2801         * lib/logl.c: Likewise.
2802         * lib/sincosl.c: Likewise.
2803         * lib/sinl.c: Likewise.
2804         * lib/tanl.c: Likewise.
2805         * lib/trigl.c: Likewise.
2806         * lib/cosl.c: Likewise. Fix comments.
2807
2808 2012-02-28  Bruno Haible  <bruno@clisp.org>
2809
2810         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2811         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2812         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2813         HUGE_VALL are defined.
2814         (numeric_equald): Renamed from numeric_equal.
2815         (numeric_equalf, numeric_equall): New functions.
2816         (main): Check also HUGE_VALF, HUGE_VALL.
2817         * modules/math-tests (Files): Add tests/macros.h.
2818         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2819         HUGE_VALL.
2820
2821 2012-02-28  Bruno Haible  <bruno@clisp.org>
2822
2823         doc: Move ISO C11 feature notes into POSIX chapters.
2824         * doc/posix-functions/aligned_alloc.texi: Renamed from
2825         doc/glibc-functions/aligned_alloc.texi.
2826         * doc/posix-functions/quick_exit.texi: Renamed from
2827         doc/glibc-functions/quick_exit.texi.
2828         * doc/posix-headers/uchar.texi: Renamed from
2829         doc/glibc-headers/uchar.texi.
2830         * doc/posix-functions/c16rtomb.texi: Renamed from
2831         doc/glibc-functions/c16rtomb.texi.
2832         * doc/posix-functions/c32rtomb.texi: Renamed from
2833         doc/glibc-functions/c32rtomb.texi.
2834         * doc/posix-functions/mbrtoc16.texi: Renamed from
2835         doc/glibc-functions/mbrtoc16.texi.
2836         * doc/posix-functions/mbrtoc32.texi: Renamed from
2837         doc/glibc-functions/mbrtoc32.texi.
2838         * doc/gnulib.texi: Update.
2839         (Glibc uchar.h): Remove section.
2840         Suggested by Eric Blake.
2841
2842 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2843
2844         stdnoreturn: port to MSVC better
2845         MSVC standard headers use __declspec(noreturn), so #define noreturn
2846         to empty on that platform.  Reported by Bruno Haible in
2847         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2848         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2849         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2850
2851 2012-02-28  Bruno Haible  <bruno@clisp.org>
2852
2853         doc: Mention new glibc headers and functions.
2854         * doc/glibc-headers/uchar.texi: New file.
2855         * doc/glibc-functions/aligned_alloc.texi: New file.
2856         * doc/glibc-functions/c16rtomb.texi: New file.
2857         * doc/glibc-functions/c32rtomb.texi: New file.
2858         * doc/glibc-functions/clock_adjtime.texi: New file.
2859         * doc/glibc-functions/fanotify_init.texi: New file.
2860         * doc/glibc-functions/fanotify_mark.texi: New file.
2861         * doc/glibc-functions/inet6_opt_append.texi: New file.
2862         * doc/glibc-functions/inet6_opt_find.texi: New file.
2863         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2864         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2865         * doc/glibc-functions/inet6_opt_init.texi: New file.
2866         * doc/glibc-functions/inet6_opt_next.texi: New file.
2867         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2868         * doc/glibc-functions/inet6_rth_add.texi: New file.
2869         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2870         * doc/glibc-functions/inet6_rth_init.texi: New file.
2871         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2872         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2873         * doc/glibc-functions/inet6_rth_space.texi: New file.
2874         * doc/glibc-functions/login.texi: New file.
2875         * doc/glibc-functions/mbrtoc16.texi: New file.
2876         * doc/glibc-functions/mbrtoc32.texi: New file.
2877         * doc/glibc-functions/name_to_handle_at.texi: New file.
2878         * doc/glibc-functions/ntp_gettimex.texi: New file.
2879         * doc/glibc-functions/open_by_handle_at.texi: New file.
2880         * doc/glibc-functions/prlimit.texi: New file.
2881         * doc/glibc-functions/process_vm_readv.texi: New file.
2882         * doc/glibc-functions/process_vm_writev.texi: New file.
2883         * doc/glibc-functions/recvmmsg.texi: New file.
2884         * doc/glibc-functions/scandirat.texi: New file.
2885         * doc/glibc-functions/sendmmsg.texi: New file.
2886         * doc/glibc-functions/setns.texi: New file.
2887         * doc/glibc-functions/timespec_get.texi: New file.
2888         * doc/gnulib.texi: Include them.
2889         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2890         sections.
2891         Reported by Eric Blake.
2892
2893 2012-02-28  Bruno Haible  <bruno@clisp.org>
2894
2895         Avoid compilation errors with MSVC option -fp:strict.
2896         * lib/floor.c: Use MSVC specific pragma fenv_access.
2897         * lib/ceil.c: Likewise.
2898         * lib/trunc.c: Likewise.
2899         * lib/round.c: Likewise.
2900         * lib/rint.c: Likewise.
2901         * lib/fma.c: Likewise.
2902         * lib/integer_length.c: Likewise.
2903         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2904         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2905         * tests/test-floor2.c: Likewise.
2906         * tests/test-floorf2.c: Likewise.
2907         * tests/test-ceil2.c: Likewise.
2908         * tests/test-ceilf2.c: Likewise.
2909         * tests/test-trunc2.c: Likewise.
2910         * tests/test-truncf2.c: Likewise.
2911         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2912
2913 2012-02-27  Bruno Haible  <bruno@clisp.org>
2914
2915         Tests for module 'sqrtl-ieee'.
2916         * modules/sqrtl-ieee-tests: New file.
2917         * tests/test-sqrtl-ieee.c: New file.
2918
2919         New module 'sqrtl-ieee'.
2920         * modules/sqrtl-ieee: New file.
2921
2922         Tests for module 'sqrt-ieee'.
2923         * modules/sqrt-ieee-tests: New file.
2924         * tests/test-sqrt-ieee.c: New file.
2925
2926         New module 'sqrt-ieee'.
2927         * modules/sqrt-ieee: New file.
2928
2929         Tests for module 'sqrtf-ieee'.
2930         * modules/sqrtf-ieee-tests: New file.
2931         * tests/test-sqrtf-ieee.c: New file.
2932         * tests/test-sqrt-ieee.h: New file.
2933
2934         New module 'sqrtf-ieee'.
2935         * modules/sqrtf-ieee: New file.
2936
2937 2012-02-27  Bruno Haible  <bruno@clisp.org>
2938
2939         remainderl-ieee: Work around test failure on OSF/1.
2940         * m4/remainderl-ieee.m4: New file.
2941         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
2942         present, test whether remainderl works with a zero second argument.
2943         Replace it if not.
2944         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
2945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
2946         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
2947         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
2948         (Depends-on): Update conditions.
2949         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
2950         (Depends-on): Add remainder-ieee.
2951         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
2952         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
2953         module.
2954
2955         remainderf-ieee: Work around test failure on OSF/1.
2956         * m4/remainderf-ieee.m4: New file.
2957         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
2958         present, test whether remainderf works with a zero second argument.
2959         Replace it if not.
2960         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
2961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
2962         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
2963         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
2964         (Depends-on): Update conditions.
2965         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
2966         (Depends-on): Add remainder-ieee.
2967         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
2968         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
2969         module.
2970
2971         remainder-ieee: Work around test failure on OSF/1.
2972         * m4/remainder-ieee.m4: New file.
2973         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
2974         present, test whether remainder works with a zero second argument.
2975         Replace it if not.
2976         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
2977         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
2978         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
2979         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
2980         (Depends-on): Update dependencies.
2981         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
2982         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
2983         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
2984
2985         Tests for module 'remainderl-ieee'.
2986         * modules/remainderl-ieee-tests: New file.
2987         * tests/test-remainderl-ieee.c: New file.
2988
2989         New module 'remainderl-ieee'.
2990         * modules/remainderl-ieee: New file.
2991
2992         Tests for module 'remainder-ieee'.
2993         * modules/remainder-ieee-tests: New file.
2994         * tests/test-remainder-ieee.c: New file.
2995
2996         New module 'remainder-ieee'.
2997         * modules/remainder-ieee: New file.
2998
2999         Tests for module 'remainderf-ieee'.
3000         * modules/remainderf-ieee-tests: New file.
3001         * tests/test-remainderf-ieee.c: New file.
3002         * tests/test-remainder-ieee.h: New file.
3003
3004         New module 'remainderf-ieee'.
3005         * modules/remainderf-ieee: New file.
3006
3007 2012-02-27  Bruno Haible  <bruno@clisp.org>
3008
3009         modff, modfl: Fix configure syntax error.
3010         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3011         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3012
3013 2012-02-27  Bruno Haible  <bruno@clisp.org>
3014
3015         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3016         * m4/fmodl-ieee.m4: New file.
3017         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3018         whether fmodl works with zero arguments. Replace it if not.
3019         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3020         (Depends-on): Add fmod-ieee.
3021         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3022         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3023
3024         fmodf-ieee: Work around test failure on OSF/1.
3025         * m4/fmodf-ieee.m4: New file.
3026         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3027         whether fmodf works with zero arguments. Replace it if not.
3028         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3030         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3031         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3032         (Depends-on): Update dependencies.
3033         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3034         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3035         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3036
3037         fmodf-ieee: Work around test failure on MSVC 9.
3038         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3039         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3040
3041         fmod-ieee: Work around test failures on OSF/1, mingw.
3042         * m4/fmod-ieee.m4: New file.
3043         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3044         whether fmod works with zero arguments. Replace it if not.
3045         * lib/math.in.h (fmod): New declaration.
3046         * lib/fmod.c: New file.
3047         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3048         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3049         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3050         * modules/fmod (Files): Add lib/fmod.c.
3051         (Depends-on): Add math, isinf, trunc, fma.
3052         (configure.ac): Arrange to compile lib/fmod.c if needed.
3053         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3054         m4/signbit.m4.
3055         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3056         * tests/test-math-c++.cc: Check the declaration of fmod.
3057         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3058
3059         fmodl-ieee: Fix test failures.
3060         * lib/fmodl.c (fmodl): Treat Inf specially.
3061         * modules/fmodl (Depends-on): Add isinf.
3062
3063         Tests for module 'fmodl-ieee'.
3064         * modules/fmodl-ieee-tests: New file.
3065         * tests/test-fmodl-ieee.c: New file.
3066
3067         New module 'fmodl-ieee'.
3068         * modules/fmodl-ieee: New file.
3069
3070         Tests for module 'fmod-ieee'.
3071         * modules/fmod-ieee-tests: New file.
3072         * tests/test-fmod-ieee.c: New file.
3073
3074         New module 'fmod-ieee'.
3075         * modules/fmod-ieee: New file.
3076
3077         Tests for module 'fmodf-ieee'.
3078         * modules/fmodf-ieee-tests: New file.
3079         * tests/test-fmodf-ieee.c: New file.
3080         * tests/test-fmod-ieee.h: New file.
3081
3082         New module 'fmodf-ieee'.
3083         * modules/fmodf-ieee: New file.
3084
3085 2012-02-27  Bruno Haible  <bruno@clisp.org>
3086
3087         Tests for module 'rintl-ieee'.
3088         * modules/rintl-ieee-tests: New file.
3089         * tests/test-rintl-ieee.c: New file.
3090
3091         New module 'rintl-ieee'.
3092         * modules/rintl-ieee: New file.
3093
3094         Tests for module 'rint-ieee'.
3095         * modules/rint-ieee-tests: New file.
3096         * tests/test-rint-ieee.c: New file.
3097
3098         New module 'rint-ieee'.
3099         * modules/rint-ieee: New file.
3100
3101         Tests for module 'rintf-ieee'.
3102         * modules/rintf-ieee-tests: New file.
3103         * tests/test-rintf-ieee.c: New file.
3104         * tests/test-rint-ieee.h: New file.
3105
3106         New module 'rintf-ieee'.
3107         * modules/rintf-ieee: New file.
3108
3109 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3110
3111         regex: re_search etc. should return -2 when memory exhausted
3112         This bug was uncovered when testing 'grep'.  Without the fix,
3113         re_search and friends return -1 when memory is exhausted, but -1
3114         means no match, and this causes grep to falsely report no-match
3115         instead of memory-exhaustion.  See
3116         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3117         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3118         trouble; this can occur if re_search_internal ran out of memory.
3119
3120 2012-02-26  Bruno Haible  <bruno@clisp.org>
3121
3122         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3123         * m4/modfl-ieee.m4: New file.
3124         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3125         whether modfl works with Inf. Replace it if not.
3126         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3128         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3129         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3130         (Depends-on): Update dependencies.
3131         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3132         m4/signbit.m4.
3133         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3134         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3135
3136         modfl-ieee: Fix dependencies.
3137         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3138
3139         modfl-ieee: Fix test failures.
3140         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3141         * modules/modfl (Depends-on): Add isfinite, isinf.
3142
3143         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3144         * m4/modff-ieee.m4: New file.
3145         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3146         whether modff works with NaN and Inf. Replace it if not.
3147         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3149         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3150         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3151         (Depends-on): Update dependencies.
3152         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3153         m4/signbit.m4.
3154         (Depends-on): Add modf-ieee.
3155         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3156         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3157
3158         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3159         * m4/modf-ieee.m4: New file.
3160         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3161         whether modf works with NaN and Inf. Replace it if not.
3162         * lib/math.in.h (modf): New declaration.
3163         * lib/modf.c: New file.
3164         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3166         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3167         * modules/modf (Files): Add lib/modf.c.
3168         (Depends-on): Add math, isfinite, trunc, isinf.
3169         (configure.ac): Addrange to compile lib/modf.c if needed.
3170         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3171         m4/signbit.m4.
3172         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3173         * tests/test-math-c++.cc: Check the declaration of modf.
3174         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3175
3176         Tests for module 'modfl-ieee'.
3177         * modules/modfl-ieee-tests: New file.
3178         * tests/test-modfl-ieee.c: New file.
3179
3180         New module 'modfl-ieee'.
3181         * modules/modfl-ieee: New file.
3182
3183         Tests for module 'modf-ieee'.
3184         * modules/modf-ieee-tests: New file.
3185         * tests/test-modf-ieee.c: New file.
3186
3187         New module 'modf-ieee'.
3188         * modules/modf-ieee: New file.
3189
3190         Tests for module 'modff-ieee'.
3191         * modules/modff-ieee-tests: New file.
3192         * tests/test-modff-ieee.c: New file.
3193         * tests/test-modf-ieee.h: New file.
3194
3195         New module 'modff-ieee'.
3196         * modules/modff-ieee: New file.
3197
3198 2012-02-26  Bruno Haible  <bruno@clisp.org>
3199
3200         Tests for module 'fabsl-ieee'.
3201         * modules/fabsl-ieee-tests: New file.
3202         * tests/test-fabsl-ieee.c: New file.
3203
3204         New module 'fabsl-ieee'.
3205         * modules/fabsl-ieee: New file.
3206
3207         Tests for module 'fabs-ieee'.
3208         * modules/fabs-ieee-tests: New file.
3209         * tests/test-fabs-ieee.c: New file.
3210
3211         New module 'fabs-ieee'.
3212         * modules/fabs-ieee: New file.
3213
3214         Tests for module 'fabsf-ieee'.
3215         * modules/fabsf-ieee-tests: New file.
3216         * tests/test-fabsf-ieee.c: New file.
3217         * tests/test-fabs-ieee.h: New file.
3218
3219         New module 'fabsf-ieee'.
3220         * modules/fabsf-ieee: New file.
3221
3222 2012-02-26  Bruno Haible  <bruno@clisp.org>
3223
3224         Tests for module 'fmal-ieee'.
3225         * modules/fmal-ieee-tests: New file.
3226         * tests/test-fmal-ieee.c: New file.
3227
3228         New module 'fmal-ieee'.
3229         * modules/fmal-ieee: New file.
3230
3231         Tests for module 'fma-ieee'.
3232         * modules/fma-ieee-tests: New file.
3233         * tests/test-fma-ieee.c: New file.
3234
3235         New module 'fma-ieee'.
3236         * modules/fma-ieee: New file.
3237
3238         Tests for module 'fmaf-ieee'.
3239         * modules/fmaf-ieee-tests: New file.
3240         * tests/test-fmaf-ieee.c: New file.
3241         * tests/test-fma-ieee.h: New file.
3242
3243         New module 'fmaf-ieee'.
3244         * modules/fmaf-ieee: New file.
3245
3246 2012-02-26  Bruno Haible  <bruno@clisp.org>
3247
3248         Tests for module 'ldexpl-ieee'.
3249         * modules/ldexpl-ieee-tests: New file.
3250         * tests/test-ldexpl-ieee.c: New file.
3251
3252         New module 'ldexpl-ieee'.
3253         * modules/ldexpl-ieee: New file.
3254
3255         Tests for module 'ldexp-ieee'.
3256         * modules/ldexp-ieee-tests: New file.
3257         * tests/test-ldexp-ieee.c: New file.
3258
3259         New module 'ldexp-ieee'.
3260         * modules/ldexp-ieee: New file.
3261
3262         Tests for module 'ldexpf-ieee'.
3263         * modules/ldexpf-ieee-tests: New file.
3264         * tests/test-ldexpf-ieee.c: New file.
3265         * tests/test-ldexp-ieee.h: New file.
3266
3267         New module 'ldexpf-ieee'.
3268         * modules/ldexpf-ieee: New file.
3269
3270 2012-02-26  Bruno Haible  <bruno@clisp.org>
3271
3272         Refactor frexp*-ieee tests.
3273         * tests/test-frexp-ieee.h: New file.
3274         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3275         (main): Just call test_function.
3276         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3277         (main): Just call test_function.
3278         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3279         (main): Just call test_function.
3280         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3281         * modules/frexp-ieee-tests (Files): Likewise.
3282         * modules/frexpl-ieee-tests (Files): Likewise.
3283
3284         Tests for module 'frexpl-ieee'.
3285         * modules/frexpl-ieee-tests: New file.
3286         * tests/test-frexpl-ieee.c: New file.
3287
3288         New module 'frexpl-ieee'.
3289         * modules/frexpl-ieee: New file.
3290
3291         Tests for module 'frexp-ieee'.
3292         * modules/frexp-ieee-tests: New file.
3293         * tests/test-frexp-ieee.c: New file.
3294
3295         New module 'frexp-ieee'.
3296         * modules/frexp-ieee: New file.
3297
3298         Tests for module 'frexpf-ieee'.
3299         * modules/frexpf-ieee-tests: New file.
3300         * tests/test-frexpf-ieee.c: New file.
3301
3302         New module 'frexpf-ieee'.
3303         * modules/frexpf-ieee: New file.
3304
3305 2012-02-26  Bruno Haible  <bruno@clisp.org>
3306
3307         roundl-ieee tests: More tests.
3308         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3309         (main): Add tests for [MX] shaded specification in POSIX.
3310         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3311         (Depends-on): Add isnanl-nolibm.
3312
3313         round-ieee tests: More tests.
3314         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3315         (main): Add tests for [MX] shaded specification in POSIX.
3316         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3317         (Depends-on): Add isnand-nolibm.
3318
3319         roundf-ieee tests: More tests.
3320         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3321         (main): Add tests for [MX] shaded specification in POSIX.
3322         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3323         (Depends-on): Add isnanf-nolibm.
3324
3325         truncl-ieee tests: More tests.
3326         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3327         (main): Add tests for [MX] shaded specification in POSIX.
3328         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3329         (Depends-on): Add isnanl-nolibm.
3330
3331         trunc-ieee tests: More tests.
3332         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3333         (main): Add tests for [MX] shaded specification in POSIX.
3334         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3335         (Depends-on): Add isnand-nolibm.
3336
3337         truncf-ieee tests: More tests.
3338         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3339         (main): Add tests for [MX] shaded specification in POSIX.
3340         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3341         (Depends-on): Add isnanf-nolibm.
3342
3343         ceill-ieee tests: More tests.
3344         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3345         (main): Add tests for [MX] shaded specification in POSIX.
3346         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3347         (Depends-on): Add isnanl-nolibm.
3348
3349         ceil-ieee tests: More tests.
3350         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3351         (main): Add tests for [MX] shaded specification in POSIX.
3352         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3353         (Depends-on): Add isnand-nolibm.
3354
3355         ceilf-ieee tests: More tests.
3356         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3357         (main): Add tests for [MX] shaded specification in POSIX.
3358         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3359         (Depends-on): Add isnanf-nolibm.
3360
3361         floorl-ieee tests: More tests.
3362         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3363         (main): Add tests for [MX] shaded specification in POSIX.
3364         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3365         (Depends-on): Add isnanl-nolibm.
3366
3367         floor-ieee tests: More tests.
3368         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3369         (main): Add tests for [MX] shaded specification in POSIX.
3370         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3371         (Depends-on): Add isnand-nolibm.
3372
3373         floorf-ieee tests: More tests.
3374         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3375         (main): Add tests for [MX] shaded specification in POSIX.
3376         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3377         (Depends-on): Add isnanf-nolibm.
3378
3379 2012-02-26  Bruno Haible  <bruno@clisp.org>
3380
3381         fpieee: More comments.
3382         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3383
3384 2012-02-25  Bruno Haible  <bruno@clisp.org>
3385
3386         Tests for module 'log10l'.
3387         * modules/log10l-tests: New file.
3388         * tests/test-log10l.c: New file.
3389         * tests/test-math-c++.cc: Check the declaration of log10l.
3390
3391         New module 'log10l'.
3392         * lib/math.in.h (log10l): New declaration.
3393         * lib/log10l.c: New file.
3394         * m4/log10l.m4: New file.
3395         * modules/log10l: New file.
3396         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
3397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
3398         HAVE_DECL_LOG10L.
3399         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
3400         HAVE_DECL_LOG10L.
3401         * doc/posix-functions/log10l.texi: Mention the new module.
3402
3403 2012-02-25  Bruno Haible  <bruno@clisp.org>
3404
3405         fmodl, remainder*: Avoid wrong results due to rounding errors.
3406         * lib/fmodl.c (fmodl): Correct the result if it is not within the
3407         expected bounds.
3408         * lib/remainderf.c (remainderf): Likewise.
3409         * lib/remainder.c (remainder): Likewise.
3410         * lib/remainderl.c (remainderl): Likewise.
3411
3412 2012-02-25  Bruno Haible  <bruno@clisp.org>
3413
3414         Tests for module 'remainderl'.
3415         * modules/remainderl-tests: New file.
3416         * tests/test-remainderl.c: New file.
3417         * tests/test-math-c++.cc: Check the declaration of remainderl.
3418
3419         New module 'remainderl'.
3420         * lib/math.in.h (remainderl): New declaration.
3421         * lib/remainderl.c: New file.
3422         * m4/remainderl.m4: New file.
3423         * modules/remainderl: New file.
3424         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
3425         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
3426         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
3427         HAVE_REMAINDERL.
3428         * doc/posix-functions/remainderl.texi: Mention the new module.
3429
3430 2012-02-25  Bruno Haible  <bruno@clisp.org>
3431
3432         Tests for module 'remainderf'.
3433         * modules/remainderf-tests: New file.
3434         * tests/test-remainderf.c: New file.
3435         * tests/test-math-c++.cc: Check the declaration of remainderf.
3436
3437         New module 'remainderf'.
3438         * lib/math.in.h (remainderf): New declaration.
3439         * lib/remainderf.c: New file.
3440         * m4/remainderf.m4: New file.
3441         * modules/remainderf: New file.
3442         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
3443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
3444         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
3445         HAVE_REMAINDERF.
3446         * doc/posix-functions/remainderf.texi: Mention the new module.
3447
3448 2012-02-25  Bruno Haible  <bruno@clisp.org>
3449
3450         remainder: Support for MSVC.
3451         * lib/math.in.h (remainder): New declaration.
3452         * lib/remainder.c: New file.
3453         * m4/remainder.m4: New file.
3454         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
3455         (Depends-on): Add math, round, fma.
3456         (configure.ac): Use results of gl_FUNC_REMAINDER.
3457         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
3458         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
3459         HAVE_DECL_REMAINDER.
3460         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
3461         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
3462         * tests/test-math-c++.cc: Check the declaration of remainder.
3463         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
3464         problems are fixed.
3465
3466 2012-02-25  Bruno Haible  <bruno@clisp.org>
3467
3468         Tests for module 'fmodl'.
3469         * modules/fmodl-tests: New file.
3470         * tests/test-fmodl.c: New file.
3471         * tests/test-math-c++.cc: Check the declaration of fmodl.
3472
3473         New module 'fmodl'.
3474         * lib/math.in.h (fmodl): New declaration.
3475         * lib/fmodl.c: New file.
3476         * m4/fmodl.m4: New file.
3477         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
3478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
3479         REPLACE_FMODL.
3480         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
3481         REPLACE_FMODL.
3482         * modules/fmodl: New file.
3483         * doc/posix-functions/fmodl.texi: Mention the new module.
3484
3485 2012-02-25  Bruno Haible  <bruno@clisp.org>
3486
3487         Tests for module 'modfl'.
3488         * modules/modfl-tests: New file.
3489         * tests/test-modfl.c: New file.
3490         * tests/test-math-c++.cc: Check the declaration of modfl.
3491
3492         New module 'modfl'.
3493         * lib/math.in.h (modfl): New declaration.
3494         * lib/modfl.c: New file.
3495         * m4/modfl.m4: New file.
3496         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
3497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
3498         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
3499         * modules/modfl: New file.
3500         * doc/posix-functions/modfl.texi: Mention the new module.
3501
3502 2012-02-25  Bruno Haible  <bruno@clisp.org>
3503
3504         Tests for module 'fabsl'.
3505         * modules/fabsl-tests: New file.
3506         * tests/test-fabsl.c: New file.
3507         * tests/test-math-c++.cc: Check the declaration of fabsl.
3508
3509         New module 'fabsl'.
3510         * lib/math.in.h (fabsl): New declaration.
3511         * lib/fabsl.c: New file.
3512         * m4/fabsl.m4: New file.
3513         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
3514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
3515         REPLACE_FABSL.
3516         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
3517         REPLACE_FABSL.
3518         * modules/fabsl: New file.
3519         * doc/posix-functions/fabsl.texi: Mention the new module.
3520
3521 2012-02-25  Bruno Haible  <bruno@clisp.org>
3522
3523         fabs tests: More tests.
3524         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
3525         (zero): New variable.
3526         (main): Add tests for signed zero.
3527         * modules/fabs-tests (Files): Add tests/minus-zero.h.
3528
3529         fabsf tests: More tests.
3530         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
3531         (zero): New variable.
3532         (main): Add tests for signed zero.
3533         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3534
3535 2012-02-24  Bruno Haible  <bruno@clisp.org>
3536
3537         atanl: Provide function definition on MSVC.
3538         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3539         function pointer.
3540         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3541
3542 2012-02-24  Bruno Haible  <bruno@clisp.org>
3543
3544         acosl: Provide function definition on MSVC.
3545         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3546         function pointer.
3547         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3548
3549 2012-02-24  Bruno Haible  <bruno@clisp.org>
3550
3551         asinl: Provide function definition on MSVC.
3552         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3553         function pointer.
3554         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3555
3556 2012-02-24  Bruno Haible  <bruno@clisp.org>
3557
3558         tanl: Provide function definition on MSVC.
3559         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3560         function pointer.
3561         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3562
3563 2012-02-24  Bruno Haible  <bruno@clisp.org>
3564
3565         cosl: Provide function definition on MSVC.
3566         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3567         function pointer.
3568         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3569
3570 2012-02-24  Bruno Haible  <bruno@clisp.org>
3571
3572         sinl: Provide function definition on MSVC.
3573         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3574         function pointer.
3575         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3576
3577 2012-02-24  Bruno Haible  <bruno@clisp.org>
3578
3579         logl: Provide function definition on MSVC.
3580         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3581         function pointer.
3582         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3583
3584 2012-02-24  Bruno Haible  <bruno@clisp.org>
3585
3586         expl: Provide function definition on MSVC.
3587         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3588         function pointer.
3589         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3590
3591 2012-02-24  Bruno Haible  <bruno@clisp.org>
3592
3593         sqrtl: Provide function definition on MSVC.
3594         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3595         a function pointer.
3596         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3597
3598 2012-02-24  Bruno Haible  <bruno@clisp.org>
3599
3600         ceill: Provide function definition on MSVC.
3601         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3602         used as a function pointer.
3603         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3604
3605 2012-02-24  Bruno Haible  <bruno@clisp.org>
3606
3607         floorl: Provide function definition on MSVC.
3608         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3609         used as a function pointer.
3610         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3611
3612 2012-02-24  Bruno Haible  <bruno@clisp.org>
3613
3614         ceilf: Provide function definition on MSVC.
3615         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3616         used as a function pointer.
3617         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3618
3619 2012-02-24  Bruno Haible  <bruno@clisp.org>
3620
3621         floorf: Provide function definition on MSVC.
3622         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3623         used as a function pointer.
3624         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3625
3626 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3627
3628         stdnoreturn: new module
3629         This implements a replacement for C11's <stdnoreturn.h>.
3630         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3631         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3632         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3633         * tests/test-stdnoreturn.c: New files.
3634
3635 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3636
3637         regex: fix false multibyte matches in some regular expressions
3638         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3639         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3640         * lib/regex_internal.c (re_string_skip_chars):
3641         Fix miscomputation of remain_len that may cause incomplete
3642         multi-byte character and false match.
3643
3644 2012-02-24  Jim Meyering  <meyering@redhat.com>
3645
3646         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3647         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3648         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3649         Remove now-unnecessary str''cmp obfuscation.
3650         Suggested by Akim Demaille.
3651
3652 2012-02-24  Bruno Haible  <bruno@clisp.org>
3653
3654         streq: Rename macro.
3655         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3656         * NEWS: Mention the change.
3657         * lib/mbrtowc.c (mbrtowc): Update.
3658         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3659         * lib/wcwidth.c (wcwidth): Update.
3660         Suggested by Akim Demaille and Jim Meyering.
3661
3662 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3663
3664         regex: fix typo in definition of MIN
3665         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3666         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3667
3668 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3669             Bruno Haible  <bruno@clisp.org>
3670
3671         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3672         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3673         entries into a stack-allocated buffer directly.
3674         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3675
3676 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3677             Bruno Haible  <bruno@clisp.org>
3678
3679         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3680
3681          - There were several instances of this pattern:
3682
3683              for (;;) {
3684                n = acl (f, GETACLCNT, 0, NULL);
3685                [ allocate an array A of size N ]
3686                if (acl (f, GETACL, n, a) == n)
3687                  break;
3688              }
3689
3690            This loop might never terminate if some other process is constantly
3691            manipulating the file's ACL.  The loop should be rewritten to
3692            terminate.
3693
3694          - The acl (... GETACLNT ...) call is merely an optimization; its value
3695            is merely a hint as to how big to make the array.  A better
3696            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3697            and just guess a reasonably-big size, growing the size and trying
3698            again if it's not large enough.  This guarantees termination, and
3699            saves a system call.
3700
3701         * lib/acl-internal.h: Include <limits.h>.
3702         (MIN, SIZE_MAX): New macros.
3703         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3704         a stack-allocated buffer, and use malloc if it does not fit. Don't
3705         use GETACLCNT.
3706         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3707
3708 2012-02-19  Bruno Haible  <bruno@clisp.org>
3709
3710         acl: Fix endless loop on Solaris with vxfs.
3711         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3712         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3713         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3714         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3715         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3716         Reported by Bill Jones in
3717         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3718
3719 2012-02-19  Bruno Haible  <bruno@clisp.org>
3720
3721         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3722         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3723         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3724         that this function returns 0 in some more cases.
3725
3726 2012-02-19  Bruno Haible  <bruno@clisp.org>
3727
3728         acl: Update doc references.
3729         * doc/acl-resources.txt: Update links to Solaris documentation.
3730
3731 2012-02-19  Bruno Haible  <bruno@clisp.org>
3732
3733         Fix test failure in many locales on Solaris 11.
3734         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3735         'tr' arguments.
3736         * tests/test-pipe-filter-ii1.c (main): Likewise.
3737         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3738         expressions in the C locale.
3739         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3740         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3741
3742 2012-02-19  Bruno Haible  <bruno@clisp.org>
3743
3744         gnulib-tool: Improve usage message.
3745         * gnulib-tool (func_usage): Move doc of --help and --version to the
3746         section "Operation modes".
3747
3748 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3749
3750         README-release: make it easier to execute commands
3751         * top/README-release: break commands out on to separate lines.
3752
3753 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3754
3755         GNUmakefile: simplify detection of unconfigured trees
3756         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3757         whether the tree make is being run from is already configured or
3758         not.  Related simplifications.
3759
3760 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3761
3762         * gnulib-tool (func_usage): Document --help and --version.
3763
3764 2012-02-11  Jim Meyering  <meyering@redhat.com>
3765
3766         bootstrap: don't exit 0 upon gnulib-tool failure
3767         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3768         its exit status, not 0.
3769
3770 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3771
3772         README-release: various improvements
3773         * top/README-release: Give a command to push changes for the
3774         release.  Add "distcheck" to list of other pre-release checks.
3775         Fix instance of "make stable" which should be "make TYPE".
3776
3777 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3778
3779         maint: replace FSF snail-mail addresses with URLs
3780         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3781         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3782         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3783         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3784         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3785         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3786         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3787         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3788         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3789         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3790         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3791         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3792         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3793         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3794         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3795         * lib/glthread/thread.c, lib/glthread/thread.h:
3796         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3797         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3798         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3799         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3800         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3801         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3802         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3803         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3804         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3805         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3806         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3807         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3808         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3809         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3810         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3811         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3812         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3813         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3814         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3815         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3816         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3817         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3818         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3819         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3820         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3821         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3822         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3823         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3824         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3825         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3826         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3827         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3828         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3829         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3830         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3831         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3832         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3833         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3834         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3835         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3836         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3837         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3838         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3839         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3840         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3841         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3842         * tests/test-poll.c, tests/test-quotearg-simple.c:
3843         * tests/test-quotearg.c, tests/test-quotearg.h:
3844         * tests/test-round-ieee.c, tests/test-round1.c:
3845         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3846         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3847         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3848         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3849         * tests/test-strerror.c, tests/test-strerror_r.c:
3850         * tests/test-strsignal.c, tests/test-strverscmp.c:
3851         * tests/test-xmemdup0.c:
3852         Replace FSF snail mail addresses with URLs, as per GNU coding
3853         standards.  See glibc bug
3854         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3855
3856 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3857
3858         README-release: capitalize a word and split a line
3859         * top/README-release: Fix punctuation and spacing.
3860
3861 2012-02-08  Akim Demaille  <demaille@gostai.com>
3862
3863         fatal-signal: use C prototypes (with explicit void).
3864         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3865         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3866
3867 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3868
3869         regex: spelling fix
3870         * lib/regexec.c: spelling fix
3871
3872         regex: rely on stdint.h for SIZE_MAX
3873         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3874
3875 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3876
3877         regex: merge glibc changes
3878
3879         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3880         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3881         (init_word_char): Work even if bitset words are not exactly 32 or
3882         64 bits wide.  Don't assume there are no padding bits.
3883         * lib/regex.c [_LIBC]: Do not include <config.h>.
3884         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3885         and -Wtype-limits.
3886         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3887         needless disagreement with glibc.  All uses changed.  Define it to
3888         1 only if _GNU_SOURCE, to match glibc.
3889         (_REG_RM_NAME): Remove; no longer needed, since the names in
3890         question are now all protected by __USE_GNU.
3891         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3892         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3893         * lib/regex_internal.h (MIN): New macro.
3894
3895         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3896         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3897
3898         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3899         * lib/regex_internal.c (re_string_fetch_byte_case):
3900         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3901         is miscompiled, and it turns out it is because of an incorrect
3902         attribute on re_string_fetch_byte_case.  Unlike
3903         re_string_peek_byte_case, this one is really not pure, it modifies
3904         memory (increments pstr->cur_idx), and with the pure attribute GCC
3905         assumed it doesn't and it cached the presumed value of
3906         regexp->cur_idx in a variable across the
3907          for (;; ++i)
3908            {
3909              if (i >= BRACKET_NAME_BUF_SIZE)
3910                return REG_EBRACK;
3911              if (token->type == OP_OPEN_CHAR_CLASS)
3912                ch = re_string_fetch_byte_case (regexp);
3913              else
3914                ch = re_string_fetch_byte (regexp);
3915              if (re_string_eoi(regexp))
3916                return REG_EBRACK;
3917              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3918                break;
3919              elem->opr.name[i] = ch;
3920            }
3921
3922         2011-11-29 Andreas Schwab <schwab@redhat.com>
3923         * lib/regcomp.c (build_equiv_class):
3924         Fix access after end of search string in regex matcher.
3925
3926         2011-11-12 Ulrich Drepper <drepper@redhat.com>
3927         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
3928
3929         2011-10-12 Ulrich Drepper <drepper@redhat.com>
3930         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
3931
3932         2011-10-11 Ulrich Drepper <drepper@redhat.com>
3933         * lib/regcomp.c (parse_branch, parse_sub_exp):
3934         More regex memory leak fixes and tests.
3935         (parse_sub_exp, parse_bracket_exp):
3936         Fix memory leak for some invalid regular expressions.
3937
3938         2011-05-28 Ulrich Drepper <drepper@gmail.com>
3939         * lib/regex_internal.c, lib/regexec.c:
3940         Fix unnecessary overallocation due to incomplete character.  When
3941         incomplete characters are found at the end of a string the code
3942         ran amok and allocated lots of memory.  Stricter limits are now in
3943         place.
3944
3945         2011-05-20 Reuben Thomas <rrt@sc3d.org>
3946         * lib/regex.h: Update documentation.
3947
3948         2011-05-16 Aharon Robbins <arnold@skeeve.com>
3949         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
3950
3951         2010-05-05 Andreas Schwab <schwab@redhat.com>
3952         * lib/regexec.c (find_collation_sequence_value):
3953         Fix lookup of collation sequence value during regexp matching.
3954
3955         2010-01-22 Ulrich Drepper <drepper@redhat.com>
3956         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
3957
3958         2008-01-16 Ulrich Drepper <drepper@redhat.com>
3959         * lib/regex.h: Cleanup namespace.
3960
3961         2007-11-26 Ulrich Drepper <drepper@redhat.com>
3962         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
3963
3964         2007-08-26 Ulrich Drepper <drepper@redhat.com>
3965         * lib/regex_internal.h: Prevent some declarations and definitions
3966         to be seen when used in tests.
3967
3968         2005-05-06 Ulrich Drepper <drepper@redhat.com>
3969         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
3970         __libc_lock_* macros if not _LIBC.
3971         (struct re_dfa_t): Add lock.
3972
3973 2012-02-07  Eric Blake  <eblake@redhat.com>
3974
3975         maint.mk: also prohibit lower-case @var@
3976         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
3977         lower case, like @top_srcdir@.
3978
3979 2012-02-04  Eric Blake  <eblake@redhat.com>
3980
3981         canonicalize: avoid uninitialized memory use
3982         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
3983         random '/' left in dest.
3984         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
3985
3986 2012-02-04  Bruno Haible  <bruno@clisp.org>
3987
3988         isatty: Fix test failure of ptsname_r on native Windows.
3989         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
3990         and don't set errno.
3991         (isatty): Test first whether fd is valid. Set errno when returning 0.
3992
3993 2012-02-04  Bruno Haible  <bruno@clisp.org>
3994
3995         spawn-pipe tests: Fix a NULL program name in a diagnostic.
3996         * tests/test-spawn-pipe-main.c: Include progname.h.
3997         (main): Invoke set_program_name.
3998         * modules/spawn-pipe-tests (Depends-on): Add progname.
3999
4000         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4001         * tests/test-nonblocking-socket-main.c: Include progname.h.
4002         (main): Invoke set_program_name.
4003         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4004
4005         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4006         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4007         (main): Invoke set_program_name.
4008         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4009
4010 2012-02-04  Eric Blake  <eblake@redhat.com>
4011
4012         canonicalize-lgpl: fix // handling
4013         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4014
4015         canonicalize: fix // handling
4016         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4017         /// to //, since only // is special.
4018
4019 2012-02-04  Bruno Haible  <bruno@clisp.org>
4020
4021         ioctl: Fix test failure on native Windows.
4022         * lib/ioctl.c: Include msvc-nothrow.h.
4023         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4024
4025 2012-02-04  Bruno Haible  <bruno@clisp.org>
4026
4027         fsync: Avoid test failure on native Windows.
4028         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4029         read-only.
4030
4031 2012-02-04  Bruno Haible  <bruno@clisp.org>
4032
4033         sys_select: Avoid syntax error on OpenBSD 5.0.
4034         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4035         currently being included, just include the system's <sys/select.h>.
4036
4037 2012-02-04  Bruno Haible  <bruno@clisp.org>
4038
4039         sys_select: Avoid syntax error on OpenBSD 5.0.
4040         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4041         <sys/select.h>, not before.
4042         Reported by Jiri B <jirib@devio.us>.
4043
4044 2012-02-04  Bruno Haible  <bruno@clisp.org>
4045
4046         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4047         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4048         global variables.
4049         * tests/test-get-rusage-data.c (main): Likewise.
4050         Reported by Jim Meyering.
4051
4052 2012-02-04  Bruno Haible  <bruno@clisp.org>
4053
4054         stdioext: Fix last commit.
4055         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4056
4057 2012-02-03  Bruno Haible  <bruno@clisp.org>
4058
4059         stdioext: Add tentative support for Plan9.
4060         * lib/stdio-impl.h: Include <errno.h>.
4061         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4062         * lib/freadable.c (freadable): Likewise.
4063         * lib/fwritable.c (fwritable): Likewise.
4064         * lib/fbufmode.c (fbufmode): Likewise.
4065         * lib/freading.c (freading): Likewise.
4066         * lib/fwriting.c (fwriting): Likewise.
4067         * lib/freadptr.c (freadptr): Likewise.
4068         * lib/freadseek.c (freadptrinc): Likewise.
4069         * lib/freadahead.c (freadahead): Likewise.
4070         * lib/fpurge.c (fpurge): Likewise.
4071         * lib/fseeko.c (rpl_fseeko): Likewise.
4072         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4073         Reported by Jens Staal <staal1978@gmail.com>.
4074
4075 2012-02-02  Jim Meyering  <meyering@redhat.com>
4076
4077         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4078         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4079         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4080         not even to try to add the attribute.  Instead, add a pragma to suppress
4081         the suggestion/warning.
4082
4083 2012-01-31  Karl Berry  <karl@gnu.org>
4084
4085         setstate doc: typo.
4086         * doc/posix-functions/setstate.texi (setstate): { not (.
4087
4088 2012-01-31  Bruno Haible  <bruno@clisp.org>
4089
4090         popen: Make more robust on Windows.
4091         * lib/popen.c: On native Windows, use the _popen based code even if
4092         HAVE_POPEN is set.
4093         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4094         environment variable on native Windows.
4095
4096 2012-01-30  Bruno Haible  <bruno@clisp.org>
4097
4098         pclose: Fix typo.
4099         * lib/stdio.in.h (pclose): Fix typo in warning message.
4100
4101 2012-01-30  Bruno Haible  <bruno@clisp.org>
4102
4103         doc about getlogin_r, setstate.
4104         * doc/posix-functions/getlogin_r.texi: List the incompatible
4105         declaration problem under "not fixed by gnulib".
4106         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4107         problem on Solaris 11 and other platforms.
4108
4109 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4110             Bruno Haible  <bruno@clisp.org>
4111
4112         poll tests: Make test more robust.
4113         * tests/test-poll.c: Include macros.h.
4114         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4115         return value of various I/O operations.
4116         * modules/poll-tests (Files): Add tests/macros.h.
4117
4118 2012-01-30  Bruno Haible  <bruno@clisp.org>
4119
4120         sys_stat: Fix support for mingw64 and MSVC.
4121         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4122         header files already do it.
4123         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4124         stat itself.
4125         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4126
4127 2012-01-30  Bruno Haible  <bruno@clisp.org>
4128
4129         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4131         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4132
4133 2012-01-29  Bruno Haible  <bruno@clisp.org>
4134
4135         quotearg: Fix test failure on MacOS X 10.5.
4136         * tests/test-quotearg-simple.c: Include localcharset.h.
4137         (main): If the locale encoding is not ASCII, bypass the tests of
4138         locale_quoting_style and clocale_quoting_style.
4139         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4140
4141 2012-01-29  Jim Meyering  <meyering@redhat.com>
4142
4143         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4144         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4145         detect uses of canonicalize_file_name.
4146
4147 2012-01-28  Bruno Haible  <bruno@clisp.org>
4148
4149         test-framework-sh: Fix test failure with AIX 7.1 diff.
4150         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4151         in column 1, like 'diff -c' does.
4152         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4153         whether 'diff -u' is used. Instead, test whether the output contains
4154         some '@' character.
4155
4156 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4157
4158         strtoimax: eliminate need for stdint.h, inttypes.h checks
4159         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4160         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4161         the prerequisites for a recently-introduced strtoimax test.
4162         I guess this might cause strtoimax to be replaced when not
4163         strictly necessary on older hosts, but this shouldn't introduce
4164         any bugs and it should make Emacs 'configure' faster on typical
4165         modern hosts.  Problem discovered when importing the latest gnulib
4166         to an Emacs test version.
4167         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4168
4169 2012-01-28  Bruno Haible  <bruno@clisp.org>
4170
4171         sys_time: Override 'struct timeval' on some native Windows platforms.
4172         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4173         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4174         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4175         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4176         needs to be overridden.
4177         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4178         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4179         * tests/test-sys_select.c: Check that the tv_sec member has the same
4180         size as a 'time_t'.
4181         * tests/test-sys_time.c: Likewise.
4182         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4183         is set, set also REPLACE_GETTIMEOFDAY.
4184         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4185         convert the resulting 'struct timeval' before returning.
4186         * lib/select.c: Include <sys/time.h>.
4187         (select, timeval): Undefine at the right place.
4188         * modules/select (Depends-on): Add sys_time.
4189         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4190         some Windows platforms.
4191         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4192
4193 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4194
4195         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4196         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4197         an integer.
4198         * lib/fcntl.c (dupfd): Likewise.
4199         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4200
4201 2012-01-28  Bruno Haible  <bruno@clisp.org>
4202
4203         fcntl: Avoid compilation error on native Windows.
4204         * modules/fcntl (Depends-on): Add 'close'.
4205
4206 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4207
4208         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4209         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4210         pointer to an integer.
4211         * lib/poll.c (IsConsoleHandle): Likewise.
4212         * lib/isatty.c (IsConsoleHandle): Likewise.
4213
4214 2012-01-28  Jim Meyering  <meyering@redhat.com>
4215
4216         doc: clarify README-release
4217         * top/README-release: Clarify: you should make a point to have
4218         the latest stable versions of build tools in your PATH, and the
4219         reference to buildreq is solely for its list of tool names, not
4220         for its minimal-functional version numbers.
4221         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4222
4223         maint.mk: use more readable (yet functionally equivalent) quoting
4224         It is common to quote a single quote in a single quoted string like
4225         this:  '...'\''...'.  Unless you know the idiom, that looks like
4226         gibberish, so prefer to double-quote the string when possible.
4227         Then you can use a more readable, lone single quote: "...'..."
4228         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4229         "don't" is more readable than the equivalent 'don'\''t'.
4230         (sc_cast_of_x_alloc_return_value): Likewise.
4231         (sc_cast_of_alloca_return_value): Likewise.
4232         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4233         rather than '\'':'\''.
4234
4235 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4236
4237         stdalign: relax _Alignof and tighten _Alignas test
4238         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4239         as it was too strict: alignof must divide offsetof, but it need
4240         not equal offsetof.  Inspired by Joseph S. Myers's comment
4241         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4242         Conversely, tighten the _Alignas test a bit, as the resulting
4243         alignment must be exactly 8.
4244
4245 2012-01-27  Bruno Haible  <bruno@clisp.org>
4246
4247         stdalign: Document the last change.
4248         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4249
4250 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4251
4252         stdalign: check that alignof and offsetof are consistent
4253         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4254         Problem reported for gnulib by Richard W.M. Jones in
4255         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4256
4257 2012-01-27  Jim Meyering  <meyering@redhat.com>
4258
4259         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4260         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4261         convert a sequence with gaps to the minimal containing range.
4262         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4263         * tests/test-update-copyright.sh: Test for this.
4264         The FSF confirmed it is ok to do this, assuming there is at
4265         least one significant change per year in the affected range:
4266         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4267
4268 2012-01-26  Bruno Haible  <bruno@clisp.org>
4269
4270         pipe2: refine doc about thread-safety
4271         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4272         multithread-safety problem.
4273         * doc/glibc-functions/accept4.texi: Likewise.
4274
4275 2012-01-26  Bruno Haible  <bruno@clisp.org>
4276
4277         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4278         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4279         In the test program, include <fcntl.h>, for O_RDONLY.
4280
4281 2012-01-26  Eric Blake  <eblake@redhat.com>
4282
4283         pipe2: document lack of thread-safety in replacement
4284         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4285         issue in replacement.
4286         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4287         Based on a report by Eric Wong.
4288
4289 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4290             Bruno Haible  <bruno@clisp.org>
4291
4292         malloca: Avoid warnings on x86_64 mingw64.
4293         * lib/malloca.c: Include <stdint.h>.
4294         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4295         * modules/malloca (Depends-on): Add stdint.
4296         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4297
4298 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4299
4300         obstack: remove __STDC__ conditionals
4301         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4302         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4303         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4304         m4/include_next.m4 as the only gnulib-maintained places that still
4305         refer to __STDC__.
4306
4307 2012-01-24  Bruno Haible  <bruno@clisp.org>
4308
4309         havelib: Modern quoting.
4310         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4311         the recent change to the GNU coding standards.
4312
4313 2012-01-24  Bruno Haible  <bruno@clisp.org>
4314
4315         stdint: Improve support for Android.
4316         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4317         Reported by Simon Josefsson <simon@josefsson.org>.
4318
4319 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4320
4321         doc: omit trailing empty lines from INSTALL etc.
4322         * doc/Makefile (INSTALL): Omit trailing empty lines.
4323         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4324         omit trailing empty lines.  This simplifies the build procedure.
4325
4326 2012-01-23  Jim Meyering  <meyering@redhat.com>
4327
4328         tests: avoid spurious warnings about gl_sockets_startup
4329         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4330         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4331         reporting a "statement with no effect".
4332         * tests/test-accept.c (main): Mark as "(void)".
4333         * tests/test-accept4.c (main): Likewise.
4334         * tests/test-bind.c (main): Likewise.
4335         * tests/test-connect.c (main): Likewise.
4336         * tests/test-getpeername.c (main): Likewise.
4337         * tests/test-getsockname.c (main): Likewise.
4338         * tests/test-getsockopt.c (main): Likewise.
4339         * tests/test-listen.c (main): Likewise.
4340         * tests/test-recv.c (main): Likewise.
4341         * tests/test-recvfrom.c (main): Likewise.
4342         * tests/test-send.c (main): Likewise.
4343         * tests/test-sendto.c (main): Likewise.
4344         * tests/test-setsockopt.c (main): Likewise.
4345         * tests/test-shutdown.c (main): Likewise.
4346
4347 2012-01-21  Bruno Haible  <bruno@clisp.org>
4348
4349         locale-fr.m4: Fix for Android.
4350         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4351         failure of the test program on Bionic libc.
4352
4353 2012-01-21  Jim Meyering  <meyering@redhat.com>
4354
4355         bootstrap: fail when bootstrap_post_import_hook fails
4356         Otherwise, it's far too easy to miss diagnostics emitted
4357         between gnulib-tool's output and that of running configure.
4358         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4359
4360 2012-01-17  Jim Meyering  <meyering@redhat.com>
4361
4362         maint: enable sc_trailing_blank
4363         * build-aux/pmccabe.css: Remove trailing blanks.
4364         * doc/acl-cygwin.txt: Likewise.
4365         * doc/gnu-oids.texi: Likewise
4366         * cfg.mk: Enable sc_trailing_blank.
4367         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4368
4369 2012-01-17  Jim Meyering  <meyering@redhat.com>
4370
4371         maint: enable sc_prohibit_openat_without_use
4372         * cfg.mk: Enable sc_prohibit_openat_without_use.
4373         Exempt lib/selinux-at.c.
4374
4375 2012-01-17  Jim Meyering  <meyering@redhat.com>
4376
4377         maint: enable sc_prohibit_cloexec_without_use
4378         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4379         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4380
4381 2012-01-17  Jim Meyering  <meyering@redhat.com>
4382
4383         maint: enable sc_prohibit_intprops_without_use
4384         * cfg.mk: Enable sc_prohibit_intprops_without_use
4385         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4386
4387 2012-01-17  Jim Meyering  <meyering@redhat.com>
4388
4389         maint: enable sc_prohibit_hash_pjw_without_use
4390         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4391         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4392         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4393         following " (".
4394
4395 2012-01-17  Jim Meyering  <meyering@redhat.com>
4396
4397         maint: enable double-word-prohibiting rule
4398         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
4399         Exempt three files.
4400
4401 2012-01-17  Jim Meyering  <meyering@redhat.com>
4402
4403         maint: remove empty lines at EOF, but excluding modules/*
4404         Apply syntax rules at home as well as abroad.  Most changes
4405         were induced by running this:
4406           make srcdir=. _build-aux=build-aux -f top/maint.mk \
4407             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
4408             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
4409         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
4410         Exempt modules/* and two binary files.
4411         Also exempt doc/INSTALL*, per request from Bruno Haible.
4412         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
4413         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
4414         * doc/Copyright/request-assign.future: Likewise.
4415         * doc/Copyright/request-disclaim.changes: Likewise.
4416         * doc/INSTALL: Likewise.
4417         * doc/INSTALL.ISO: Likewise.
4418         * doc/INSTALL.UTF-8: Likewise.
4419         * doc/acl-cygwin.txt: Likewise.
4420         * doc/acl-resources.txt: Likewise.
4421         * doc/fdl-1.2.texi: Likewise.
4422         * doc/fdl-1.3.texi: Likewise.
4423         * doc/fdl.texi: Likewise.
4424         * lib/argp-pin.c: Likewise.
4425         * lib/round.c: Likewise.
4426         * lib/unicase/u16-totitle.c: Likewise.
4427         * lib/unictype/block_test.c: Likewise.
4428         * lib/uninorm/canonical-decomposition.c: Likewise.
4429         * m4/README: Likewise.
4430         * m4/relocatable-lib.m4: Likewise.
4431         * tests/test-isnand-nolibm.c: Likewise.
4432         * tests/test-isnand.c: Likewise.
4433         * tests/uninorm/NormalizationTest.txt: Likewise.
4434
4435 2012-01-17  Jim Meyering  <meyering@redhat.com>
4436
4437         maint: add framework to run syntax-check rules against gnulib sources
4438         * cfg.mk: New file, to disable all currently-failing tests.
4439         We'll enable them one by one, as they are made to pass.
4440         * Makefile (sc_maint): New rule.
4441
4442 2012-01-21  Bruno Haible  <bruno@clisp.org>
4443
4444         stdint: Add support for Android.
4445         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
4446         include the system's <stdint.h>.
4447         Reported by Simon Josefsson <simon@josefsson.org>.
4448
4449 2012-01-19  Jim Meyering  <meyering@redhat.com>
4450
4451         bootstrap: add bootstrap_post_import_hook
4452         Bison does still need something like the gnulib_mk_hook whose
4453         invocation I had to remove along with slurp in commit 767ccd40.
4454         Technically, we could get along without it, but doing so would
4455         have required living with a warning and a mandatory post-bootstrap
4456         automake rerun.
4457         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
4458         (bootstrap_post_import_hook): New function.
4459         Invoke it after gnulib-tool --import and before autoreconf.
4460
4461 2012-01-18  Jim Meyering  <meyering@redhat.com>
4462
4463         gitlog-to-changelog: don't use "no_"-prefixed variable name
4464         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
4465         to enable both --cluster and --no-cluster.  Change variable name,
4466         s/\$no_cluster/$cluster/, and reverse usage to match.
4467
4468         gitlog-to-changelog: use "||", not "or" in expressions
4469         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
4470         expressions.
4471
4472 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
4473
4474         gitlog-to-changelog: new option --no-cluster
4475         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
4476         clustering of adjacent commit messages.
4477
4478 2012-01-17  Jim Meyering  <meyering@redhat.com>
4479
4480         maint: spell file systems with two words, not one
4481         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
4482         two words, not one.
4483
4484 2012-01-16  Jim Meyering  <meyering@redhat.com>
4485
4486         bootstrap: add a FIXME comment to ensure we eventually remove the hack
4487         * build-aux/bootstrap (gnulib_tool_options): Add comment.
4488
4489 2012-01-16  Eric Blake  <eblake@redhat.com>
4490
4491         bootstrap: cater to autoconf 2.59
4492         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
4493         is not available.
4494
4495         bootstrap: properly check for libtool
4496         * build-aux/bootstrap (libtoolize): Also run libtool when older
4497         usage is detected.
4498
4499 2012-01-15  Bruno Haible  <bruno@clisp.org>
4500
4501         Improve support for MSVC 9.
4502         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
4503         clashes on MSVC.
4504         * lib/fcntl.in.h: Likewise.
4505         * lib/stdlib.in.h: Likewise.
4506         * lib/sys_stat.in.h: Likewise.
4507
4508 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4509
4510         gnupload: we hold the master copy of this script now
4511         For motivation and more information, see:
4512         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
4513         * build-aux/gnupload: Make it clear in the heading comments that the
4514         master copy of this file is maintained by gnulib.  Since we are at
4515         it, bump its copyright year and ...
4516         ($scriptversion): ... the date in its version.
4517         ($usage): Patches and bug reports should be sent to the gnulib list,
4518         not the automake one.
4519         * config/srclist.txt: Don't try to sync 'gnupload' from automake
4520         anymore.
4521
4522 2012-01-15  Bruno Haible  <bruno@clisp.org>
4523
4524         Fix module 'random'.
4525         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
4526         initstate, setstate are declared.
4527
4528 2012-01-14  Bruno Haible  <bruno@clisp.org>
4529
4530         Tests for module 'random'.
4531         * modules/random-tests: New file.
4532         * tests/test-random.c: New file, based on tests/test-random_r.c.
4533
4534         New module 'random'.
4535         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4536         declarations.
4537         * lib/random.c: New file, based on glibc/stdlib/random.c.
4538         * m4/random.m4: New file.
4539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4540         HAVE_RANDOM.
4541         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4542         * modules/random: New file.
4543         * config/srclist.txt: Add an entry for random.c.
4544         * doc/posix-functions/random.texi: Mention the 'random' module.
4545         * doc/posix-functions/initstate.texi: Likewise.
4546         * doc/posix-functions/setstate.texi: Likewise.
4547         * doc/posix-functions/srandom.texi: Likewise.
4548
4549 2012-01-12  Bruno Haible  <bruno@clisp.org>
4550
4551         random_r: Use common idioms.
4552         * lib/random_r.c: Include <stdlib.h> first.
4553
4554         random_r: Override incompatible API on AIX, OSF/1.
4555         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4556         Override the system function if REPLACE_RANDOM_R is 1.
4557         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4558         and OSF/1, set REPLACE_RANDOM_R.
4559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4560         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4561         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4562         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4563         * doc/glibc-functions/random_r.texi: Likewise.
4564         * doc/glibc-functions/setstate_r.texi: Likewise.
4565
4566         random_r: Support for MSVC 9.
4567         * lib/random_r.c: Include stdint.h, not inttypes.h.
4568
4569 2012-01-12  Eric Blake  <eblake@redhat.com>
4570
4571         inet_ntop: guard extra work by IF_LINT
4572         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4573         better code generation when not checking for warnings.
4574         Suggested by Paul Eggert and Jim Meyering.
4575
4576         strptime: fix regression on mingw
4577         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4578         Fix regression.  Reported by Bruno Haible.
4579
4580 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4581             Bruno Haible  <bruno@clisp.org>
4582
4583         copy-file: add error-code-returning variant.
4584         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4585         (qcopy_file_preserving): New declaration.
4586         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4587         copy_file_preserving. Change return type to 'int'. Don't emit an error
4588         message here.
4589         (copy_file_preserving): New function.
4590         * tests/test-copy-file.c: Include <stdlib.h>.
4591         (main): Test qcopy_file_preserving if the environment variable
4592         NO_STDERR_OUTPUT is set.
4593         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4594         with NO_STDERR_OUTPUT
4595         * tests/test-copy-file-2.sh: Likewise.
4596
4597 2012-01-10  Bruno Haible  <bruno@clisp.org>
4598
4599         copy-file: Use 'quote' module consistently.
4600         * lib/copy-file.c (copy_file_preserving): Use quote().
4601
4602         copy-file: Refactor.
4603         * lib/copy-file.c: Include quote.h.
4604         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4605         message here.
4606         * modules/copy-file (Depends-on): Add quote.
4607
4608         acl: Export qcopy_acl.
4609         * lib/acl.h (qcopy_acl): New declaration.
4610         * lib/copy-acl.c (qcopy_acl): Make non-static.
4611
4612         acl: Rename a local variable.
4613         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4614
4615         acl: Align return values of copy_acl and qcopy_acl.
4616         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4617         maybe < -1.
4618
4619 2012-01-11  Eric Blake  <eblake@redhat.com>
4620
4621         strptime: silence gcc warnings
4622         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4623         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4624         Reported by Daniel P. Berrange.
4625
4626         inet_ntop: silence gcc warning
4627         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4628         Reported by Daniel P. Berrange.
4629
4630 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4631
4632         getloadavg test: skip the test on GNU/Linux without /proc mounted
4633         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4634         file.  When /proc is not mounted, it always fails with ENOENT.
4635         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4636         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4637
4638 2012-01-10  Bruno Haible  <bruno@clisp.org>
4639
4640         regex: Avoid link error on MSVC 9.
4641         * modules/regex (Depends-on): Add wctype.
4642
4643 2012-01-10  Bruno Haible  <bruno@clisp.org>
4644
4645         doc: Mention --with-tests option.
4646         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4647         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4648         --with-tests.
4649         Reported by Reuben Thomas.
4650
4651 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4652
4653         users.txt: order package names lexicographically.
4654         * users.txt: Order package names lexicographically.
4655
4656 2012-01-10  Jim Meyering  <meyering@redhat.com>
4657
4658         maint.mk: fix description in comment
4659         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4660
4661         ignore-value: remove deprecated ignore_ptr function
4662         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4663         * NEWS: Note this.
4664
4665 2012-01-09  Jim Meyering  <meyering@redhat.com>
4666
4667         test-init.sh: avoid a subshell
4668         * tests/test-init.sh: Remove protective subshell.
4669         Suggested by Bernhard Voelker.  While a subshell is normally
4670         required to protect against older shells (Solaris, FreeBSD) that
4671         warn about a missing program before performing redirection, the
4672         shell-selection tests performed by init.sh probably exclude any
4673         offending shell.
4674
4675 2012-01-08  Bruno Haible  <bruno@clisp.org>
4676
4677         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4678         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4679         variable.
4680
4681 2012-01-08  Bruno Haible  <bruno@clisp.org>
4682
4683         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4684         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4685         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4686         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4687         macro.
4688         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4689         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4690         * lib/spawn_faction_addopen.c: Add workaround implementation if
4691         HAVE_WORKING_POSIX_SPAWN.
4692         * modules/spawn (Makefile): Substitute
4693         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4694         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4695         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4697         (Depends-on): Update conditions.
4698         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4699         the Solaris 11 bug.
4700
4701 2012-01-08  Bruno Haible  <bruno@clisp.org>
4702
4703         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4704         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4705         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4706         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4707         macro.
4708         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4709         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4710         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4711         HAVE_WORKING_POSIX_SPAWN.
4712         * modules/spawn (Makefile): Substitute
4713         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4714         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4715         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4716         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4717         (Depends-on): Update conditions.
4718         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4719         the Solaris 11 bug.
4720
4721 2012-01-08  Bruno Haible  <bruno@clisp.org>
4722
4723         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4724         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4725         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4726         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4727         HAVE_WORKING_POSIX_SPAWN.
4728         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4729         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4730         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4731         * lib/spawn_faction_addclose.c: Add workaround implementation if
4732         HAVE_WORKING_POSIX_SPAWN.
4733         * modules/spawn (Makefile): Substitute
4734         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4735         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4736         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4737         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4738         (Depends-on): Update conditions.
4739         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4740         the Solaris 11 bug.
4741
4742 2012-01-08  Bruno Haible  <bruno@clisp.org>
4743
4744         doc: Update for Solaris 11 2011-11.
4745         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4746         * m4/printf.m4: Update comments.
4747
4748 2012-01-08  Bruno Haible  <bruno@clisp.org>
4749
4750         mktime: Avoid compilation error on Solaris 11.
4751         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4752
4753 2012-01-08  Bruno Haible  <bruno@clisp.org>
4754
4755         doc: Small fix.
4756         * doc/posix-headers/nl_types.texi: Correct platforms list.
4757
4758 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4759
4760         Add lgpl-3.0 module.
4761         * MODULES.html.sh (Support for building documentation): Add
4762         lgpl-3.0.
4763         * modules/lgpl-3.0: New file.
4764
4765 2012-01-08  Jim Meyering  <meyering@redhat.com>
4766
4767         select.c: indent with spaces, not TABs
4768         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4769
4770 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4771
4772         quotearg: do not use grave accent for left quote
4773         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4774         locale_quoting_style.
4775         (quotearg_buffer_restyled): Fix example.
4776         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4777
4778 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4779
4780         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4781         Most programs do not have translation catalogs for English and much
4782         less separate catalogs for British and American English.  Drop the
4783         suggestion to translators about these two, and provide it
4784         automatically for Unicode locales.  Like most programs, even those
4785         using American English, we use single quotation marks.  This conflicts
4786         with the American typographic convention, but works better when you
4787         cite the entire error message within double quotes.  It also tries not
4788         to clash with established practice and with what non-gnulib programs
4789         will usually do.
4790         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4791         using an UTF-8 or GB-18030 locale.  The list of other locales with
4792         quotes was provided by Bruno Haible.
4793         (quotearg_buffer_restyled): Adjust instructions to translators.
4794         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4795         text, since this would be wrong when using Unicode.
4796         * modules/quotearg: Depend on c-strcaseeq.
4797
4798 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4799
4800         quotearg: fix Wikipedia link
4801         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4802
4803 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4804
4805         Fix for mingw with MSVC9.
4806         * m4/ld-version-script.m4: Check that compiler rejects version
4807         scripts with syntax errors.  Reported by Bruno Haible
4808         <bruno@clisp.org>.
4809
4810 2012-01-06  Bruno Haible  <bruno@clisp.org>
4811
4812         Talk about "native Windows API", not "Woe32".
4813         * lib/accept4.c: Update comments to mention native Windows.
4814         * lib/execute.c: Likewise.
4815         * lib/fatal-signal.c: Likewise.
4816         * lib/localcharset.c: Likewise.
4817         * lib/nanosleep.c: Likewise.
4818         * lib/nl_langinfo.c: Likewise.
4819         * lib/pclose.c: Likewise.
4820         * lib/pipe-filter-gi.c: Likewise.
4821         * lib/pipe-filter-ii.c: Likewise.
4822         * lib/pipe.c: Likewise.
4823         * lib/pipe2.c: Likewise.
4824         * lib/popen.c: Likewise.
4825         * lib/progreloc.c: Likewise.
4826         * lib/relocatable.c: Likewise.
4827         * lib/sigaction.c: Likewise.
4828         * lib/sigprocmask.c: Likewise.
4829         * lib/spawn-pipe.h: Likewise.
4830         * lib/spawn-pipe.c: Likewise.
4831         * lib/spawni.c: Likewise.
4832         * lib/stat-time.h: Likewise.
4833         * lib/w32spawn.h: Likewise.
4834         * tests/test-isatty.c: Likewise.
4835         * lib/config.charset: More comments.
4836         * doc/gnulib-intro.texi: Mention native Windows.
4837         * doc/posix-functions/_Exit_C99.texi: Likewise.
4838         * doc/posix-headers/fcntl.texi: Likewise.
4839
4840 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4841
4842         argp: Avoid crash if translator uses % characters in a translation.
4843         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4844         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4845
4846 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4847
4848         doc: C11 and C++11 are now official
4849         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4850         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4851         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4852         * modules/stdalign:
4853         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4854
4855 2012-01-06  Bruno Haible  <bruno@clisp.org>
4856
4857         uc-is-grapheme-break tests: Tweak.
4858         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4859         message.
4860
4861 2012-01-06  Bruno Haible  <bruno@clisp.org>
4862
4863         test-init.sh: correct the test for diff -u
4864         * tests/test-init.sh: Also redirect stdout to /dev/null.
4865
4866 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4867
4868         Use ', not `, for quoting output.
4869         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4870         (print_changelog_deltas, get_tool_versions, main program):
4871         * build-aux/git-version-gen:
4872         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4873         * build-aux/move-if-change (help):
4874         * build-aux/useless-if-before-free (usage, main program):
4875         * check-module (parse_module_file, usage)
4876         (find_included_lib_files, check_module):
4877         * lib/argmatch.c (main) [TEST]:
4878         * lib/argp-help.c (_help):
4879         * lib/getopt1.c (main) [TEST]:
4880         * lib/git-merge-changelog.c (usage):
4881         * lib/xstrtol-error.c (xstrtol_error):
4882         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4883         * m4/argz.m4 (gl_FUNC_ARGZ):
4884         * m4/bison.m4 (gl_BISON):
4885         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4886         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4887         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4888         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4889         * m4/gc-random.m4 (gl_GC_RANDOM):
4890         * m4/intl.m4 (gt_CHECK_DECL):
4891         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4892         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4893         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4894         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4895         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4896         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4897         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4898         * tests/test-dirname.c (main):
4899         * tests/test-getpass.c (main):
4900         * tests/test-iconvme.c (main):
4901         * tests/test-parse-datetime.c (LOG):
4902         * tests/test-xstrtoimax.sh:
4903         * tests/test-xstrtol.sh:
4904         * tests/test-xstrtoll.sh:
4905         * tests/test-xstrtoumax.sh:
4906         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
4907         * top/GNUmakefile (abort-due-to-no-makefile):
4908         Quote 'like this', not `like this', as per the recent change to
4909         the GNU coding standards.
4910
4911 2012-01-05  Bruno Haible  <bruno@clisp.org>
4912
4913         strtoimax: Don't force a replacement on systems where intmax_t is int.
4914         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
4915         'intmax_t' is not larger than 'int'.
4916         Reported by Pádraig Brady <P@draigBrady.com>.
4917
4918 2012-01-05  Bruno Haible  <bruno@clisp.org>
4919
4920         doc: Mention NetBSD bugs.
4921         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
4922         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
4923
4924 2012-01-05  Bruno Haible  <bruno@clisp.org>
4925
4926         strtoumax tests: Enhance tests.
4927         * tests/test-strtoumax.c (main): Add tests for large values.
4928
4929 2012-01-05  Bruno Haible  <bruno@clisp.org>
4930
4931         strtoimax: Work around AIX 5.1 bug.
4932         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
4933         definition.
4934         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
4935         Set HAVE_STRTOIMAX.
4936         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
4937         REPLACE_STRTOIMAX.
4938         * modules/inttypes-incomplete (Makefile.am): Substitute
4939         REPLACE_STRTOIMAX.
4940         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
4941         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
4942         (Depends-on): Update conditions.
4943         * tests/test-strtoimax.c (main): Add tests for large values.
4944         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
4945
4946 2012-01-05  Bruno Haible  <bruno@clisp.org>
4947
4948         inttypes: Modernize.
4949         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
4950         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
4951         (Makefile.am): Update inttypes.h rule.
4952
4953 2012-01-05  Jim Meyering  <meyering@redhat.com>
4954
4955         init.sh: don't waste a subshell just to redirect stderr
4956         * tests/init.sh: In testing for diff -u and diff -c, use a
4957         stderr-redirecting exec inside `...` rather than a subshell.
4958
4959         test-init.sh: avoid failure on HP-UX 11.00
4960         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
4961         resolves to diff -c or cmp.  Reported by Bruno Haible.
4962
4963 2012-01-05  Bruno Haible  <bruno@clisp.org>
4964
4965         Tests for module 'strtoull'.
4966         * modules/strtoull-tests: New file.
4967         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
4968
4969 2012-01-05  Bruno Haible  <bruno@clisp.org>
4970
4971         Tests for module 'strtoll'.
4972         * modules/strtoll-tests: New file.
4973         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
4974
4975 2012-01-05  Bruno Haible  <bruno@clisp.org>
4976
4977         Tests for module 'strtoul'.
4978         * modules/strtoul-tests: New file.
4979         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
4980
4981 2012-01-05  Bruno Haible  <bruno@clisp.org>
4982
4983         Tests for module 'strtol'.
4984         * modules/strtol-tests: New file.
4985         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
4986
4987 2012-01-04  Jim Meyering  <meyering@redhat.com>
4988
4989         test-init.sh: accommodate Solaris 5.10's different diff -u output
4990         * tests/test-init.sh: Also exempt @@ lines from the comparison
4991         of diff output, since Solaris 5.10 and GNU diff formats differ.
4992         Reported by Stefano Lattarini.
4993
4994 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4995
4996         test-posixtm: don't assume signed integer wraparound
4997         * tests/test-posixtm.c (main): Don't assume wraparound semantics
4998         after signed integer overflow.  Inspired by (though it may not
4999         fix) Bruno Haible's bug report in
5000         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5001
5002         Spell out "Windows 9x" and "Windows XP".
5003         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5004         "Windows 9x" and "WinXP" with "Windows XP".
5005
5006 2012-01-04  Jim Meyering  <meyering@redhat.com>
5007
5008         test-vc-list-files-cvs.sh: remove obsolete comment
5009         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5010         double exit.  Now that's all encapsulated via skip_ and Exit.
5011
5012 2012-01-04  Bruno Haible  <bruno@clisp.org>
5013
5014         Talk about "native Windows API", not "Win32".
5015         * lib/classpath.c: Update comments to mention native Windows.
5016         * lib/csharpexec.c: Likewise.
5017         * lib/dup2.c: Likewise.
5018         * lib/error.c: Likewise.
5019         * lib/fcntl.c: Likewise.
5020         * lib/filename.h: Likewise.
5021         * lib/findprog.c: Likewise.
5022         * lib/get-rusage-as.c: Likewise.
5023         * lib/get-rusage-data.c: Likewise.
5024         * lib/getpagesize.c: Likewise.
5025         * lib/javaexec.c: Likewise.
5026         * lib/msvc-inval.c: Likewise.
5027         * lib/msvc-nothrow.c: Likewise.
5028         * lib/nanosleep.c: Likewise.
5029         * lib/nonblocking.c: Likewise.
5030         * lib/printf-parse.c: Likewise.
5031         * lib/setlocale.c: Likewise.
5032         * lib/sigaction.c: Likewise.
5033         * lib/strerror_r.c: Likewise.
5034         * lib/tmpdir.c: Likewise.
5035         * lib/vasnprintf.c: Likewise.
5036         * lib/w32spawn.h: Likewise.
5037         * lib/waitpid.c: Likewise.
5038         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5039         * m4/locale-ar.m4: Likewise.
5040         * m4/locale-fr.m4: Likewise.
5041         * m4/locale-ja.m4: Likewise.
5042         * m4/locale-tr.m4: Likewise.
5043         * m4/locale-zh.m4: Likewise.
5044         * m4/printf.m4: Likewise.
5045         * tests/test-cloexec.c: Likewise.
5046         * tests/test-copy-acl.sh: Likewise.
5047         * tests/test-copy-file.sh: Likewise.
5048         * tests/test-file-has-acl.sh: Likewise.
5049         * tests/test-set-mode-acl.sh: Likewise.
5050         * tests/test-dup-safer.c: Likewise.
5051         * tests/test-dup2.c: Likewise.
5052         * tests/test-dup3.c: Likewise.
5053         * tests/test-fcntl.c: Likewise.
5054         * tests/test-nonblocking-pipe.h: Likewise.
5055         * tests/test-nonblocking-socket.h: Likewise.
5056         * tests/test-pipe.c: Likewise.
5057         * tests/test-pipe2.c: Likewise.
5058         * tests/test-spawn-pipe-child.c: Likewise.
5059         * doc/acl-resources.txt: Likewise.
5060         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5061         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5062         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5063         * lib/localcharset.c: Update comments to mention native Windows.
5064         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5065         * lib/localename.c: Likewise.
5066         * lib/progreloc.c: Likewise.
5067         * lib/relocatable.c: Likewise.
5068         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5069         (windows_compute_revents): Renamed from win32_compute_revents.
5070         (windows_compute_revents_socket): Renamed from
5071         win32_compute_revents_socket.
5072         * lib/select.c: Update comments to mention native Windows.
5073         (windows_poll_handle): Renamed from win32_poll_handle.
5074         * m4/threadlib.m4: Update comments to mention native Windows.
5075         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5076         --enable-threads=windows instead of --enable-threads=win32. Set
5077         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5078         * lib/glthread/lock.h: Update comments to mention native Windows.
5079         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5080         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5081         USE_WIN32_THREADS.
5082         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5083         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5084         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5085         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5086         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5087         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5088         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5089         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5090         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5091         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5092         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5093         * tests/test-tls.c: Likewise.
5094         Rationale:
5095         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5096         on both 32-bit and 64-bit Windows systems.
5097         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5098         line of distinction is between "native Windows" on one side and Unix/
5099         POSIX systems on the other side. More details in
5100         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5101         Suggested by Paul Eggert.
5102
5103 2012-01-03  Bruno Haible  <bruno@clisp.org>
5104
5105         isatty: Support for MSVC 9.
5106         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5107         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5108         (_isatty_nothrow): New function.
5109         (isatty): Use it instead of _isatty.
5110         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5111         * lib/poll.c (IsConsoleHandle): Likewise.
5112         * lib/select.c (IsConsoleHandle): Likewise.
5113         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5114         (gl_PREREQ_ISATTY): New macro.
5115         * modules/isatty (Depends-on): Add msvc-inval.
5116         (configure.ac): Invoke gl_PREREQ_ISATTY.
5117
5118 2012-01-03  Jim Meyering  <meyering@redhat.com>
5119
5120         maint.mk: remove temporary transition aid from over 1.5 years ago
5121         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5122         purpose was to aid in the transition (avoiding silent malfunction)
5123         from that old name to the new _sc_search_regexp.  This shim was
5124         added by commit 219c504b.
5125
5126         init.sh: do not try to accommodate compare arguments starting with "-"
5127         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5128         compare arguments that start with "-".  Besides, we do not worry
5129         about this when invoking diff or cmp; why start now with sed?
5130         Using "--" to separate options from argument would trigger sed
5131         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5132         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5133
5134 2012-01-02  Bruno Haible  <bruno@clisp.org>
5135
5136         Enhance tests for module 'isatty'.
5137         * modules/isatty-tests (Depends-on): Add pipe-posix.
5138         * tests/test-isatty.c: Include <fcntl.h>.
5139         (DEV_NULL): New macro.
5140         (main): Test the resut of isatty() also on regular files, pipes, and
5141         /dev/null.
5142
5143         New module 'isatty'.
5144         * lib/unistd.in.h (isatty): New declaration.
5145         * lib/isatty.c: New file, based on an idea of
5146         Bastien Roucariès <roucaries.bastien@gmail.com>.
5147         * m4/isatty.m4: New file.
5148         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5149         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5150         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5151         REPLACE_ISATTY.
5152         * modules/isatty: New file.
5153         * doc/posix-functions/isatty.texi: Mention the new module.
5154         Suggested by Paolo Bonzini.
5155
5156 2012-01-02  Bruno Haible  <bruno@clisp.org>
5157
5158         canonicalize: Tweak 2011-12-29 commit.
5159         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5160         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5161
5162 2012-01-02  Jim Meyering  <meyering@redhat.com>
5163
5164         gitlog-to-changelog: describe input syntax in --help output
5165         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5166
5167         gitlog-to-changelog: fix typo in --help: show backslash before email @
5168         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5169         in sources, but not in actual output.
5170
5171 2011-12-30  Jim Meyering  <meyering@redhat.com>
5172
5173         gitlog-to-changelog: don't malfunction when name contains %-directive
5174         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5175         in a name string cause trouble.  E.g., with a user name of "%s",
5176         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5177
5178 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5179
5180         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5181         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5182         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5183         the "  (tiny change)" notation that is appended to the standard
5184         ChangeLog "date  name  email" header line.
5185
5186 2012-01-01  Jim Meyering  <meyering@redhat.com>
5187
5188         test-framework-sh: init.sh: fix "make dist" failure
5189         When using gnulib-tool's --with-tests option and any module that
5190         depends on test-framework-sh, "make dist" would fail due to the
5191         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5192         in the gltests directory, and not in the gllib/ directory.
5193         One way to work around that is to move the EXTRA_DIST += init.sh
5194         from the primary module to the -tests one:
5195         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5196         * modules/test-framework-sh (Makefile.am): ...not here.
5197         Reported by Tom G. Christensen in
5198         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5199
5200         version-etc: update copyright year reported by --version
5201         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5202
5203 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5204
5205         canonicalize: only stat() if required
5206         * lib/canonicalize.c (canonicalize_filename_mode):
5207         Avoid calling l?stat() when both CAN_MISSING,
5208         and CAN_NOLINKS are set, as we neither need
5209         to resolve symlinks or test component existence.
5210
5211 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5212
5213         doc: cover st_ino issues once; add OpenVMS etc.
5214         * doc/posix-functions/stat.texi (stat):
5215         * doc/posix-functions/lstat.texi (lstat):
5216         * doc/posix-functions/fstatat.texi (fstatat):
5217         * doc/posix-functions/fstat.texi (fstat):
5218         Move general 'struct stat' stuff to sys_stat.texi,
5219         leaving behind a pointer.
5220         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5221         Merge duplicate info about 'struct stat' problems into here.
5222         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5223         and suggest partial workarounds.
5224
5225         same-inode: port to OpenVMS
5226         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5227         three st_ino values.
5228
5229 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5230
5231         canonicalize: fix references to stat() and lstat()
5232         * lib/canonicalize.c (canonicalize_filename_mode):
5233         Ensure references always resolve to a replacement
5234         function if required (even via a macro).
5235
5236 2011-12-30  Jim Meyering  <meyering@redhat.com>
5237
5238         gitlog-to-changelog: remove a little duplication
5239         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5240         rather than twice.
5241
5242 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5243
5244         canonicalize: add support for not resolving symlinks
5245         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5246         indicate we don't want to follow symlinks.  Also
5247         provide CAN_MODE_MASK to aid setting these existing
5248         mutually exclusive values.
5249         * lib/canonicalize.c (canonicalize_filename_mode):
5250         Extract the flags from can_mode parameter, which
5251         are currently just used to select between stat()
5252         and lstat().  Also ensure that mutually exclusive
5253         values are flagged immediately as invalid.
5254         * tests/test-canonicalize.c: Verify symlinks are
5255         not followed, and that invalid flag combinations
5256         are diagnosed.
5257
5258 2011-12-25  Jim Meyering  <meyering@redhat.com>
5259
5260         gitlog-to-changelog: do not clump multi-paragraph entries
5261         Identical header lines (date,name,email+coauthors) are suppressed,
5262         thus putting all entries with those same characteristics under
5263         a single header.  However, when a log entry consists of two or
5264         more paragraphs, it may not be clear where it starts and ends.
5265         This change makes it so that such an entry is always separated
5266         from others by a header line, even when that header would
5267         otherwise be suppressed.
5268         * build-aux/gitlog-to-changelog: Implement the above.
5269         Inspired by a related request from Stefano Lattarini in
5270         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5271
5272 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5273
5274         announce-gen: fix `cmd' typo in diagnostic
5275         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5276         diagnostic: a missing '$' meant that the command was not output.
5277
5278 2011-12-23  Jim Meyering  <meyering@redhat.com>
5279
5280         test-framework-sh: distribute init.sh
5281         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5282         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5283         fail due to the lack of init.sh.
5284
5285         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5286         * modules/atexit-tests: Rather than listing tests/init.sh,
5287         now that there's a module for it, simply depend on that new module.
5288         * modules/closein-tests: Likewise.
5289         * modules/exclude-tests: Likewise.
5290         * modules/getcwd-tests: Likewise.
5291         * modules/perror-tests: Likewise.
5292         * modules/pread-tests: Likewise.
5293         * modules/pwrite-tests: Likewise.
5294         * modules/vc-list-files-tests: Likewise.
5295         * modules/verify-tests: Likewise.
5296         * modules/xalloc-die-tests: Likewise.
5297         * modules/xstrtoimax-tests: Likewise.
5298         * modules/xstrtol-tests: Likewise.
5299         * modules/xstrtoll-tests: Likewise.
5300         * modules/xstrtoumax-tests: Likewise.
5301         * modules/yesno-tests: Likewise.
5302
5303 2011-12-22  Jim Meyering  <meyering@redhat.com>
5304
5305         test-framework-sh: add minimal tests of init.sh's compare function
5306         * modules/test-framework-sh-tests: New file.
5307         * tests/test-init.sh: New file.
5308
5309         test-framework-sh: new module
5310         * modules/test-framework-sh: New file.
5311         * MODULES.html.sh (Support for maintaining and releasing projects):
5312         List it.
5313
5314         init.sh: do not emit simulated diff output to stderr
5315         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5316
5317 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5318
5319         .gitignore: ignore gnulib.dvi and regex.info
5320         * doc/.gitignore:add gnulib.dvi and regex.info
5321
5322 2011-12-22  Jim Meyering  <meyering@redhat.com>
5323
5324         init.sh: correct previous change
5325         * tests/init.sh (compare): My previous change was wrong.
5326         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5327
5328         init.sh: avoid unwarranted test failure when using "set -e"
5329         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5330         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5331         a use like "compare exp out" would get evoke an unconditional failure.
5332
5333 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5334
5335         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5336         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5337         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5338         autoreconf that did not.
5339         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5340         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5341
5342 2011-12-17  Jim Meyering  <meyering@redhat.com>
5343
5344         bootstrap: remove some now-unneeded code
5345         This script arose back when gnulib-tool was young.
5346         Since then, it has seen improvements that render much of this
5347         script unnecessary.  In particular, it can now make symlinks
5348         to the files it uses.  Also, I no longer see as much value in
5349         marking files as read-only via comments.
5350         If you relied on the symlink-creation feature of the preceding
5351         version of this script, you can get most of that functionality
5352         by adding the --symlink option to the definition of
5353         gnulib_tool_option_extras in your bootstrap.conf file.
5354         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5355         Run autopoint and libtoolize *before* gnulib-tool.
5356         After it, run an abbreviated autoreconf, rather than a loop around
5357         all tools.
5358         (slirp, bt_mark_as_generated): Remove functions.
5359
5360 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5361
5362         ftoastr: fix typo
5363         * lib/ftoastr.h: Fix misspelling in comment.
5364
5365 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5366
5367         * top/README-release: fix punctuation.
5368
5369 2011-12-17  Jim Meyering  <meyering@redhat.com>
5370
5371         bootstrap: correct the recent buildreq change
5372         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5373         had no effect.
5374         * build-aux/bootstrap (buildreq): Bracket each search term with
5375         "*...*", so that the shell "case" statement works as intended.
5376         Add comments.
5377
5378 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5379
5380         build: let bootstrap resort to wget when downloading .po files
5381         * build-aux/bootstrap (download_po_files): Fallback to wget when
5382         downloading the .po files via rsync fails.  This is necessary to
5383         bootstrap from behind a strict firewall.
5384
5385 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5386
5387         stdint: don't assume C++11 when compiling with g++
5388         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5390         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5391         work also in C++ before C++11, as that improperly inhibits
5392         generating a substitute stdint.h for that case.
5393
5394 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5395
5396         alloca: protect comment from gnulib-tool
5397         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
5398         that gnulib-tool doesn't think it's a license, and munge it to
5399         say "GCC version 3".
5400
5401 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
5402
5403         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
5404         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
5405         $(abs_top_builddir) instead of $(top_builddir).
5406
5407 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
5408
5409         strftime-tests: also test nanoseconds
5410         * tests/test-strftime.c (T): Add a test of %N.
5411
5412 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5413
5414         inttypes, stdint: add C++11 support
5415         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
5416         when including inttypes.h and stdint.h.  Support this change to
5417         the standard.
5418         * doc/posix-headers/inttypes.texi (inttypes.h):
5419         * doc/posix-headers/stdint.texi (stdint.h): Document this.
5420         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
5421         Define if not defined already, for the benefit of pre-C++11 hosts.
5422         Define the standard format macros (e.g., PRId8) always.
5423         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
5424         Likewise, if __cpluspus.  Define the standard constant and limit
5425         macros (e.g., INT8_C, INT8_MAX) always.
5426         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
5427         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
5428         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
5429         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
5430         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
5431         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
5432         Likewise.
5433
5434 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
5435
5436         nonblocking tests: Fix test failure on Linux/PPC.
5437         Suggested by Prerna Saxena in
5438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
5439         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
5440         Set to 1100000.
5441
5442 2011-12-12  Jim Meyering  <meyering@redhat.com>
5443
5444         argmatch: don't hard-code `' when listing valid option arguments
5445         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
5446         use the quote function to add quotes.  Use fputs rather than
5447         fprintf for the format string with no format directive.
5448
5449 2011-12-07  Eric Blake  <eblake@redhat.com>
5450
5451         bootstrap: detect tools required by gnulib-tool
5452         * build-aux/bootstrap (buildreq): Provide minimum implicit
5453         dependencies.
5454         * DEPENDENCIES: Mention patch as a prereq.
5455
5456 2011-12-04  Bruno Haible  <bruno@clisp.org>
5457
5458         sethostname: Port to Windows platforms.
5459         * lib/sethostname.c: Provide an alternate implementation for Windows
5460         platforms.
5461         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
5462         (main): Skip the test if sethostname() fails with EPERM. On Windows
5463         platforms, don't check the result of gethostname().
5464
5465 2011-12-04  Bruno Haible  <bruno@clisp.org>
5466             Jim Meyering  <meyering@redhat.com>
5467
5468         tests: Avoid spurious error message on platforms without mktemp program.
5469         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
5470
5471 2011-12-04  Bruno Haible  <bruno@clisp.org>
5472
5473         sethostname: Fix documentation.
5474         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
5475         "not fixed" section.
5476
5477 2011-12-03  Bruno Haible  <bruno@clisp.org>
5478
5479         gnulib-tool: Verify that the License field is present and non-empty.
5480         * gnulib-tool (func_get_license_raw): New function, extracted from
5481         func_get_license.
5482         (func_get_license): Use it. Warn if the module is not a test module and
5483         has no license.
5484         Suggested by Jim Meyering.
5485
5486 2011-12-03  Bruno Haible  <bruno@clisp.org>
5487
5488         sethostname tests: Fix link error on mingw.
5489         * tests/test-sethostname1.c: New file, extracted from
5490         tests/test-sethostname.c.
5491         * tests/test-sethostname2.c: New file, extracted from
5492         tests/test-sethostname.c.
5493         * tests/test-sethostname.c: Remove file.
5494         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
5495         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
5496         (Depends-on): Add gethostname.
5497         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
5498         Link the latter with $(GETHOSTNAME_LIB).
5499
5500         sethostname tests: Fix compilation error on mingw.
5501         * tests/test-sethostname.c: Don't include <sys/types.h>.
5502         (geteuid): Use a dummy value without uid_t.
5503         * modules/sethostname-tests (Depends-on): Remove sys_types.
5504
5505         sethostname tests: Avoid a gcc warning.
5506         * tests/test-sethostname.c (main): Remove an unused variable.
5507
5508         Tweak last commit.
5509         * modules/sethostname-tests (Files): Sort by decreasing importance.
5510         (configure.ac): Check for geteuid.
5511         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
5512         the test when there's nothing to test. Drop an unnecessary cast.
5513         Improve an error message. Verify that the final sethostname() call
5514         succeeds.
5515
5516 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5517
5518         Add a test suite for the sethostname module.
5519         * modules/sethostname-tests: New file.  A test program
5520         for the sethostname module.
5521         * tests/test-sethostname.c: Likewise.
5522
5523 2011-12-03  Bruno Haible  <bruno@clisp.org>
5524
5525         Tweak last commit.
5526         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
5527         Fix preprocessor directives indentation. Fix typos.
5528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
5529         * modules/unistd (Makefile): Likewise.
5530
5531 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5532
5533         Integrate the sethostname module into unistd.
5534         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5535         into the unistd.h header.
5536         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5537         preprocessor directives.
5538         * modules/unistd: Setup the Makefile substitutions of the
5539         SETHOSTNAME preprocessor directives.
5540
5541 2011-12-03  Bruno Haible  <bruno@clisp.org>
5542
5543         Tweak last commit.
5544         * lib/sethostname.c: Don't include <string.h>.
5545         (sethostname): No need to copy the argument string to the stack. Don't
5546         call clearerr. Preserve errno when fprintf failed.
5547         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5548         Don't invoke AC_REPLACE_FUNCS.
5549         * modules/sethostname (Link): Remove empty section.
5550         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5551         failure problem.
5552
5553 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5554
5555         New module 'sethostname'.
5556         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5557         for systems that lack it.
5558         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5559         sethostname declaration and function.
5560         * modules/sethostname: New file.  Define the sethostname module.
5561
5562 2011-12-03  Bruno Haible  <bruno@clisp.org>
5563
5564         Tweak last commit.
5565         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5566
5567 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5568
5569         Split the HOST_NAME_MAX detection into a separate m4 macro.
5570         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5571         macro so it can be used by the pending sethostname module.
5572
5573 2011-12-03  Bruno Haible  <bruno@clisp.org>
5574
5575         Fix module descriptions syntax.
5576         * modules/argv-iter (License): Fix syntax.
5577         * modules/di-set (License): Likewise.
5578         * modules/ino-map (License): Likewise.
5579         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5580
5581 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5582
5583         stdalign: port to Clang 3.0
5584         Problem reported by Simon Josefsson in
5585         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5586         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5587         which has <stdalign.h> but which does not define alignof.
5588         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5589
5590 2011-12-01  Eric Blake  <eblake@redhat.com>
5591
5592         mktempd: silence dd usage
5593         * build-aux/mktempd (rand_bytes): Silence dd.
5594
5595 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5596
5597         manywarnings: Don't mention gcc version in docstring.
5598         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5599         Jim Meyering <meyering@redhat.com>.
5600
5601 2011-11-30  Jim Meyering  <meyering@redhat.com>
5602
5603         hash: mark a few floating point constants with "f" suffix
5604         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5605         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5606         floating point constants with "f", since they're destined to be
5607         saved/used as "float"s.
5608
5609 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5610
5611         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5612         * tests/test-float.c (test_long_double): Correct and re-enable the
5613         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5614
5615 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5616
5617         Avoid subtracting two pointers that don't point into the same block.
5618         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5619         only pointers into the same memory block are subtracted. We cannot
5620         assume that sizeof (ptrdiff_t) == sizeof (void *).
5621
5622 2011-11-29  Eric Blake  <eblake@redhat.com>
5623
5624         maint.mk: add syntax check for use of compare from init.sh
5625         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5626         moved here from coreutils.
5627
5628         manywarnings: drop -Wunsuffixed-float-constants
5629         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5630         '1.0D', which is the only way to silence this warning for 'double'.
5631
5632 2011-11-29  Jim Meyering  <meyering@redhat.com>
5633
5634         hash: mark compute_bucket_size with the pure attribute
5635         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5636
5637         quotearg, propername: correct pragma guard expression
5638         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5639         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5640
5641 2011-11-28  Jim Meyering  <meyering@redhat.com>
5642
5643         propername: do not mark proper_name with the const attribute
5644         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5645         since it examines data pointed to by its parameter.
5646         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5647         the suggestion from -Wsuggest-attribute=const.
5648
5649         propername: mark one more function as const
5650         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5651
5652 2011-11-27  Jim Meyering  <meyering@redhat.com>
5653
5654         mark functions with const and pure attributes
5655
5656         Mark functions per suggestions from gcc-4.6 when using these options:
5657         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5658         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5659         Follow these guidelines: when possible, apply the attribute to
5660         an extern declaration, not to its definition.  Apply it to the
5661         definition only when the definition is static.
5662         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5663         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5664         * lib/base64.h (isbase64): Likewise.
5665         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5666         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5667         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5668         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5669         (c_tolower, c_toupper): Likewise.
5670         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5671         * lib/chdir-long.c (find_non_slash): Likewise.
5672         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5673         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5674         * lib/file-type.h (file_type): Likewise.
5675         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5676         * lib/filevercmp.c (verrevcmp): Likewise.
5677         * lib/freadahead.h (freadahead): Likewise.
5678         * lib/fts.c (fts_maxarglen): Likewise.
5679         * lib/hash-pjw.h (hash_pjw): Likewise.
5680         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5681         * lib/hash.c (is_prime, next_prime): Likewise.
5682         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5683         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5684         (hash_table_ok, hash_get_first, hash_string): Likewise.
5685         (compute_bucket_size): Likewise.
5686         * lib/i-ring.h (i_ring_empty): Likewise.
5687         * lib/isnan.c (isnanl): Likewise.
5688         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5689         * lib/memcasecmp.h (memcasecmp): Likewise.
5690         * lib/memchr2.h (memchr2): Likewise.
5691         * lib/memcmp2.h (memcmp2): Likewise.
5692         * lib/parse-datetime.y (lookup_zone): Likewise.
5693         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5694         [!WINDOWS_SOCKETS]: Likewise.
5695         * lib/strnlen1.h (strnlen1): Likewise.
5696         * lib/uniwidth.in.h (uc_width): Likewise.
5697         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5698         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5699         (quoting_options_from_style): Add a comment.
5700         * lib/propername.h (proper_name): Add a comment.
5701
5702 2011-11-27  Bruno Haible  <bruno@clisp.org>
5703
5704         Remove unused macros from !_LIBC code in glibc-borrowed files.
5705         * lib/fnmatch.c (STRCOLL): Remove macro.
5706         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5707         * lib/glob.c (__stat, __readdir64): Remove macros.
5708         * lib/tempname.c (__open64, __xstat64): Remove macros.
5709         Suggested by Paul Eggert.
5710
5711 2011-11-27  Bruno Haible  <bruno@clisp.org>
5712
5713         getcwd: Fix link error on MSVC 9.
5714         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5715
5716 2011-11-27  Bruno Haible  <bruno@clisp.org>
5717
5718         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5719         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5720         HAVE_OPENDIR is 0.
5721         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5722         HAVE_CLOSEDIR is 0.
5723         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5724         is 0.
5725         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5726
5727 2011-11-27  Bruno Haible  <bruno@clisp.org>
5728
5729         getcwd: Fix bug from 2011-08-17.
5730         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5731         platforms that need it.
5732         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5733         code of 4 to be a failure, not a success. This ensures that
5734         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5735
5736 2011-11-27  Bruno Haible  <bruno@clisp.org>
5737
5738         binary-io tests: Avoid test failure on mingw when libtool is used.
5739         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5740         Don't verify the size of t-bin-out1.tmp here.
5741         * tests/test-binary-io.sh: Verify it here.
5742         Reported by Simon Josefsson.
5743
5744 2011-11-26  Bruno Haible  <bruno@clisp.org>
5745
5746         Fix conflict between two instantiations of module 'unistd'.
5747         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5748         ${include_guard_prefix} also in the autoconf snippet.
5749         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5750         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5751         GNULIB_UNISTD_H_GETOPT.
5752         * modules/getopt-posix (configure.ac): Set the
5753         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5754         * modules/getopt-gnu (configure.ac): Likewise.
5755         * modules/unistd (Makefile.am): Change the substitution value of
5756         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5757         Reported by Simon Josefsson.
5758
5759 2011-11-25  Bruno Haible  <bruno@clisp.org>
5760
5761         pagealign_alloc: Doc and comments.
5762         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5763         module.
5764         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5765
5766 2011-11-25  Jim Meyering  <meyering@redhat.com>
5767
5768         test-update-copyright.sh: avoid false-positive failure
5769         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5770         around false positive failure on Cygwin/Windows.  The latter was
5771         matching erroneously-created files with names like
5772         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5773
5774 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5775
5776         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5777         * m4/valgrind-tests.m4: Check that the parameters that will be
5778         used works, not just a subset of them.  Reported by Bruno Haible
5779         <bruno@clisp.org>.
5780
5781 2011-11-24  Jim Meyering  <meyering@redhat.com>
5782
5783         test-stdalign.c: comment out long double tests
5784         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5785         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5786         error: '_Alignas' specifiers cannot reduce alignment of \
5787         'static_longdouble_alignas'.
5788
5789 2011-11-22  Jim Meyering  <meyering@redhat.com>
5790
5791         init.sh: make "compare /dev/null FILE" output more readable
5792         * tests/init.sh (compare_): Document the preferred order of arguments.
5793         (emit_diff_u_header_): New function.
5794         (compare_dev_null_): Emit a simulated diff, rather than just the
5795         contents of the unexpected file.  Suggestion from Bruno Haible.
5796
5797 2011-11-21  Jim Meyering  <meyering@redhat.com>
5798             Eric Blake  <eblake@redhat.com>
5799
5800         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5801         * tests/init.sh: Make our compare function slightly more portable.
5802         Reported by Bruno Haible in
5803         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5804
5805 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5806
5807         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5808         before using it, in code that ends up in config.h.
5809
5810 2011-11-20  Bruno Haible  <bruno@clisp.org>
5811
5812         getcwd: Work around getcwd bug on AIX 5..7.
5813         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5814         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5815         Use a different value for gl_cv_func_getcwd_path_max. Move the
5816         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5817         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5818         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5819         Define HAVE_MINIMALLY_WORKING_GETCWD.
5820         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5821         where it is not even minimally working, that is, on AIX.
5822         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5823         m4/getcwd-path-max.m4.
5824         (main): Update exit code computation.
5825         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5826         getcwd does not handle long file names.
5827
5828 2011-11-20  Bruno Haible  <bruno@clisp.org>
5829
5830         getcwd: Fix bug from 2009-09-10.
5831         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5832         like "no".
5833
5834 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5835
5836         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5837
5838 2011-11-20  Bruno Haible  <bruno@clisp.org>
5839
5840         fma tests: Avoid shadowing local variables.
5841         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5842         expected.
5843
5844 2011-11-20  Bruno Haible  <bruno@clisp.org>
5845
5846         copysignf tests: Fix.
5847         * tests/test-copysignf.c: Fix signature check.
5848
5849 2011-11-20  Bruno Haible  <bruno@clisp.org>
5850
5851         fma: Remove unused code.
5852         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5853         unused macros.
5854
5855 2011-11-20  Bruno Haible  <bruno@clisp.org>
5856
5857         sethostname: Fix doc about AIX.
5858         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5859         sethostname; it has it.
5860
5861         sethostname: Mention more portability problems.
5862         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5863         problem.
5864         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5865
5866 2011-11-19  Bruno Haible  <bruno@clisp.org>
5867
5868         Depend on module fcntl-h when AT_FDCWD is used.
5869         * modules/utimens (Depends-on): Add fcntl-h.
5870         * modules/areadlinkat (Depends-on): Likewise.
5871         * modules/areadlinkat-with-size (Depends-on): Likewise.
5872         * modules/faccessat (Depends-on): Likewise.
5873         * modules/fchmodat (Depends-on): Likewise.
5874         * modules/fchownat (Depends-on): Likewise.
5875         * modules/getcwd (Depends-on): Likewise.
5876         * modules/mkdirat (Depends-on): Likewise.
5877         * modules/mkfifoat (Depends-on): Likewise.
5878         * modules/readlinkat (Depends-on): Likewise.
5879         * modules/symlinkat (Depends-on): Likewise.
5880         * modules/dup2-tests (Depends-on): Likewise.
5881         * modules/fdutimensat-tests (Depends-on): Likewise.
5882         * modules/futimens-tests (Depends-on): Likewise.
5883
5884 2011-11-19  Bruno Haible  <bruno@clisp.org>
5885
5886         euidaccess: Update a comment.
5887         * lib/euidaccess.c: Update comment about platforms with faccessat.
5888
5889 2011-11-19  Bruno Haible  <bruno@clisp.org>
5890
5891         openat: Fix file list.
5892         * modules/openat (Files): Remove lib/at-func.c.
5893
5894 2011-11-19  Bruno Haible  <bruno@clisp.org>
5895
5896         fstatat: Simplify.
5897         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5898         gnulib should define rpl_fstatat, there is a
5899         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5900
5901 2011-11-19  Bruno Haible  <bruno@clisp.org>
5902
5903         Ensure 'inline' can be used in tests/test-utimens-common.h.
5904         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
5905         * modules/futimens-tests (configure.ac): Likewise.
5906         * modules/utimens-tests (configure.ac): Likewise.
5907         * modules/utimensat-tests (configure.ac): Likewise.
5908
5909 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5910
5911         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
5912         not hash_insert0.
5913         (hash_insert_if_absent): Doc fix.
5914
5915 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5916
5917         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
5918
5919 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5920
5921         test-getcwd: disambiguate exit status
5922         * tests/test-getcwd.c (test_long_name): Return 0..7.
5923         (main): Exit with an unambiguous exit status.  The old
5924         code yielded a mysterious mixture of two failure codes.
5925
5926         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
5927         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
5928         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
5929         rpl_fstatat or fstatat.  This should fix the other problem
5930         reported by Kai Habel in
5931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5932         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
5933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
5934         and I reproduced it on a Solaris 8 host we still have in production.
5935
5936 2011-11-18  Jim Meyering  <meyering@redhat.com>
5937
5938         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
5939         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
5940         Add a sentence to the comment.
5941         (hash_insert0): New function that simply calls hash_insert_if_absent.
5942         * lib/hash.h (hash_insert_if_absent): Declare it.
5943         (hash_insert0): Add deprecation attribute.
5944         (_GL_ATTRIBUTE_DEPRECATED): Define.
5945         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
5946         not hash_insert0.
5947         * NEWS: Mention it, even though it's not really an incompatible change.
5948
5949 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
5950
5951         openat: avoid compilation failure due to lack of <errno.h> inclusion
5952         * lib/openat.c: Include <errno.h>.
5953
5954 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5955
5956         * modules/getcwd (Depends-on): Add fdopendir.
5957         This fixes one of the two problems reported by Kai Habel in
5958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5959
5960         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
5961         stdalign problem reported by Ian Beckwith in
5962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
5963         * modules/crypto/gc-arcfour (Depends-on):
5964         Depend conditionally on crypto/arcfour.
5965         * modules/crypto/gc-arctwo (Depends-on):
5966         Depend conditionally on crypto/arctwo.
5967         * modules/crypto/gc-des (Depends-on):
5968         Depend conditionally on crypto/des.
5969         * modules/crypto/gc-hmac-md5 (Depends-on):
5970         Depend conditionally on crypto/hmac-md5.
5971         * modules/crypto/gc-hmac-sha1 (Depends-on):
5972         Depend conditionally on crypto/hmac-sha1.
5973         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
5974         * modules/crypto/gc-md4 (Depends-on):
5975         Depend conditionally on crypto/md4.
5976         * modules/crypto/gc-md5 (Depends-on):
5977         Depend conditionally on crypto/md5.
5978         * modules/crypto/gc-rijndael (Depends-on):
5979         Depend conditionally on crypto/rijndael.
5980         * modules/crypto/gc-sha1 (Depends-on):
5981         Depend conditionally on crypto/sha1.
5982         * modules/crypto/gc-arcfour:
5983         * modules/crypto/gc-arctwo:
5984         * modules/crypto/gc-des:
5985         * modules/crypto/gc-hmac-md5:
5986         * modules/crypto/gc-hmac-sha1:
5987         * modules/crypto/gc-md2:
5988         * modules/crypto/gc-md4:
5989         * modules/crypto/gc-md5:
5990         * modules/crypto/gc-rijndael:
5991         * modules/crypto/gc-sha1:
5992         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
5993         now that the conditional dependencies do the work for us.
5994
5995 2011-11-17  Jim Meyering  <meyering@redhat.com>
5996
5997         tests: factor st_ctime-comparison out of two headers
5998         * tests/test-utimens-common.h (ctime_compare): Define.
5999         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6000         * tests/test-lutimens.h (test_lutimens): Likewise.
6001         * tests/test-utimens.h (test_utimens): Likewise.
6002
6003         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6004         Invoke the test program via an init.sh-using wrapper.
6005         * tests/test-getcwd.sh: New file.
6006         * modules/getcwd-tests (Files): Add it.
6007         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6008
6009 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6010
6011         gitlog-to-changelog: support multi-author commits.
6012         The FSF cares about keeping track of all authors of patches to its
6013         projects, but Git doesn't provide obvious support for multi-author
6014         changesets. Consensus seems to be forming around the use of extra
6015         Signed-off-by inspired lines in the log message formatted as
6016         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6017         multi-author commits between version control systems.
6018         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6019         log message and output in standard ChangeLog multi-author format.
6020         Reported by Peter Rosin <peda@lysator.liu.se>
6021
6022 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6023             Bruno Haible  <bruno@clisp.org>
6024
6025         Fix some modules' file list.
6026         * modules/fstatat (Files): Add m4/lstat.m4.
6027         * modules/openat (Files): Likewise.
6028         * modules/unlinkat (Files): Likewise.
6029
6030 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6031
6032         maint.mk: fix tight-scope.mk generation in VPATH builds.
6033         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6034         reference with $(srcdir) so that the file is found correctly even
6035         when running `make syntax-check' in a VPATH build.
6036
6037 2011-11-13  Bruno Haible  <bruno@clisp.org>
6038             Jim Meyering  <meyering@redhat.com>
6039
6040         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6041         * tests/init.sh (compare): Remove "No differences encountered" or
6042         synonymous output from the 'diff' program.
6043
6044 2011-11-13  Bruno Haible  <bruno@clisp.org>
6045
6046         Makefile: Tweak indentation.
6047         * Makefile: Use tab as first character in every line that contains rule
6048         commands.
6049
6050 2011-11-13  Bruno Haible  <bruno@clisp.org>
6051
6052         Syntax check for copyright statements.
6053         * check-copyright: New file.
6054         * Makefile (sc_check_copyright): New rule.
6055
6056 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6057
6058         * build-aux/git-version-gen: Add --prefix to configure the tag
6059         match string.
6060
6061 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6062
6063         * build-aux/git-version-gen: Add --help and --version.
6064
6065 2011-11-12  Jim Meyering  <meyering@redhat.com>
6066
6067         revamp the other test-exclude?.sh scripts to use init.sh, too
6068         * tests/test-exclude1.sh: Use init.sh.
6069         * tests/test-exclude2.sh: Likewise.
6070         * tests/test-exclude3.sh: Likewise.
6071         * tests/test-exclude4.sh: Likewise.
6072         * tests/test-exclude5.sh: Likewise.
6073         * tests/test-exclude6.sh: Likewise.
6074         * tests/test-exclude7.sh: Likewise.
6075         * tests/test-exclude8.sh: Likewise.
6076         * modules/exclude-tests (Files): List init.sh.
6077
6078         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6079         These shell scripts ignored failure of the binary test-exclude,
6080         so making the latter return 77 didn't cause them to be skipped.
6081         * tests/test-exclude5.sh: Exit with test-exclude's error status
6082         when that program fails.  Revamp to use init.sh.
6083         * tests/test-exclude2.sh: Likewise.
6084
6085         test-exclude: fix a typo
6086         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6087
6088 2011-11-11  Bruno Haible  <bruno@clisp.org>
6089
6090         obstack: Fix compilation error on MSVC 9.
6091         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6092
6093 2011-11-11  Jim Meyering  <meyering@redhat.com>
6094
6095         test-exclude: skip tests rather than failing on deficient systems
6096         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6097         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6098         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6099         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6100
6101 2011-11-10  Bruno Haible  <bruno@clisp.org>
6102
6103         ptsname_r test: Avoid gcc warning on glibc systems.
6104         * tests/test-ptsname_r.c (null_ptr): New function.
6105         (test_errors): Use it.
6106
6107 2011-11-10  Bruno Haible  <bruno@clisp.org>
6108
6109         ptsname_r: Avoid compilation error on OSF/1 5.1.
6110         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6112         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6113         function is not declared or incompatibly declared.
6114         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6115         * modules/ptsname_r (Depends-on, configure.ac): Update.
6116         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6117
6118 2011-11-10  Bruno Haible  <bruno@clisp.org>
6119
6120         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6121         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6122         When cross-compiling, guess yes on all platforms except AIX.
6123         Reported by Ludovic Courtès <ludo@gnu.org>.
6124
6125 2011-11-09  Bruno Haible  <bruno@clisp.org>
6126
6127         ptsname_r tests: Fix bugs.
6128         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6129         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6130
6131 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6132
6133         fstatat: work with cross-compilation
6134         Problem reported by Ludovic Courtès in
6135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6136         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6137         "cross-compiling" and assume the bug is present.  Replace
6138         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6139         an inverted sense, to be more conservative about our assumptions.
6140         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6141
6142 2011-11-09  Bruno Haible  <bruno@clisp.org>
6143
6144         Improve MODULES.html output.
6145         * modules/mkfifoat (Description): Use the word "function".
6146         * modules/readlinkat (Description): Likewise.
6147         * modules/symlinkat (Description): Likewise.
6148
6149 2011-11-09  Eric Blake  <eblake@redhat.com>
6150
6151         ptsname_r-tests: new test module
6152         * modules/ptsname_r-tests: New module.
6153         * tests/test-ptsname_r.c: New file.
6154
6155         ptsname_r: new module
6156         * modules/ptsname_r: New module.
6157         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6158         * lib/ptsname.c (__ptsname_r): Split...
6159         * lib/ptsname_r.c: ...into new file.
6160         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6161         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6162         * modules/stdlib (Makefile.am): Substitute witnesses.
6163         * lib/stdlib.in.h (ptsname_r): Declare it.
6164         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6165         * MODULES.html.sh (Misc): Likewise.
6166         * modules/ptsname (Depends-on): Alter dependency.
6167         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6168
6169 2011-11-09  Jim Meyering  <meyering@redhat.com>
6170
6171         announce-gen: be more concise when there's only one URL+tarball
6172         * build-aux/announce-gen (get_tool_versions): When you distribute
6173         only one type of tarball, combine the first two "Here are..."
6174         sections and make the key-checking grammar independent of
6175         how many tarballs there are.
6176
6177 2011-11-09  Eric Blake  <eblake@redhat.com>
6178
6179         openpty: provide a stub on mingw
6180         * lib/pty.in.h (includes): Provide forward declarations.
6181         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6182
6183         raise: fix mingw handling of SIGPIPE
6184         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6185
6186 2011-11-08  Bruno Haible  <bruno@clisp.org>
6187
6188         More conditional dependencies.
6189         * modules/faccessat (Depends-on): Add conditions.
6190         * modules/fchmodat (Depends-on): Likewise.
6191         * modules/fchownat (Depends-on): Likewise.
6192         * modules/fstatat (Depends-on): Likewise.
6193         * modules/mkfifoat (Depends-on): Likewise.
6194         * modules/readlinkat (Depends-on): Likewise.
6195         * modules/symlinkat (Depends-on): Likewise.
6196         * modules/unlinkat (Depends-on): Likewise.
6197         * modules/utimensat (Depends-on): Likewise.
6198         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6199         * modules/linkat (Depends-on): Refine the conditions.
6200         * modules/renameat (Depends-on): Likewise.
6201
6202 2011-11-08  Bruno Haible  <bruno@clisp.org>
6203
6204         faccessat: Move AC_LIBOBJ invocation to module description.
6205         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6206         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6207         invocation from here...
6208         * modules/faccessat (configure.ac): ... to here. Invoke
6209         gl_PREREQ_FACCESSAT.
6210
6211 2011-11-08  Bruno Haible  <bruno@clisp.org>
6212
6213         faccessat: Simplify autoconf macro.
6214         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6215         gl_FUNC_EUIDACCESS.
6216
6217 2011-11-08  Bruno Haible  <bruno@clisp.org>
6218
6219         renameat: Fix dependencies.
6220         * modules/renameat (Depends-on): Add stdbool.
6221
6222 2011-11-08  Bruno Haible  <bruno@clisp.org>
6223
6224         mkfifoat: Fix module description.
6225         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6226         not gl_UNISTD_MODULE_INDICATOR.
6227
6228 2011-11-08  Bruno Haible  <bruno@clisp.org>
6229
6230         fstatat: Remove unused dependency.
6231         * modules/fstatat (Depends-on): Remove fstat.
6232
6233 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6234
6235         GNUmakefile: behave when Makefile is missing.
6236         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6237
6238 2011-11-08  Bruno Haible  <bruno@clisp.org>
6239
6240         openat: Conditionalize dependencies.
6241         * lib/openat.c: Reduce the scope of some #includes.
6242         * modules/openat (Depends-on): Add conditions.
6243
6244 2011-11-07  Jim Meyering  <meyering@redhat.com>
6245
6246         maint.mk: extract GPG key ID without using a temporary file
6247         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6248         without using a temporary file.  Based on a suggestion from Werner Koch
6249         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6250
6251 2011-11-07  Eric Blake  <eblake@redhat.com>
6252
6253         grantpt: fix typo
6254         * lib/stdlib.in.h (grantpt): Check correct function.
6255
6256         maint.mk: silence new syntax check
6257         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6258
6259 2011-11-06  Bruno Haible  <bruno@clisp.org>
6260
6261         Doc about floating-point and math API.
6262         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6263         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6264
6265 2011-11-06  Bruno Haible  <bruno@clisp.org>
6266
6267         stdalign tests: Skip the test when compiled by Sun C.
6268         * tests/test-stdalign.c (main): Skip the test on Sun C.
6269
6270 2011-11-06  Bruno Haible  <bruno@clisp.org>
6271
6272         ansi-c++-opt: Complete the 2011-06-05 change.
6273         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6274         does not support namespaces, set the variable to "no", not to ":".
6275
6276 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6277
6278         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6279
6280 2011-11-06  Bruno Haible  <bruno@clisp.org>
6281
6282         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6283         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6284         (minus_zerol) [HP-UX]: New macro.
6285         (unary_minus) [HP-UX]: New function.
6286         (copysignl) [HP-UX]: Use unary_minus function.
6287
6288 2011-11-06  Bruno Haible  <bruno@clisp.org>
6289
6290         ldexp, ldexpf, ldexpl: Enhance tests.
6291         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6292         and tests/test-ldexpl.c.
6293         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6294         LDEXP, MIN_EXP, MAX_EXP): New macros.
6295         Include test-ldexp.h.
6296         (main): Just call test_function.
6297         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6298         infinity.h, nan.h.
6299         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6300         MAX_EXP): New macros.
6301         Include test-ldexp.h.
6302         (x, y): Remove variables.
6303         (main): Just call test_function.
6304         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6305         infinity.h, nan.h.
6306         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6307         MAX_EXP): New macros.
6308         Include test-ldexp.h.
6309         (x, y): Remove variables.
6310         (main): Just call test_function.
6311         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6312         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6313         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6314         (Depends-on): Add isnand-nolibm, signbit, float.
6315         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6316         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6317         (Depends-on): Add isnanf-nolibm, signbit, float.
6318
6319 2011-11-06  Bruno Haible  <bruno@clisp.org>
6320
6321         math tests: Cosmetics.
6322         * tests/test-math-c++.cc: Reorder declarations.
6323
6324 2011-11-05  Bruno Haible  <bruno@clisp.org>
6325
6326         fma*: Simplify test.
6327         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6328         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6329
6330         Tests for module 'fmal'.
6331         * modules/fmal-tests: New file.
6332         * tests/test-fmal1.c: New file.
6333         * tests/test-fmal2.c: New file.
6334
6335         New module 'fmal'.
6336         * lib/math.in.h (fmal): New declaration.
6337         * lib/fmal.c: New file.
6338         * m4/fmal.m4: New file.
6339         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6340         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6341         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6342         REPLACE_FMAL.
6343         * modules/fmal: New file.
6344         * doc/posix-functions/fmal.texi: Mention the new module and the various
6345         bugs.
6346
6347         Tests for module 'fmaf'.
6348         * modules/fmaf-tests: New file.
6349         * tests/test-fmaf1.c: New file.
6350         * tests/test-fmaf2.c: New file.
6351
6352         New module 'fmaf'.
6353         * lib/math.in.h (fmaf): New declaration.
6354         * lib/fmaf.c: New file.
6355         * m4/fmaf.m4: New file.
6356         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6357         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6358         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6359         REPLACE_FMAF.
6360         * modules/fmaf: New file.
6361         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6362         bugs.
6363
6364         Tests for module 'fma'.
6365         * modules/fma-tests: New file.
6366         * tests/test-fma1.c: New file.
6367         * tests/test-fma1.h: New file.
6368         * tests/test-fma2.c: New file.
6369         * tests/test-fma2.h: New file.
6370
6371         New module 'fma'.
6372         * lib/math.in.h (fma): New declaration.
6373         * lib/fma.c: New file.
6374         * m4/fma.m4: New file.
6375         * m4/fegetround.m4: New file.
6376         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6377         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6378         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6379         REPLACE_FMA.
6380         * modules/fma: New file.
6381         * doc/posix-functions/fma.texi: Mention the new module and the various
6382         bugs.
6383
6384         Extend gl_MATHFUNC.
6385         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6386         Support 'void' as argument type.
6387         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6388
6389 2011-11-05  Jim Meyering  <meyering@redhat.com>
6390
6391         maint.mk: also prohibit inclusion of dirent.h without use
6392         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6393
6394 2011-11-05  Bruno Haible  <bruno@clisp.org>
6395
6396         ldexpl tests: Avoid test failure on MSVC 9.
6397         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
6398         value. Needed in order to enforce the conversion from a value greater
6399         than LDBL_MAX to Infinity.
6400
6401 2011-11-05  Bruno Haible  <bruno@clisp.org>
6402
6403         New modules 'at-internal', 'openat-h', split off from module 'openat'.
6404         * modules/at-internal: New file, extracted from modules/openat.
6405         * modules/openat-h: New file.
6406         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
6407         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
6408         * modules/openat (Description): Add reference to POSIX function.
6409         (Files): Remove lib/openat.h, lib/openat-proc.c.
6410         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
6411         intprops, unistd.
6412         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
6413         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
6414         gl_FCNTL_MODULE_INDICATOR.
6415         (Include): Remove unistd.h, openat.h.
6416         * modules/areadlinkat (Files): Add lib/at-func.c.
6417         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6418         openat-die, openat-h, save-cwd.
6419         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
6420         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6421         openat-die, openat-h, save-cwd, unistd.
6422         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
6423         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6424         openat-h, save-cwd. Remove fcntl-h, openat.
6425         * modules/fchmodat (Files): Remove lib/openat.h.
6426         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6427         openat, stdbool, unistd.
6428         * modules/fchownat (Files): Remove lib/openat.h.
6429         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6430         openat, stdbool, sys_stat.
6431         * modules/fdopendir (Files): Remove lib/openat-priv.h,
6432         lib/openat-proc.c.
6433         (Depends-on): Add at-internal.
6434         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
6435         * modules/fstatat (Files): Remove lib/openat.h.
6436         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6437         stdbool, unistd.
6438         * modules/fts (Depends-on): Add openat-h.
6439         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
6440         openat.
6441         * modules/mkdirat (Files): Remove lib/openat.h.
6442         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6443         openat, stdbool, sys_stat.
6444         * modules/mkfifoat (Files): Add lib/at-func.c.
6445         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6446         openat-h, save-cwd. Remove fcntl-h, openat.
6447         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
6448         * modules/readlinkat (Files): Add lib/at-func.c.
6449         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6450         openat-h, save-cwd. Remove fcntl-h, openat.
6451         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
6452         openat.
6453         * modules/selinux-at (Files): Add lib/at-func.c.
6454         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6455         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
6456         * modules/symlinkat (Files): Add lib/at-func.c.
6457         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6458         openat-h, save-cwd. Remove fcntl-h, openat.
6459         * modules/unlinkat (Files): Remove lib/openat.h.
6460         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6461         stdbool.
6462         * modules/utimensat (Files): Add lib/at-func.c.
6463         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
6464         openat-die, openat-h, save-cwd.
6465         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
6466         * modules/fdutimensat-tests (Depends-on): Add openat.
6467         * modules/fstatat-tests (Depends-on): Add openat-h.
6468         * modules/readlinkat-tests (Depends-on): Add openat.
6469         * modules/symlinkat-tests (Depends-on): Add openat.
6470
6471 2011-11-05  Bruno Haible  <bruno@clisp.org>
6472
6473         openat: Include <stdbool.h>.
6474         * lib/openat.c: Include <stdbool.h>.
6475
6476 2011-11-04  Bruno Haible  <bruno@clisp.org>
6477
6478         fchownat, renameat, unlinkat: Fix dependencies.
6479         * modules/fchownat (Depends-on): Add fstatat.
6480         * modules/renameat (Depends-on): Likewise.
6481         * modules/unlinkat (Depends-on): Likewise.
6482
6483 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
6484
6485         openat: remove direct dependency on dirent
6486         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
6487         and hasn't been needed ever since fdopendir was split into its own
6488         module on 2009-08-31.
6489         * modules/openat (Depends-on): Remove dirent.
6490
6491 2011-11-04  Bruno Haible  <bruno@clisp.org>
6492
6493         renameat: Optimize code size.
6494         * modules/renameat (configure.ac): Don't compile at-func2.c if
6495         REPLACE_RENAMEAT is 1.
6496
6497 2011-11-04  Bruno Haible  <bruno@clisp.org>
6498
6499         openat tests: Fix file list.
6500         * modules/openat-tests (Files): Add tests/test-open.h.
6501
6502 2011-11-04  Bruno Haible  <bruno@clisp.org>
6503
6504         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
6505         * modules/fchmodat (Depends-on): Add openat-die.
6506         * modules/fchownat (Depends-on): Likewise.
6507         * modules/linkat (Depends-on): Likewise.
6508         * modules/renameat (Depends-on): Likewise.
6509         * modules/openat (Depends-on): Add dirent.
6510
6511 2011-11-04  Jim Meyering  <meyering@redhat.com>
6512
6513         at-func*.c: fix comments
6514         * lib/at-func2.c: Correct/improve first-line comment.
6515         * lib/at-func.c: Correct grammar in first-line comment.
6516
6517 2011-11-04  Bruno Haible  <bruno@clisp.org>
6518
6519         New module 'mkdirat', split off from module 'openat'.
6520         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
6521         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
6522         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
6523         * modules/mkdirat: New file, extracted from modules/openat.
6524         * modules/openat (Files): Remove lib/mkdirat.c.
6525         (Depends-on): Remove mkdir.
6526         (configure.ac): Remove AC_LIBOBJ of mkdirat.
6527         (Include): Remove <sys/stat.h>.
6528         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
6529         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
6530         tests/test-mkdir.h.
6531         (Depends-on): Remove ignore-value.
6532         (Makefile.am): Remove rules for test-mkdirat.
6533         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6534         of module 'openat'.
6535         * NEWS: Mention the change.
6536
6537 2011-11-04  Bruno Haible  <bruno@clisp.org>
6538
6539         closedir: Avoid warning on mingw.
6540         * lib/closedir.c: Include <unistd.h>.
6541
6542 2011-11-04  Bruno Haible  <bruno@clisp.org>
6543
6544         New module 'fstatat', split off from module 'openat'.
6545         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6546         defined.
6547         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6548         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6549         gl_FUNC_FSTATAT.
6550         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6551         * modules/fstatat: New file, extracted from modules/openat.
6552         * modules/openat (Files): Remove lib/fstatat.c.
6553         (Depends-on): Remove lstat.
6554         (configure.ac): Remove AC_LIBOBJ of fstatat.
6555         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6556         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6557         tests/test-lstat.h, tests/test-stat.h.
6558         (Depends-on): Remove getcwd-lgpl.
6559         (Makefile.am): Remove rules for test-fstatat.
6560         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6561         of module 'openat'.
6562         * NEWS: Mention the change.
6563         * modules/getcwd (Depends-on): Add fstatat.
6564         * modules/linkat (Depends-on): Likewise.
6565         * modules/mkfifoat-tests (Depends-on): Likewise.
6566         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6567
6568 2011-11-03  Bruno Haible  <bruno@clisp.org>
6569
6570         New module 'unlinkat', split off from module 'openat'.
6571         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6572         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6573         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6574         * modules/unlinkat: New file, extracted from modules/openat. Correct
6575         the dependency conditions.
6576         * modules/openat (Files): Remove lib/unlinkat.c.
6577         (Depends-on): Remove rmdir, unlink.
6578         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6579         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6580         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6581         tests/test-rmdir.h, tests/test-unlink.h.
6582         (Depends-on): Remove unlinkdir.
6583         (Makefile.am): Remove rules for test-unlinkat.
6584         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6585         of module 'openat'.
6586         * NEWS: Mention the change.
6587         * modules/linkat-tests (Depends-on): Add unlinkat.
6588         * modules/mkfifoat-tests (Depends-on): Likewise.
6589         * modules/readlinkat-tests (Depends-on): Likewise.
6590
6591 2011-11-02  Bruno Haible  <bruno@clisp.org>
6592
6593         New module 'fchmodat', split off from module 'openat'.
6594         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6595         defined.
6596         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6597         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6598         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6599         * modules/fchmodat: New file, extracted from modules/openat.
6600         * modules/openat (Files): Remove lib/fchmodat.c.
6601         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6602         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6603         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6604         (Makefile.am): Remove rules for test-fchmodat.
6605         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6606         of module 'openat'.
6607         * NEWS: Mention the change.
6608
6609 2011-11-02  Jim Meyering  <meyering@redhat.com>
6610
6611         putenv: indent #definition of "environ" to placate cppi
6612         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6613
6614         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6615         Git logs are often treated as immutable, because editing them
6616         changes the SHA1 checksums of all descendants.  Thus, errors in
6617         git logs tend to stay there forever.  However, when we generate
6618         a ChangeLog file -- typically for distribution -- from that git log,
6619         we can actually make corrections in the generated file.  The key
6620         lies in recording in machine-readable/applicable form the desired
6621         corrections.  See --help for description and an example.
6622         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6623         (usage): Describe it; alphabetize option descriptions.
6624         (main): Honor the new option, carefully.
6625
6626 2011-11-01  Jim Meyering  <meyering@redhat.com>
6627
6628         gitlog-to-changelog: avoid an infloop
6629         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6630         that ends up being empty.
6631
6632 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6633
6634         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6635         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6636         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6637         contains (possibly-quoted) backslashes.  This should avoid
6638         all-too-common shell bugs if COMPLICATED contains backslashes in
6639         the "wrong" places.  Reported by David Evans in
6640         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6641         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6642         because we want ASCII ranges.  Is there some reason we don't use
6643         the C locale everywhere in this script?
6644         (func_module, top level): Avoid unwanted pathname expansion when
6645         $repo_url_prefix or $repo_url_suffix_repl contain shell
6646         metacharacters like '?' and '*'.
6647
6648 2011-11-01  Bruno Haible  <bruno@clisp.org>
6649
6650         fchownat: Improve description.
6651         * modules/fchownat (Description): Add link to function.
6652
6653 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6654
6655         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6656         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6658         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6659
6660 2011-11-01  Bruno Haible  <bruno@clisp.org>
6661
6662         alignof: Avoid collision with stdalign module.
6663         * lib/alignof.h (alignof): Remove macro.
6664         * NEWS: Mention the change.
6665         Reported by Paul Eggert.
6666
6667 2011-11-01  Bruno Haible  <bruno@clisp.org>
6668
6669         New module 'fchownat', split off from module 'openat'.
6670         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6671         defined.
6672         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6673         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6674         invoke gl_FUNC_FCHOWNAT.
6675         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6676         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6677         * modules/fchownat: New file, extracted from modules/openat.
6678         * modules/openat (Files): Remove lib/fchownat.c.
6679         (Depends-on): Remove lchown.
6680         (configure.ac): Remove AC_LIBOBJ of fchownat.
6681         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6682         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6683         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6684         (Depends-on): Remove mgetgroups, usleep, stat-time.
6685         (configure.ac): Remove test for getegid.
6686         (Makefile.am): Remove rules for test-fchownat.
6687         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6688         of module 'openat'.
6689         * NEWS: Mention the change.
6690
6691 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6692
6693         stdalign: port better to MSVC and to Sun C 5.11
6694         This fixes some of the problems reported by Bruno Haible in
6695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6696         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6697         shortcomings of MSVC and of Sun C 5.11.
6698         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6699         around __declspec arg.
6700         * modules/stdalign-tests (Files): Add tests/macros.h.
6701         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6702         Include macros.h, for ASSERT.
6703         (DECLARE_ALIGNED): Remove.
6704         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6705         to catch bug), and to 1 if not (simplifies the rest of the code).
6706         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6707         (CHECK_AUTO): Remove.
6708         (CHECK_ALIGNED): Check only the alignment of the static vars,
6709         since auto var alignment isn't supported by Sun C 5.11.
6710         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6711         ASSERT failures are easier to diagnose.
6712
6713 2011-10-31  Bruno Haible  <bruno@clisp.org>
6714
6715         doc about some IRIX 5.3 problems.
6716         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6717         on IRIX 5.3.
6718         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6719         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6720         5.3.
6721         * doc/posix-functions/grantpt.texi: Likewise.
6722         * doc/posix-functions/unlockpt.texi: Likewise.
6723         * doc/posix-functions/lgamma.texi: Likewise.
6724         * doc/posix-functions/nextafter.texi: Likewise.
6725         * doc/posix-functions/remainder.texi: Likewise.
6726         * doc/posix-functions/select.texi: Mention misplaced declaration on
6727         IRIX 5.3.
6728         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6729
6730 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6731
6732         gitlog-to-changelog: fix git-log invocation.
6733         git-log mishandles date strings before 1970-01-01 UTC, and there is
6734         no use to specify --since=1970-01-01 by default anyway.
6735         * build-aux/gitlog-to-changelog: By default, when no --since option
6736         was given, do not specify explicit --since option to git-log.
6737
6738 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6739
6740         gitlog-to-changelog: new option --append-dot.
6741         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6742         first non-blank line of each commit message terminated with a dot.
6743
6744 2011-10-30  Bruno Haible  <bruno@clisp.org>
6745
6746         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6747         * lib/ffsl.h: Include <config.h>.
6748         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6749
6750 2011-10-30  Jim Meyering  <meyering@redhat.com>
6751
6752         GNUmakefile: reenable "make syntax-check" for most projects
6753         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6754         build-aux variable", "syntax-check" would do nothing but succeed with
6755         the "No version control files detected..." diagnostic (unless you
6756         happened to override _build-aux via cfg.mk).
6757         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6758         to precede inclusion of maint.mk.  Otherwise, these variables would
6759         be used undefined in any project that does not override the default.
6760
6761 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6762
6763         gitlog-to-changelog: treat a message with only blank lines as empty.
6764         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6765         trailing blank lines before the code that issues a warning about an
6766         empty commit message.
6767
6768 2011-10-30  Jim Meyering  <meyering@redhat.com>
6769
6770         test-parse-datetime.c: avoid new DST-related false positive test failure
6771         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6772         based on the time/date we'll convert, not the current time.
6773         Otherwise, the moment we cross a DST boundary like today's in
6774         Europe, (CEST to CET), that offset ends up being one hour off.
6775
6776 2011-10-27  Bruno Haible  <bruno@clisp.org>
6777
6778         fstat: Tweak documentation.
6779         * modules/fstat (Description): More precise description.
6780
6781 2011-10-27  Bruno Haible  <bruno@clisp.org>
6782
6783         Update documentation regarding 'largefile' module.
6784         * doc/posix-functions/fstat.texi: Tweak wording.
6785         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6786         problems with huge directories and/or small ino_t types.
6787         * doc/posix-functions/readdir.texi: Likewise.
6788         * doc/posix-functions/rewinddir.texi: Likewise.
6789
6790 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6791
6792         maint.mk: don't maintain a second build-aux variable.
6793         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6794         depends on GNUmakefile, which already maintains a cfg.mk
6795         overridable $(_build-aux) for projects with a non-standard
6796         build-aux directory location, although without the $(srcdir)
6797         prefix.  Use that variable consistently instead of introducing a
6798         second one.  Adjust all call sites.
6799
6800 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6801
6802         Add stdalign module and use it in other modules.
6803         This is based on a previous proposal by Bruno Haible
6804         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6805
6806         stdalign: new module
6807         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6808         * modules/stdalign: New files.
6809         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6810         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6811
6812         stdalign-tests: new module
6813         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6814
6815         argp: use stdalign
6816         * lib/argp-parse.c: Include <stdalign.h>.
6817         (alignof): Remove.
6818         * modules/argp (Depends-on): Add stdalign.
6819
6820         crypto libraries: use stdalign
6821         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6822         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6823         Do not include <stdlib.h> twice, in md4.c.
6824         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6825         because we are accessing a pointer's bit-pattern, not a size.
6826         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6827         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6828         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6829         * modules/crypto/sha512: Likewise.
6830
6831         sys_socket: use stdalign, not alignof
6832         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6833         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6834
6835 2011-10-27  Bruno Haible  <bruno@clisp.org>
6836
6837         raise test: Avoid a test failure on Linux/MIPS.
6838         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6839         because 99 is a valid signal on Linux/MIPS.
6840
6841 2011-10-27  Bruno Haible  <bruno@clisp.org>
6842
6843         nonblocking tests: Fix test failure on Linux/MIPS.
6844         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6845         Set to 270000.
6846
6847 2011-10-27  Bruno Haible  <bruno@clisp.org>
6848
6849         utimensat: Work around problem on Linux/hppa.
6850         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6851         values.
6852         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6853
6854 2011-10-25  Jim Meyering  <meyering@redhat.com>
6855
6856         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6857         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6858         after symbols like NULL, size_t, etc.
6859         Reported by Alfred M. Szmidt.
6860
6861         maint.mk: exempt ENODATA from a syntax-check rule
6862         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6863         from the sc_prohibit_always-defined_macros syntax-check rule.
6864         Add a comment.  See this for more details:
6865         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6866
6867 2011-10-23  Jim Meyering  <meyering@redhat.com>
6868
6869         fts: close parent dir FD before returning from post-traversal fts_read
6870         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6871         unlink A, even though an FD open on A remained.  This is suboptimal
6872         (holding a file descriptor open longer than needed), but otherwise not
6873         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6874         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6875         that represents a real problem: it causes the removal of A to fail
6876         with e.g., "rm: cannot remove `A': Device or resource busy"
6877
6878         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6879         directory file descriptors.  After completing the final, FTS_DP,
6880         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6881         cache, but then proceeded to add a new FD to it via the subsequent
6882         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6883         final file descriptor would be closed only via fts_close's call to
6884         fd_ring_clear.  Now, it is usually closed earlier, via the final
6885         FTS_DP-returning fts_read call.
6886         * lib/fts.c (restore_initial_cwd): New function, converted from
6887         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6888         Update callers.
6889         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6890         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6891
6892 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6893             Bruno Haible  <bruno@clisp.org>
6894             Jim Meyering  <jim@meyering.net>
6895
6896         readme-release: improve safety of release prep instructions.
6897         * README-release: Don't git pull all branches when only master
6898         is needed for the release process.
6899         Run make maintainer-clean before changing trees and merging.
6900         Don't try to run ./configure right after git pull in case files
6901         that influence the bootstrap process have changed, move the
6902         ./configure step to after running ./bootstrap.
6903         Don't bootstrap "one last time"... it's the first time!
6904
6905 2011-10-22  Bruno Haible  <bruno@clisp.org>
6906
6907         errno, strerror-override: Support for MSVC 10.
6908         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
6909         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
6910         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
6911         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
6912         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
6913         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
6914         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
6915         Assign values compatible with MSVC 10.
6916         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
6917         New macros.
6918         (GNULIB_defined_EWINSOCK): New macro.
6919         * lib/strerror-override.c (strerror_override): Update accordingly.
6920         * lib/strerror-override.h: Likewise.
6921         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
6922         longer equal to the corresponding errno value.
6923         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6924
6925 2011-10-22  Bruno Haible  <bruno@clisp.org>
6926
6927         perror: Recognize when test program crashes.
6928         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
6929         strerror, set gl_cv_func_perror_works to no.
6930         Reported by Daniel Richard G. <skunk@iskunk.org>.
6931
6932         perror: Fix indentation.
6933         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
6934
6935 2011-10-22  Bruno Haible  <bruno@clisp.org>
6936
6937         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
6938         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
6939         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
6940         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
6941         functions, not as a macro.
6942         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
6943         macros.
6944         (isfinite, isinf, isnan, signbit): Check overloaded functions and
6945         absence of macro.
6946         Suggested by Eric Blake.
6947         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6948
6949 2011-10-21  Bruno Haible  <bruno@clisp.org>
6950
6951         relocatable-prog-wrapper: Don't leave object files behind.
6952         * build-aux/install-reloc: Re-synchronize list of .o files to be
6953         removed with list of compilation units.
6954
6955 2011-10-20  Bruno Haible  <bruno@clisp.org>
6956
6957         openpty, posix_openpt: Remove code duplication.
6958         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
6959         * lib/openpty.c: Include <stdlib.h>.
6960         (openpty): Use posix_openpt on all platforms except IRIX.
6961         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
6962
6963 2011-10-20  Bruno Haible  <bruno@clisp.org>
6964
6965         unlockpt: Detect invalid argument.
6966         * lib/unlockpt.c: Include <fcntl.h>.
6967         (unlockpt): Check whether fd is valid, using fcntl().
6968         * modules/unlockpt (Depends-on): Add fcntl-h.
6969
6970 2011-10-20  Bruno Haible  <bruno@clisp.org>
6971
6972         openpty: Avoid compilation error on AIX 6.1.
6973         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
6974
6975 2011-10-20  Bruno Haible  <bruno@clisp.org>
6976
6977         posix_openpt: Support for OpenBSD.
6978         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
6979         (posix_openpt) [OpenBSD]: New code.
6980         * lib/grantpt.c: Include <fcntl.h>.
6981         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
6982         * modules/grantpt (Depends-on): Add fcntl-h.
6983
6984 2011-10-20  Bruno Haible  <bruno@clisp.org>
6985
6986         posix_openpt test: Coding style.
6987         * tests/test-posix_openpt.c: Use GNU coding style.
6988
6989 2011-10-20  Bruno Haible  <bruno@clisp.org>
6990
6991         grantpt: Support --avoid=pt_chown.
6992         * modules/grantpt (Files): Add lib/pty-private.h.
6993
6994 2011-10-20  Bruno Haible  <bruno@clisp.org>
6995
6996         posix_openpt: Fix autoconf macro.
6997         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
6998         unneeded check for _getpty.
6999
7000 2011-10-20  Bruno Haible  <bruno@clisp.org>
7001
7002         openpty: Update comments.
7003         * lib/openpty.c: Add comments about Minix.
7004
7005 2011-10-19  Eric Blake  <eblake@redhat.com>
7006
7007         openpty: relax license
7008         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7009
7010         pt_chown: use configmake to simplify build
7011         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7012
7013         ptsname and others: relax license
7014         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7015         * modules/unlockpt (License): Likewise.
7016         * modules/pt_chown (License): Likewise.
7017         * modules/ptsname (License): Likewise.
7018         * modules/ttyname_r (License): Likewise.
7019
7020 2011-10-19  Jim Meyering  <meyering@redhat.com>
7021
7022         posix_openpt: remove spurious #endif
7023         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7024
7025 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7026
7027         maint.mk: Respect $(build_aux) in web-manual rule.
7028         * top/maint.mk (web-manual): Find gen-announce script in user's
7029         $(build_aux) directory instead of hard-coding 'build-aux'.
7030
7031 2011-10-19  Bruno Haible  <bruno@clisp.org>
7032
7033         posix_openpt: Fix compilation error.
7034         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7035         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7036         Mention the openpty module as an alternative.
7037
7038 2011-10-19  Bruno Haible  <bruno@clisp.org>
7039
7040         Support for old NeXTstep 3.3 frexp().
7041         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7042         execution time of the test to 5 seconds.
7043         Reported by Daniel Richard G. <skunk@iskunk.org>.
7044
7045 2011-10-19  Bruno Haible  <bruno@clisp.org>
7046
7047         Support for old NeXTstep 3.3 sed.
7048         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7049         part, use /.../, not \|...|. Escape periods in the header file name.
7050         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7051         Reported by Daniel Richard G. <skunk@iskunk.org>.
7052
7053 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7054
7055         Support for old NeXTstep 3.3 gcc.
7056         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7057         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7058         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7059         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7060         * lib/regex.h (_Restrict_arr_): Likewise.
7061         * lib/regex_internal.h (re_token_t): Likewise.
7062         * lib/regexec.c (check_node_accept_bytes): Likewise.
7063         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7064
7065 2011-10-18  Eric Blake  <eblake@redhat.com>
7066
7067         posix_openpt: new module
7068         * modules/posix_openpt: New module.
7069         * m4/posix_openpt.m4: New file.
7070         * lib/posix_openpt.c: Likewise.
7071         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7072         (gl_STDLIB_H_DEFAULTS): Set defaults.
7073         * modules/stdlib (Makefile.am): Substitute macros.
7074         * lib/stdlib.in.h (posix_openpt): Declare.
7075         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7076         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7077         * modules/posix_openpt-tests: New test module.
7078         * tests/test-posix_openpt.c: New test.
7079
7080 2011-10-15  Bruno Haible  <bruno@clisp.org>
7081
7082         xstrtoll: Fix compilation failure.
7083         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7084         from lib/strtol.c.
7085         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7086         some platforms.
7087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7088
7089 2011-10-15  Bruno Haible  <bruno@clisp.org>
7090
7091         vasnprintf: Optimize bit search operation.
7092         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7094         gl_DOUBLE_EXPONENT_LOCATION.
7095         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7096         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7097         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7098         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7099         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7100         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7101         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7102         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7103         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7104
7105 2011-10-15  Bruno Haible  <bruno@clisp.org>
7106
7107         vasnprintf: Fix comments.
7108         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7109
7110 2011-10-14  Bruno Haible  <bruno@clisp.org>
7111
7112         Tests for module 'integer_length_ll'.
7113         * modules/integer_length_ll-tests: New file.
7114         * tests/test-integer_length_ll.c: New file.
7115
7116         New module 'integer_length_ll'.
7117         * lib/integer_length_ll.c: New file.
7118         * modules/integer_length_ll: New file.
7119
7120 2011-10-14  Bruno Haible  <bruno@clisp.org>
7121
7122         Tests for module 'integer_length_l'.
7123         * modules/integer_length_l-tests: New file.
7124         * tests/test-integer_length_l.c: New file.
7125
7126         New module 'integer_length_l'.
7127         * lib/integer_length_l.c: New file.
7128         * modules/integer_length_l: New file.
7129
7130 2011-10-14  Bruno Haible  <bruno@clisp.org>
7131
7132         Tests for module 'integer_length'.
7133         * modules/integer_length-tests: New file.
7134         * tests/test-integer_length.c: New file.
7135
7136         New module 'integer_length'.
7137         * lib/integer_length.h: New file.
7138         * lib/integer_length.c: New file.
7139         * modules/integer_length: New file.
7140
7141 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7142
7143         popen: Fix dependency conditions.
7144         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7145
7146 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7147
7148         perror: Fix autoconf test.
7149         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7150         <stdlib.h> and <string.h>.
7151
7152 2011-10-14  Bruno Haible  <bruno@clisp.org>
7153
7154         ffsl: Optimize on 64-bit platforms.
7155         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7156         unrolling.
7157
7158 2011-10-13  Bruno Haible  <bruno@clisp.org>
7159
7160         ffsl: Optimize on 32-bit platforms.
7161         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7162         use ffs() without a loop.
7163
7164         ffsl, ffsll: Optimize for GCC.
7165         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7166         * lib/ffsl.c (GCC_BUILTIN): New macro.
7167         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7168
7169 2011-10-13  Bruno Haible  <bruno@clisp.org>
7170
7171         ffs, bcopy, memset: Support symbol renaming via config.h.
7172         * lib/ffs.c: Include <config.h>.
7173         * lib/bcopy.c: Likewise.
7174         * lib/memset.c: Likewise.
7175
7176 2011-10-10  Bruno Haible  <bruno@clisp.org>
7177
7178         atanl: Simplify for platforms where 'long double' == 'double'.
7179         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7180         alternative implementation.
7181         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7182         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7183         * modules/atanl (Depends-on): Add atan. Update conditions.
7184
7185 2011-10-10  Bruno Haible  <bruno@clisp.org>
7186
7187         acosl: Simplify for platforms where 'long double' == 'double'.
7188         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7189         alternative implementation.
7190         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7191         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7192         * modules/acosl (Depends-on): Add acos. Update conditions.
7193
7194 2011-10-10  Bruno Haible  <bruno@clisp.org>
7195
7196         asinl: Simplify for platforms where 'long double' == 'double'.
7197         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7198         alternative implementation.
7199         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7200         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7201         * modules/asinl (Depends-on): Add asin. Update conditions.
7202
7203 2011-10-10  Bruno Haible  <bruno@clisp.org>
7204
7205         tanl: Simplify for platforms where 'long double' == 'double'.
7206         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7207         implementation.
7208         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7209         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7210         * modules/tanl (Depends-on): Add tan. Update conditions.
7211         (configure.ac): Don't compile trigl.c if
7212         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7213
7214 2011-10-10  Bruno Haible  <bruno@clisp.org>
7215
7216         cosl: Simplify for platforms where 'long double' == 'double'.
7217         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7218         implementation.
7219         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7220         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7221         * modules/cosl (Depends-on): Add cos. Update conditions.
7222         (configure.ac): Don't compile sincosl.c and trigl.c if
7223         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7224
7225 2011-10-10  Bruno Haible  <bruno@clisp.org>
7226
7227         sinl: Simplify for platforms where 'long double' == 'double'.
7228         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7229         implementation.
7230         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7231         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7232         * modules/sinl (Depends-on): Add sin. Update conditions.
7233         (configure.ac): Don't compile sincosl.c and trigl.c if
7234         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7235
7236 2011-10-10  Bruno Haible  <bruno@clisp.org>
7237
7238         logl: Simplify for platforms where 'long double' == 'double'.
7239         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7240         implementation.
7241         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7242         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7243         * modules/logl (Depends-on): Add log. Update conditions.
7244
7245 2011-10-10  Bruno Haible  <bruno@clisp.org>
7246
7247         expl: Simplify for platforms where 'long double' == 'double'.
7248         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7249         implementation.
7250         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7251         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7252         * modules/expl (Depends-on): Add exp. Update conditions.
7253
7254 2011-10-10  Bruno Haible  <bruno@clisp.org>
7255
7256         sqrtl: Simplify for platforms where 'long double' == 'double'.
7257         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7258         alternative implementation.
7259         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7260         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7261         * modules/sqrtl (Depends-on): Update conditions.
7262
7263 2011-10-10  Bruno Haible  <bruno@clisp.org>
7264
7265         ldexpl: Simplify for platforms where 'long double' == 'double'.
7266         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7267         alternative implementation.
7268         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7269         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7270         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7271
7272 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7273
7274         ffsll: set correct witness
7275         * modules/ffsll (configure.ac): Fix typo.
7276
7277 2011-10-10  Bruno Haible  <bruno@clisp.org>
7278
7279         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7280         * lib/printf-frexpl.c: Include <config.h>.
7281         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7282         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7283         second time.
7284         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7285         gl_LONG_DOUBLE_VS_DOUBLE.
7286         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7287         conditions.
7288
7289 2011-10-10  Bruno Haible  <bruno@clisp.org>
7290
7291         frexpl: Simplify for platforms where 'long double' == 'double'.
7292         * lib/frexpl.c: Include <config.h>.
7293         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7294         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7295         time.
7296         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7297         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7298         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7299         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7300         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7301         conditions.
7302
7303 2011-10-10  Jim Meyering  <meyering@redhat.com>
7304
7305         test-renameat: don't leave behind a temporary file
7306         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7307           ERROR: files left in build directory after distclean:
7308           ./gltests/test-renameat.too
7309           make[1]: *** [distcleancheck] Error 1
7310         Reported by Tom G. Christensen.
7311
7312 2011-10-09  Bruno Haible  <bruno@clisp.org>
7313
7314         rint: Determine RINT_LIBM correctly on AIX 7.
7315         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7316         directly, not only through a function pointer. Also accept an optional
7317         4th argument with extra code.
7318         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7319         rintf() call by gcc when optimizing.
7320
7321         mathfunc.m4: Refactor.
7322         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7323         m4 variable.
7324
7325 2011-10-09  Bruno Haible  <bruno@clisp.org>
7326
7327         rintl: Simplify for platforms where 'long double' == 'double'.
7328         * lib/rintl.c: Include <config.h>.
7329         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7330         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7331         time.
7332         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7333         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7334         * modules/rintl (Depends-on): Add rint. Update conditions.
7335
7336 2011-10-09  Bruno Haible  <bruno@clisp.org>
7337
7338         roundl: Simplify for platforms where 'long double' == 'double'.
7339         * lib/roundl.c: Include <config.h>.
7340         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7341         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7342         time.
7343         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7344         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7345         * modules/roundl (Depends-on): Add round. Update conditions.
7346
7347 2011-10-09  Bruno Haible  <bruno@clisp.org>
7348
7349         truncl: Simplify for platforms where 'long double' == 'double'.
7350         * lib/truncl.c: Include <config.h>.
7351         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7352         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7353         time.
7354         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7355         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7356         * modules/truncl (Depends-on): Add trunc. Update conditions.
7357
7358 2011-10-09  Bruno Haible  <bruno@clisp.org>
7359
7360         ceill: Simplify for platforms where 'long double' == 'double'.
7361         * lib/ceill.c: Include <config.h>.
7362         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7363         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7364         time.
7365         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7366         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7367         * modules/ceill (Depends-on): Add ceil. Update conditions.
7368
7369 2011-10-09  Bruno Haible  <bruno@clisp.org>
7370
7371         floorl: Simplify for platforms where 'long double' == 'double'.
7372         * lib/floorl.c: Include <config.h>.
7373         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7374         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7375         time.
7376         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7377         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7378         * modules/floorl (Depends-on): Add floor. Update conditions.
7379
7380 2011-10-09  Bruno Haible  <bruno@clisp.org>
7381
7382         rint: Fix ordering constraints.
7383         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7384         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7385         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7386
7387 2011-10-09  Bruno Haible  <bruno@clisp.org>
7388
7389         copysignl: Simplify for platforms where 'long double' == 'double'.
7390         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7391         alternative.
7392         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7393         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7394         * modules/copysignl (Depends-on): Add copysign. Update conditions.
7395
7396 2011-10-09  Bruno Haible  <bruno@clisp.org>
7397
7398         Tests for module 'rintl'.
7399         * modules/rintl-tests: New file.
7400         * tests/test-rintl.c: New file.
7401
7402         New module 'rintl'.
7403         * lib/math.in.h (rintl): New declaration.
7404         * lib/rintl.c: New file.
7405         * m4/rintl.m4: New file.
7406         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
7407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
7408         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
7409         * modules/rintl: New file.
7410         * tests/test-math-c++.cc: Check the declaration of rintl.
7411         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7412         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
7413         * doc/posix-functions/rintl.texi: Mention the new module.
7414
7415 2011-10-09  Bruno Haible  <bruno@clisp.org>
7416
7417         Tests for module 'rintf'.
7418         * modules/rintf-tests: New file.
7419         * tests/test-rintf.c: New file.
7420
7421         New module 'rintf'.
7422         * lib/math.in.h (rintf): New declaration.
7423         * lib/rintf.c: New file.
7424         * m4/rintf.m4: New file.
7425         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
7426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
7427         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
7428         * modules/rintf: New file.
7429         * tests/test-math-c++.cc: Check the declaration of rintf.
7430         * doc/posix-functions/rintf.texi: Mention the new module.
7431
7432 2011-10-09  Bruno Haible  <bruno@clisp.org>
7433
7434         rint: Support for MSVC.
7435         * lib/math.in.h (rint): New declaration.
7436         * lib/rint.c: New file.
7437         * m4/rint.m4: New file.
7438         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
7439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
7440         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
7441         * modules/rint (Description): Fix.
7442         (Files): Add lib/rint.c, m4/rint.m4.
7443         (Depends-on): Add math.
7444         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
7445         gl_MATH_MODULE_INDICATOR.
7446         * tests/test-math-c++.cc: Check the declaration of rint.
7447         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7448         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
7449         * doc/posix-functions/rint.texi: Mention the replacement provided by
7450         the module.
7451
7452         rint tests: More tests.
7453         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
7454         minus-zero.h, infinity.h, nan.h.
7455         (main): Skip the test if the current rounding mode is not standard. Add
7456         tests for negative numbers, minus zero, infinity, NaN.
7457         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
7458         tests/nan.h.
7459         (Depends-on): Add isnand-nolibm.
7460
7461 2011-10-09  Bruno Haible  <bruno@clisp.org>
7462
7463         Tests for module 'copysignl'.
7464         * modules/copysignl-tests: New file.
7465         * tests/test-copysignl.c: New file.
7466
7467         New module 'copysignl'.
7468         * lib/math.in.h (copysignl): New declaration.
7469         * lib/copysignl.c: New file.
7470         * m4/copysignl.m4: New file.
7471         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
7472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
7473         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
7474         HAVE_COPYSIGNL.
7475         * modules/copysignl: New file.
7476         * tests/test-math-c++.cc: Check the declaration of copysignl.
7477         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7478         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
7479         * doc/posix-functions/copysignl.texi: Mention the new module.
7480
7481 2011-10-09  Bruno Haible  <bruno@clisp.org>
7482
7483         Tests for module 'copysignf'.
7484         * modules/copysignf-tests: New file.
7485         * tests/test-copysignf.c: New file.
7486
7487         New module 'copysignf'.
7488         * lib/math.in.h (copysignf): New declaration.
7489         * lib/copysignf.c: New file.
7490         * m4/copysignf.m4: New file.
7491         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
7492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
7493         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
7494         HAVE_COPYSIGNF.
7495         * modules/copysignf: New file.
7496         * tests/test-math-c++.cc: Check the declaration of copysignf.
7497         * doc/posix-functions/copysignf.texi: Mention the new module.
7498
7499 2011-10-09  Bruno Haible  <bruno@clisp.org>
7500
7501         Ensure that HAVE_* variables are set to 1 before they are set to 0.
7502         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
7503         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
7504         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7505         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
7506         gl_SIGNAL_H_DEFAULTS.
7507
7508 2011-10-09  Bruno Haible  <bruno@clisp.org>
7509
7510         poll: Make macro safer.
7511         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
7512         ac_cv_header_poll_h is not set.
7513
7514 2011-10-09  Bruno Haible  <bruno@clisp.org>
7515
7516         copysign: Provide replacement.
7517         * lib/math.in.h (copysign): New declaration.
7518         * lib/copysign.c: New file.
7519         * m4/copysign.m4: New file.
7520         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
7521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
7522         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
7523         HAVE_COPYSIGN.
7524         * modules/copysign (Description): Clarify.
7525         (Files): Add lib/copysign.c, m4/copysign.m4.
7526         (Depends-on): Add math, signbit.
7527         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
7528         gl_MATH_MODULE_INDICATOR.
7529         * tests/test-math-c++.cc: Check the declaration of copysign.
7530         * doc/posix-functions/copysign.texi: Mention the effects of the module
7531         on Minix and MSVC.
7532
7533 2011-10-09  Bruno Haible  <bruno@clisp.org>
7534
7535         isinf: Ensure macro on AIX 5.1.
7536         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7537         macro.
7538         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7539
7540 2011-10-09  Bruno Haible  <bruno@clisp.org>
7541
7542         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7543         * modules/snprintf-posix-tests (configure.ac): Require
7544         gl_LONG_DOUBLE_VS_DOUBLE.
7545         * modules/sprintf-posix-tests (configure.ac): Likewise.
7546         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7547         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7548         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7549         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7550         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7551         tests on platforms where 'long double' is the same as 'double'.
7552         * tests/test-sprintf-posix.h (test_function): Likewise.
7553         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7554         * tests/test-vasprintf-posix.c (test_function): Likewise.
7555
7556         *printf: Fix for platforms where 'long double' == 'double'.
7557         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7558         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7559         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7560         * modules/fprintf-posix (Files): Likewise.
7561         * modules/obstack-printf-posix (Files): Likewise.
7562         * modules/snprintf-posix (Files): Likewise.
7563         * modules/sprintf-posix (Files): Likewise.
7564         * modules/vasnprintf (Files): Likewise.
7565         * modules/vasnprintf-posix (Files): Likewise.
7566         * modules/vasprintf-posix (Files): Likewise.
7567         * modules/vdprintf-posix (Files): Likewise.
7568         * modules/vfprintf-posix (Files): Likewise.
7569         * modules/vsnprintf-posix (Files): Likewise.
7570         * modules/vsprintf-posix (Files): Likewise.
7571         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7572         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7573         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7574         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7575         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7576         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7577         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7578
7579         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7580         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7581         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7582         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7583         'long double'.
7584         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7585
7586         isinf: Fix for platforms where 'long double' == 'double'.
7587         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7588         Don't blindly assume 80-bit 'long double'.
7589
7590         isfinite: Fix for platforms where 'long double' == 'double'.
7591         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7592         Don't blindly assume 80-bit 'long double'.
7593
7594         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7595         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7596         * modules/isfinite-tests (configure.ac): Require
7597         gl_LONG_DOUBLE_VS_DOUBLE.
7598         * modules/isinf-tests (configure.ac): Likewise.
7599         * modules/isnan-tests (configure.ac): Likewise.
7600         * modules/isnanl-tests (configure.ac): Likewise.
7601         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7602         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7603         tests on platforms where 'long double' is the same as 'double'.
7604         * tests/test-isinf.c (test_isinfl): Likewise.
7605         * tests/test-isnan.c (test_long_double): Likewise.
7606         * tests/test-isnanl.h (main): Likewise.
7607
7608 2011-10-08  Bruno Haible  <bruno@clisp.org>
7609
7610         Tests for module 'tanhf'.
7611         * modules/tanhf-tests: New file.
7612         * tests/test-tanhf.c: New file.
7613
7614         New module 'tanhf'.
7615         * lib/math.in.h (tanhf): New declaration.
7616         * lib/tanhf.c: New file.
7617         * m4/tanhf.m4: New file.
7618         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7620         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7621         * modules/tanhf: New file.
7622         * tests/test-math-c++.cc: Check the declaration of tanhf.
7623         * doc/posix-functions/tanhf.texi: Mention the new module.
7624
7625         tanh: Use a .m4 file.
7626         * m4/tanh.m4: New file.
7627         * modules/tanh (Files): Add it.
7628         (configure.ac): Just invoke gl_FUNC_TANH.
7629
7630 2011-10-08  Bruno Haible  <bruno@clisp.org>
7631
7632         Tests for module 'coshf'.
7633         * modules/coshf-tests: New file.
7634         * tests/test-coshf.c: New file.
7635
7636         New module 'coshf'.
7637         * lib/math.in.h (coshf): New declaration.
7638         * lib/coshf.c: New file.
7639         * m4/coshf.m4: New file.
7640         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7642         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7643         * modules/coshf: New file.
7644         * tests/test-math-c++.cc: Check the declaration of coshf.
7645         * doc/posix-functions/coshf.texi: Mention the new module.
7646
7647         cosh: Use a .m4 file.
7648         * m4/cosh.m4: New file.
7649         * modules/cosh (Files): Add it.
7650         (configure.ac): Just invoke gl_FUNC_COSH.
7651
7652 2011-10-08  Bruno Haible  <bruno@clisp.org>
7653
7654         Tests for module 'sinhf'.
7655         * modules/sinhf-tests: New file.
7656         * tests/test-sinhf.c: New file.
7657
7658         New module 'sinhf'.
7659         * lib/math.in.h (sinhf): New declaration.
7660         * lib/sinhf.c: New file.
7661         * m4/sinhf.m4: New file.
7662         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7663         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7664         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7665         * modules/sinhf: New file.
7666         * tests/test-math-c++.cc: Check the declaration of sinhf.
7667         * doc/posix-functions/sinhf.texi: Mention the new module.
7668
7669         sinh: Use a .m4 file.
7670         * m4/sinh.m4: New file.
7671         * modules/sinh (Files): Add it.
7672         (configure.ac): Just invoke gl_FUNC_SINH.
7673
7674 2011-10-08  Bruno Haible  <bruno@clisp.org>
7675
7676         Tests for module 'atan2f'.
7677         * modules/atan2f-tests: New file.
7678         * tests/test-atan2f.c: New file.
7679
7680         New module 'atan2f'.
7681         * lib/math.in.h (atan2f): New declaration.
7682         * lib/atan2f.c: New file.
7683         * m4/atan2f.m4: New file.
7684         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7686         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7687         * modules/atan2f: New file.
7688         * tests/test-math-c++.cc: Check the declaration of atan2f.
7689         * doc/posix-functions/atan2f.texi: Mention the new module.
7690
7691         atan2: Use a .m4 file.
7692         * m4/atan2.m4: New file.
7693         * modules/atan2 (Files): Add it.
7694         (configure.ac): Just invoke gl_FUNC_ATAN2.
7695
7696 2011-10-08  Bruno Haible  <bruno@clisp.org>
7697
7698         Tests for module 'atanf'.
7699         * modules/atanf-tests: New file.
7700         * tests/test-atanf.c: New file.
7701
7702         New module 'atanf'.
7703         * lib/math.in.h (atanf): New declaration.
7704         * lib/atanf.c: New file.
7705         * m4/atanf.m4: New file.
7706         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7707         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7708         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7709         * modules/atanf: New file.
7710         * tests/test-math-c++.cc: Check the declaration of atanf.
7711         * doc/posix-functions/atanf.texi: Mention the new module.
7712
7713         atan: Use a .m4 file.
7714         * m4/atan.m4: New file.
7715         * modules/atan (Files): Add it.
7716         (configure.ac): Just invoke gl_FUNC_ATAN.
7717
7718 2011-10-08  Bruno Haible  <bruno@clisp.org>
7719
7720         Tests for module 'acosf'.
7721         * modules/acosf-tests: New file.
7722         * tests/test-acosf.c: New file.
7723
7724         New module 'acosf'.
7725         * lib/math.in.h (acosf): New declaration.
7726         * lib/acosf.c: New file.
7727         * m4/acosf.m4: New file.
7728         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7730         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7731         * modules/acosf: New file.
7732         * tests/test-math-c++.cc: Check the declaration of acosf.
7733         * doc/posix-functions/acosf.texi: Mention the new module.
7734
7735         acos: Use a .m4 file.
7736         * m4/acos.m4: New file.
7737         * modules/acos (Files): Add it.
7738         (configure.ac): Just invoke gl_FUNC_ACOS.
7739
7740 2011-10-08  Bruno Haible  <bruno@clisp.org>
7741
7742         Tests for module 'asinf'.
7743         * modules/asinf-tests: New file.
7744         * tests/test-asinf.c: New file.
7745
7746         New module 'asinf'.
7747         * lib/math.in.h (asinf): New declaration.
7748         * lib/asinf.c: New file.
7749         * m4/asinf.m4: New file.
7750         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7751         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7752         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7753         * modules/asinf: New file.
7754         * tests/test-math-c++.cc: Check the declaration of asinf.
7755         * doc/posix-functions/asinf.texi: Mention the new module.
7756
7757         asin: Use a .m4 file.
7758         * m4/asin.m4: New file.
7759         * modules/asin (Files): Add it.
7760         (configure.ac): Just invoke gl_FUNC_ASIN.
7761
7762 2011-10-08  Bruno Haible  <bruno@clisp.org>
7763
7764         Tests for module 'tanf'.
7765         * modules/tanf-tests: New file.
7766         * tests/test-tanf.c: New file.
7767
7768         New module 'tanf'.
7769         * lib/math.in.h (tanf): New declaration.
7770         * lib/tanf.c: New file.
7771         * m4/tanf.m4: New file.
7772         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7773         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7774         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7775         * modules/tanf: New file.
7776         * tests/test-math-c++.cc: Check the declaration of tanf.
7777         * doc/posix-functions/tanf.texi: Mention the new module.
7778
7779         tan: Use a .m4 file.
7780         * m4/tan.m4: New file.
7781         * modules/tan (Files): Add it.
7782         (configure.ac): Just invoke gl_FUNC_TAN.
7783
7784 2011-10-08  Bruno Haible  <bruno@clisp.org>
7785
7786         Tests for module 'cosf'.
7787         * modules/cosf-tests: New file.
7788         * tests/test-cosf.c: New file.
7789
7790         New module 'cosf'.
7791         * lib/math.in.h (cosf): New declaration.
7792         * lib/cosf.c: New file.
7793         * m4/cosf.m4: New file.
7794         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7796         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7797         * modules/cosf: New file.
7798         * tests/test-math-c++.cc: Check the declaration of cosf.
7799         * doc/posix-functions/cosf.texi: Mention the new module.
7800
7801         cos: Use a .m4 file.
7802         * m4/cos.m4: New file.
7803         * modules/cos (Files): Add it.
7804         (configure.ac): Just invoke gl_FUNC_COS.
7805
7806 2011-10-08  Bruno Haible  <bruno@clisp.org>
7807
7808         Tests for module 'sinf'.
7809         * modules/sinf-tests: New file.
7810         * tests/test-sinf.c: New file.
7811
7812         New module 'sinf'.
7813         * lib/math.in.h (sinf): New declaration.
7814         * lib/sinf.c: New file.
7815         * m4/sinf.m4: New file.
7816         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7817         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7818         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7819         * modules/sinf: New file.
7820         * tests/test-math-c++.cc: Check the declaration of sinf.
7821         * doc/posix-functions/sinf.texi: Mention the new module.
7822
7823         sin: Use a .m4 file.
7824         * m4/sin.m4: New file.
7825         * modules/sin (Files): Add it.
7826         (configure.ac): Just invoke gl_FUNC_SIN.
7827
7828 2011-10-08  Bruno Haible  <bruno@clisp.org>
7829
7830         Tests for module 'powf'.
7831         * modules/powf-tests: New file.
7832         * tests/test-powf.c: New file.
7833
7834         New module 'powf'.
7835         * lib/math.in.h (powf): New declaration.
7836         * lib/powf.c: New file.
7837         * m4/powf.m4: New file.
7838         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7839         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7840         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7841         * modules/powf: New file.
7842         * tests/test-math-c++.cc: Check the declaration of powf.
7843         * doc/posix-functions/powf.texi: Mention the new module.
7844
7845         pow: Use a .m4 file.
7846         * m4/pow.m4: New file.
7847         * modules/pow (Files): Add it.
7848         (configure.ac): Just invoke gl_FUNC_POW.
7849
7850 2011-10-08  Bruno Haible  <bruno@clisp.org>
7851
7852         Tests for module 'log10f'.
7853         * modules/log10f-tests: New file.
7854         * tests/test-log10f.c: New file.
7855
7856         New module 'log10f'.
7857         * lib/math.in.h (log10f): New declaration.
7858         * lib/log10f.c: New file.
7859         * m4/log10f.m4: New file.
7860         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7862         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7863         * modules/log10f: New file.
7864         * tests/test-math-c++.cc: Check the declaration of log10f.
7865         * doc/posix-functions/log10f.texi: Mention the new module.
7866
7867         log10: Use a .m4 file.
7868         * m4/log10.m4: New file.
7869         * modules/log10 (Files): Add it.
7870         (configure.ac): Just invoke gl_FUNC_LOG10.
7871
7872 2011-10-08  Bruno Haible  <bruno@clisp.org>
7873
7874         Tests for module 'logf'.
7875         * modules/logf-tests: New file.
7876         * tests/test-logf.c: New file.
7877
7878         New module 'logf'.
7879         * lib/math.in.h (logf): New declaration.
7880         * lib/logf.c: New file.
7881         * m4/logf.m4: New file.
7882         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7883         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7884         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7885         * modules/logf: New file.
7886         * tests/test-math-c++.cc: Check the declaration of logf.
7887         * doc/posix-functions/logf.texi: Mention the new module.
7888
7889         log: Use a .m4 file.
7890         * m4/log.m4: New file.
7891         * modules/log (Files): Add it.
7892         (configure.ac): Just invoke gl_FUNC_LOG.
7893
7894 2011-10-08  Bruno Haible  <bruno@clisp.org>
7895
7896         Tests for module 'expf'.
7897         * modules/expf-tests: New file.
7898         * tests/test-expf.c: New file.
7899
7900         New module 'expf'.
7901         * lib/math.in.h (expf): New declaration.
7902         * lib/expf.c: New file.
7903         * m4/expf.m4: New file.
7904         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
7905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
7906         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
7907         * modules/expf: New file.
7908         * tests/test-math-c++.cc: Check the declaration of expf.
7909         * doc/posix-functions/expf.texi: Mention the new module.
7910
7911         exp: Use a .m4 file.
7912         * m4/exp.m4: New file.
7913         * modules/exp (Files): Add it.
7914         (configure.ac): Just invoke gl_FUNC_EXP.
7915
7916 2011-10-08  Bruno Haible  <bruno@clisp.org>
7917
7918         Tests for module 'sqrtf'.
7919         * modules/sqrtf-tests: New file.
7920         * tests/test-sqrtf.c: New file.
7921
7922         New module 'sqrtf'.
7923         * lib/math.in.h (sqrtf): New declaration.
7924         * lib/sqrtf.c: New file.
7925         * m4/sqrtf.m4: New file.
7926         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
7927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
7928         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
7929         * modules/sqrtf: New file.
7930         * tests/test-math-c++.cc: Check the declaration of sqrtf.
7931         * doc/posix-functions/sqrtf.texi: Mention the new module.
7932
7933 2011-10-08  Bruno Haible  <bruno@clisp.org>
7934
7935         Tests: Avoid link failures w.r.t. libintl.
7936         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
7937         $(LIBINTL).
7938         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
7939         $(LIBINTL).
7940         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
7941         against $(LIBINTL).
7942         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
7943         $(LIBINTL).
7944         * modules/openat-tests (Makefile.am): Link test-fchmodat against
7945         $(LIBINTL).
7946         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
7947
7948 2011-10-08  Bruno Haible  <bruno@clisp.org>
7949
7950         pow tests: Defeat compiler optimizations.
7951         * tests/test-pow.c (main): Assign arguments to x and y before use.
7952
7953 2011-10-08  Bruno Haible  <bruno@clisp.org>
7954
7955         gnulib-tool: Improve last commit.
7956         * gnulib-tool (func_modules_transitive_closure): Simplify code.
7957         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
7958         ignore dependencies that are not among the modules list.
7959
7960 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
7961
7962         gnulib-tool: don't follow dependencies to avoided modules
7963         This fixes a bug that is related to the previous one.
7964         * gnulib-tool (func_modules_transitive_closure)
7965         (func_emit_autoconf_snippets):
7966         Check whether a dependency is acceptable before using it.
7967         (--extract-dependencies): Report an error if --avoid is also used,
7968         since this combination of options is not yet supported.
7969
7970         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
7971         Problem reported by Peter Dyballa in
7972         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
7973         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
7974         when echoing "$condition".
7975
7976 2011-10-07  Bruno Haible  <bruno@clisp.org>
7977
7978         Fix documentation about math functions on MacOS X.
7979         * doc/posix-functions/exp2.texi: Don't say the function is missing on
7980         MacOS X 10.5.
7981         * doc/posix-functions/fdim.texi: Likewise.
7982         * doc/posix-functions/feclearexcept.texi: Likewise.
7983         * doc/posix-functions/fegetenv.texi: Likewise.
7984         * doc/posix-functions/fegetround.texi: Likewise.
7985         * doc/posix-functions/feholdexcept.texi: Likewise.
7986         * doc/posix-functions/feraiseexcept.texi: Likewise.
7987         * doc/posix-functions/fesetenv.texi: Likewise.
7988         * doc/posix-functions/fesetround.texi: Likewise.
7989         * doc/posix-functions/fetestexcept.texi: Likewise.
7990         * doc/posix-functions/feupdateenv.texi: Likewise.
7991         * doc/posix-functions/fmax.texi: Likewise.
7992         * doc/posix-functions/fmin.texi: Likewise.
7993         * doc/posix-functions/log2.texi: Likewise.
7994         * doc/posix-functions/modff.texi: Likewise.
7995         * doc/posix-functions/nan.texi: Likewise.
7996         * doc/posix-functions/nanf.texi: Likewise.
7997         * doc/posix-functions/nextafterf.texi: Likewise.
7998         * doc/posix-functions/remquo.texi: Likewise.
7999
8000 2011-10-07  Bruno Haible  <bruno@clisp.org>
8001
8002         modff: Drop assumption about library that defines modff.
8003         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8004         AC_CHECK_FUNCS.
8005         * modules/modff (Files): Add m4/mathfunc.m4.
8006
8007 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8008
8009         raise tests: Avoid a GCC warning.
8010         * tests/test-raise.c (handler): Use _Noreturn.
8011
8012 2011-10-07  Bruno Haible  <bruno@clisp.org>
8013
8014         Tests for module 'ldexpf'.
8015         * modules/ldexpf-tests: New file.
8016         * tests/test-ldexpf.c: New file.
8017
8018         New module 'ldexpf'.
8019         * lib/math.in.h (ldexpf): New declaration.
8020         * lib/ldexpf.c: New file.
8021         * m4/ldexpf.m4: New file.
8022         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8023         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8024         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8025         * modules/ldexpf: New file.
8026         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8027         * doc/posix-functions/ldexpf.texi: Mention the new module.
8028
8029 2011-10-06  Bruno Haible  <bruno@clisp.org>
8030
8031         frexpf: Work around problems on IRIX and mingw.
8032         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8033         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8034         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8035         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8036         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8037         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8038         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8039
8040 2011-10-06  Bruno Haible  <bruno@clisp.org>
8041
8042         fabsf: Drop assumption about library that defines fabsf.
8043         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8044         AC_CHECK_FUNCS.
8045         * modules/fabsf (Files): Add m4/mathfunc.m4.
8046
8047 2011-10-06  Bruno Haible  <bruno@clisp.org>
8048
8049         frexpf: Drop assumption about library that defines frexpf.
8050         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8051         'int *', 'float *', 'long double *', 'float', 'long double'.
8052         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8053         AC_CHECK_FUNCS.
8054         * modules/frexpf (Files): Add m4/mathfunc.m4.
8055
8056         Tests for module 'frexpf'.
8057         * modules/frexpf-tests: New file.
8058         * tests/test-frexpf.c: New file.
8059
8060         New module 'frexpf'.
8061         * lib/math.in.h (frexpf): New declaration.
8062         * lib/frexpf.c: New file.
8063         * m4/frexpf.m4: New file.
8064         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8065         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8066         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8067         * modules/frexpf: New file.
8068         * tests/test-math-c++.cc: Check the declaration of frexpf.
8069         * doc/posix-functions/frexpf.texi: Mention the new module.
8070
8071 2011-10-06  Bruno Haible  <bruno@clisp.org>
8072
8073         math: Sort function declarations of math.in.h.
8074         * lib/math.in.h (frexp, logb): Move declarations.
8075
8076 2011-10-05  Bruno Haible  <bruno@clisp.org>
8077
8078         Tests for module 'modff'.
8079         * modules/modff-tests: New file.
8080         * tests/test-modff.c: New file.
8081
8082         New module 'modff'.
8083         * lib/math.in.h (modff): New declaration.
8084         * lib/modff.c: New file.
8085         * m4/modff.m4: New file.
8086         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8087         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8088         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8089         * modules/modff: New file.
8090         * tests/test-math-c++.cc: Check the declaration of modff.
8091         * doc/posix-functions/modff.texi: Mention the new module.
8092
8093         modf tests: Make test sharper.
8094         * tests/test-modf.c (main): Strengthen upper bound.
8095
8096         modf: Use a .m4 file.
8097         * m4/modf.m4: New file.
8098         * modules/modf (Files): Add it.
8099         (configure.ac): Just invoke gl_FUNC_MODF.
8100
8101 2011-10-05  Bruno Haible  <bruno@clisp.org>
8102
8103         Tests for module 'fmodf'.
8104         * modules/fmodf-tests: New file.
8105         * tests/test-fmodf.c: New file.
8106
8107         New module 'fmodf'.
8108         * lib/math.in.h (fmodf): New declaration.
8109         * lib/fmodf.c: New file.
8110         * m4/fmodf.m4: New file.
8111         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8112         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8113         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8114         * modules/fmodf: New file.
8115         * tests/test-math-c++.cc: Check the declaration of fmodf.
8116         * doc/posix-functions/fmodf.texi: Mention the new module.
8117
8118         fmod: Use a .m4 file.
8119         * m4/fmod.m4: New file.
8120         * modules/fmod (Files): Add it.
8121         (configure.ac): Just invoke gl_FUNC_FMOD.
8122
8123 2011-10-05  Bruno Haible  <bruno@clisp.org>
8124
8125         Tests for module 'fabsf'.
8126         * modules/fabsf-tests: New file.
8127         * tests/test-fabsf.c: New file.
8128
8129         New module 'fabsf'.
8130         * lib/math.in.h (fabsf): New declaration.
8131         * lib/fabsf.c: New file.
8132         * m4/fabsf.m4: New file.
8133         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8135         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8136         * modules/fabsf: New file.
8137         * tests/test-math-c++.cc: Check the declaration of fabsf.
8138         * doc/posix-functions/fabsf.texi: Mention the new module.
8139
8140         fabs: Use a .m4 file.
8141         * m4/fabs.m4: New file.
8142         * modules/fabs (Files): Add it.
8143         (configure.ac): Just invoke gl_FUNC_FABS.
8144
8145 2011-10-05  Jim Meyering  <meyering@redhat.com>
8146
8147         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8148         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8149         ls -lL regression introduced in coreutils-8.12, it does so at the
8150         cost of an additional stat call in the common case.  Besides, now
8151         that the kernel change that prompted commit 95f7c57f has been reverted
8152         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8153         we have no use for commit 95f7c57f, "file-has-acl: use
8154         acl_extended_file_nofollow if available".
8155
8156 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8157
8158         file-has-acl: revert unintended change in behavior of ls -L
8159         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8160         derived from...
8161         (file_has_acl): ...code here.  Call it.
8162         This problem was introduced with 2011-07-22 commit 95f7c57f,
8163         "file-has-acl: use acl_extended_file_nofollow if available".
8164         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8165
8166 2011-10-03  Bruno Haible  <bruno@clisp.org>
8167
8168         poll: Avoid link errors on MSVC.
8169         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8170         * modules/poll (Depends-on): Add sockets.
8171         (Link): New section.
8172         * NEWS: Mention the change.
8173         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8174         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8175         $(LIB_POLL) instead of $(LIBSOCKET).
8176
8177 2011-10-03  Bruno Haible  <bruno@clisp.org>
8178
8179         sys_select tests: Fix link error on MSVC 9.
8180         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8181         with $(LIB_SELECT) instead of $(LIBSOCKET).
8182
8183 2011-10-03  Bruno Haible  <bruno@clisp.org>
8184
8185         sys_select: Fix compilation error on mingw.
8186         * lib/sys_select.in.h: On native Windows, include <io.h>.
8187
8188 2011-10-03  Bruno Haible  <bruno@clisp.org>
8189
8190         wmemset: Support for MSVC.
8191         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8192         whether wmemset() exists.
8193
8194 2011-10-03  Bruno Haible  <bruno@clisp.org>
8195
8196         wmemmove: Support for MSVC.
8197         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8198         whether wmemmove() exists.
8199
8200 2011-10-03  Bruno Haible  <bruno@clisp.org>
8201
8202         wmemcpy: Support for MSVC.
8203         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8204         whether wmemcpy() exists.
8205
8206 2011-10-03  Bruno Haible  <bruno@clisp.org>
8207
8208         wmemcmp: Support for MSVC.
8209         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8210         whether wmemcmp() exists.
8211
8212 2011-10-03  Bruno Haible  <bruno@clisp.org>
8213
8214         wmemchr: Support for MSVC.
8215         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8216         whether wmemchr() exists.
8217
8218 2011-10-03  Bruno Haible  <bruno@clisp.org>
8219
8220         glthread/*, strsignal: Support for MSVC.
8221         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8222         including <winsock.h> on MSVC 9.
8223         * lib/glthread/lock.h: Likewise.
8224         * lib/glthread/thread.h: Likewise.
8225         * lib/glthread/tls.h: Likewise.
8226         * lib/glthread/yield.h: Likewise.
8227         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8228         if HAVE_UNISTD_H is false.
8229         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8230
8231 2011-10-03  Bruno Haible  <bruno@clisp.org>
8232
8233         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8234         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8235         Set to 100000.
8236
8237 2011-10-03  Bruno Haible  <bruno@clisp.org>
8238
8239         acl: Fix specification.
8240         * lib/file-has-acl.c (file_has_acl): Fix specification.
8241
8242 2011-10-03  Bruno Haible  <bruno@clisp.org>
8243
8244         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8245         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8246         (compute_curr_prefix, shared_library_fullname,
8247         find_shared_library_fullname, get_shared_library_fullname, relocate):
8248         Use it together with PIC && INSTALLDIR.
8249         Reported by <jojelino@gmail.com>
8250         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8251
8252 2011-10-01  Jim Meyering  <meyering@redhat.com>
8253
8254         maint.mk: adjust a release-related rule not to require use of gzip
8255         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8256         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8257         projects that build only .tar.xz files.  Also fix an erroneous test.
8258
8259         test-linkat: don't leave behind a temporary file
8260         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8261         Otherwise, coreutils' "make distcheck" would fail with this:
8262           Only in /c/cu/tests/torture/coreutils/test/\
8263             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8264           make[2]: *** [my-distcheck] Error 1
8265
8266         float, math: add omitted file
8267         * lib/itold.c: Add file, required for yesterday's float change.
8268
8269 2011-10-01  Bruno Haible  <bruno@clisp.org>
8270
8271         isinf: Fix for OpenBSD/x86.
8272         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8273         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8274         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8275
8276 2011-10-01  Bruno Haible  <bruno@clisp.org>
8277
8278         isfinite: Fix syntax error in configure test.
8279         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8280
8281         isfinite: Fix typo.
8282         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8283         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8284
8285 2011-10-01  Bruno Haible  <bruno@clisp.org>
8286
8287         nonblocking tests: Fix test failure on Linux/IA-64.
8288         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8289         Set to 270000.
8290
8291 2011-10-01  Bruno Haible  <bruno@clisp.org>
8292
8293         mkfifoat tests: Fix a test failure on mingw.
8294         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8295         with error ENOSYS.
8296
8297 2011-09-30  Bruno Haible  <bruno@clisp.org>
8298
8299         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8300         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8301         'long double'. Set REPLACE_ITOLD.
8302         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8303         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8304         * lib/itold.c: New file.
8305         * modules/float (Files): Add lib/itold.c.
8306         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8307         (Makefile.am): Substitute REPLACE_ITOLD.
8308         * modules/math (Depends-on): Add float.
8309         (Makefile.am): Substitute REPLACE_ITOLD.
8310         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8311         * doc/posix-headers/math.texi: Likewise.
8312         * doc/posix-functions/logl.texi: Likewise.
8313
8314 2011-09-30  Bruno Haible  <bruno@clisp.org>
8315
8316         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8317         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8318         Set to 140000.
8319
8320 2011-09-30  Bruno Haible  <bruno@clisp.org>
8321
8322         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8323         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8324         invocation, say "right after AC_PROG_CC_STDC", not "right after
8325         AC_PROG_CC".
8326         Reported by Gary V. Vaughan <gary@gnu.org>.
8327
8328 2011-09-30  Bruno Haible  <bruno@clisp.org>
8329
8330         Centralize C99 requirement.
8331         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8332         * modules/stdarg (configure.ac-early): Invoke it instead of
8333         AC_PROG_CC_STDC.
8334         Reported by Gary V. Vaughan and Paul Eggert.
8335
8336 2011-09-29  Bruno Haible  <bruno@clisp.org>
8337
8338         float: Fix LDBL_MAX value on Linux/PowerPC.
8339         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8340         on Linux/PowerPC.
8341         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8342         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8343         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8344         platform.
8345         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8346
8347 2011-09-29  Bruno Haible  <bruno@clisp.org>
8348
8349         doc: Improve doc about gl_EARLY.
8350         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8351         AC_PROG_CC_STDC invocation.
8352         Reported by Gary V. Vaughan <gary@gnu.org>.
8353
8354 2011-09-28  Bruno Haible  <bruno@clisp.org>
8355
8356         fgetc, fputc, fread, fwrite tests: Fix link error.
8357         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8358         on non-MSVC platforms.
8359         * tests/test-fputc.c (main): Likewise.
8360         * tests/test-fread.c (main): Likewise.
8361         * tests/test-fwrite.c (main): Likewise.
8362         Reported by Jim Meyering.
8363
8364 2011-09-27  Bruno Haible  <bruno@clisp.org>
8365
8366         fputc, fwrite tests: Avoid test failure on MSVC.
8367         * tests/test-fgetc.c: Include msvc-inval.h.
8368         (main): Invoke gl_msvc_inval_ensure_handler.
8369         * tests/test-fputc.c: Include msvc-inval.h.
8370         (main): Invoke gl_msvc_inval_ensure_handler.
8371         * tests/test-fread.c: Include msvc-inval.h.
8372         (main): Invoke gl_msvc_inval_ensure_handler.
8373         * tests/test-fwrite.c: Include msvc-inval.h.
8374         (main): Invoke gl_msvc_inval_ensure_handler.
8375         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8376         * modules/fputc-tests (Depends-on): Likewise.
8377         * modules/fread-tests (Depends-on): Likewise.
8378         * modules/fwrite-tests (Depends-on): Likewise.
8379
8380 2011-09-27  Bruno Haible  <bruno@clisp.org>
8381
8382         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8383         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8384         (raise): Remove older, duplicated declaration.
8385         (_gl_raise_SIGPIPE): New declaration.
8386         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8387         (rpl_raise): Remove function.
8388         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8389         a gnulib-defined SIGPIPE here.
8390         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8391         'sigprocmask' has detected missing signal-blocking and the module
8392         'sigpipe' is enabled.
8393         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8394
8395 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
8396
8397         base64-tests: avoid memory leak
8398         * tests/test-base64.c (main): Plug memory leak.
8399
8400         base32: new module
8401         * modules/base32: New module.
8402         * lib/base32.c: New file.
8403         * lib/base32.h: Likewise.
8404         * m4/base32.m4: Likewise.
8405         * modules/base32-tests: New test.
8406         * tests/test-base32.c: Likewise.
8407         * MODULES.html.sh (Misc): Mention it.
8408
8409 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         gnulib: use more-standard license notice wording
8412         * gnulib-tool (func_emit_copyright_notice): When emitting a
8413         license notice into a file, use the standard wording as suggested
8414         by the current information for GNU maintainers, except say "file"
8415         rather than "program".  The new wording gives a license version
8416         number, which addresses an issue raised by Glenn Morris in
8417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
8418         * m4/onceonly.m4: Use that same wording here, too.
8419
8420         dup2: minor simplification
8421         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
8422         as lib/dup2.c no longer uses 'inline'.
8423
8424 2011-09-25  Bruno Haible  <bruno@clisp.org>
8425
8426         strings: Fix compilation error on MSVC.
8427         * lib/strings.in.h: Include <stddef.h> for size_t.
8428
8429 2011-09-25  Bruno Haible  <bruno@clisp.org>
8430
8431         fflush et al.: Document limitation on MSVC.
8432         * doc/posix-functions/fflush.texi: Document possible crash in handling
8433         mode other than DEFAULT_HANDLING.
8434         * doc/posix-functions/fgetc.texi: Likewise.
8435         * doc/posix-functions/fputc.texi: Likewise.
8436         * doc/posix-functions/fread.texi: Likewise.
8437         * doc/posix-functions/fwrite.texi: Likewise.
8438
8439 2011-09-25  Bruno Haible  <bruno@clisp.org>
8440
8441         msvc-inval: Allow three invalid parameter handling modes.
8442         * lib/msvc-inval.h: Don't include <stdlib.h> here.
8443         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
8444         macros.
8445         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
8446         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
8447         SANE_LIBRARY_HANDLING as a no-op.
8448         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
8449         <stdlib.h>.
8450         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
8451
8452 2011-09-25  Bruno Haible  <bruno@clisp.org>
8453
8454         msvc-inval: Make handler multithread-safe.
8455         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
8456         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
8457         declarations.
8458         (gl_msvc_inval_current): New declaration.
8459         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8460         Operate on the structure returned by gl_msvc_inval_current().
8461         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
8462         Remove varaiables.
8463         (tls_index, tls_initialized): New variables.
8464         (not_per_thread): New variable.
8465         (gl_msvc_inval_current): New function.
8466         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
8467         returned by gl_msvc_inval_current().
8468
8469 2011-09-25  Bruno Haible  <bruno@clisp.org>
8470
8471         msvc-inval: Install handler globally.
8472         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
8473         !_MSC_VER.
8474         (gl_msvc_invalid_parameter_handler): Remove declaration.
8475         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
8476         declarations.
8477         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8478         Install the handler globally, don't uninstall it.
8479         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
8480         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
8481         currently valid, call RaiseException instead.
8482         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
8483         for !_MSC_VER.
8484
8485 2011-09-25  Bruno Haible  <bruno@clisp.org>
8486
8487         strerror_r-posix: Fix for MSVC 9.
8488         * lib/strerror_r.c (local_snprintf): New function.
8489         (snprintf): Define to local_snprintf, not to _snprintf.
8490
8491 2011-09-25  Bruno Haible  <bruno@clisp.org>
8492
8493         ftruncate: Support for MSVC 9.
8494         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
8495         (chsize_nothrow): New function.
8496         (chsize): Redefine as a macro.
8497         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
8498         * modules/ftruncate (Depends-on): Add msvc-inval.
8499
8500 2011-09-25  Bruno Haible  <bruno@clisp.org>
8501
8502         New module 'fstat'.
8503         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
8504         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
8505         * lib/fchdir.c (rpl_fstat): Remove function.
8506         * m4/fstat.m4: New file.
8507         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
8508         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
8509         declared.
8510         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
8511         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
8512         * modules/fstat: New file.
8513         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
8514         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
8515         is set.
8516         * doc/posix-functions/fstat.texi: Mention the new module and the
8517         problem on MSVC.
8518         * NEWS: Mention the change.
8519         * modules/acl (Depends-on): Add fstat.
8520         * modules/chdir-safer (Depends-on): Likewise.
8521         * modules/chown (Depends-on): Likewise.
8522         * modules/copy-file (Depends-on): Likewise.
8523         * modules/fchdir (Depends-on): Likewise.
8524         * modules/fdopendir (Depends-on): Likewise.
8525         * modules/fopen (Depends-on): Likewise.
8526         * modules/fts (Depends-on): Likewise.
8527         * modules/getcwd (Depends-on): Likewise.
8528         * modules/isapipe (Depends-on): Likewise.
8529         * modules/linkat (Depends-on): Likewise.
8530         * modules/lseek (Depends-on): Likewise.
8531         * modules/mkdir-p (Depends-on): Likewise.
8532         * modules/open (Depends-on): Likewise.
8533         * modules/openat (Depends-on): Likewise.
8534         * modules/read-file (Depends-on): Likewise.
8535         * modules/renameat (Depends-on): Likewise.
8536         * modules/utimens (Depends-on): Likewise.
8537
8538 2011-09-25  Bruno Haible  <bruno@clisp.org>
8539
8540         linkat: Fix compilation on MSVC 9.
8541         * lib/linkat.c: Don't include <stdint.h>.
8542
8543 2011-09-25  Bruno Haible  <bruno@clisp.org>
8544
8545         fclose: Support for MSVC 9.
8546         * lib/fclose.c: Include msvc-inval.h.
8547         (fclose_nothrow): New function.
8548         (rpl_fclose): Use it.
8549         * modules/fclose (Depends-on): Add msvc-inval.
8550         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8551
8552 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8553
8554         dup2: minor simplifications
8555         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8556         that it's a performance win.
8557         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8558         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8559
8560 2011-09-24  Jim Meyering  <meyering@redhat.com>
8561
8562         test-futimens: avoid a warning from gcc -Wshadow
8563         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8564         to avoid a shadowing warning.
8565
8566 2011-09-24  Bruno Haible  <bruno@clisp.org>
8567
8568         fdopen: Support for MSVC 9.
8569         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8570         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8571         * lib/fdopen.c: Include msvc-inval.h.
8572         (fdopen_nothrow): New function.
8573         (rpl_fdopen): Use it.
8574         * modules/fdopen (Depends-on): Add msvc-inval.
8575         * modules/fclose-tests (Depends-on): Add fdopen.
8576         * modules/fflush-tests (Depends-on): Likewise.
8577         * modules/fgetc-tests (Depends-on): Likewise.
8578         * modules/fputc-tests (Depends-on): Likewise.
8579         * modules/fread-tests (Depends-on): Likewise.
8580         * modules/freopen-tests (Depends-on): Likewise.
8581         * modules/fseeko-tests (Depends-on): Likewise.
8582         * modules/ftello-tests (Depends-on): Likewise.
8583         * modules/fwrite-tests  (Depends-on): Likewise.
8584         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8585
8586 2011-09-24  Bruno Haible  <bruno@clisp.org>
8587
8588         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8589         * modules/fgetc-tests (Depends-on): Add unistd.
8590         * modules/fputc-tests (Depends-on): Likewise.
8591         * modules/fread-tests (Depends-on): Likewise.
8592         * modules/fwrite-tests (Depends-on): Likewise.
8593
8594 2011-09-24  Bruno Haible  <bruno@clisp.org>
8595
8596         dup: Simplify autoconf test.
8597         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8598         on gl_MSVC_INVAL's result.
8599
8600 2011-09-24  Bruno Haible  <bruno@clisp.org>
8601
8602         Tests for function fwrite().
8603         * modules/fwrite-tests: New file.
8604         * tests/test-fwrite.c: New file.
8605         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8606
8607         Tests for function fread().
8608         * modules/fread-tests: New file.
8609         * tests/test-fread.c: New file.
8610         * modules/stdio-tests (Depends-on): Add fread-tests.
8611
8612         Activate fputc tests.
8613         * modules/stdio-tests (Depends-on): Add fputc-tests.
8614
8615         Enhance fgetc, fputc tests.
8616         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8617         * tests/test-fputc.c (main): Likewise.
8618
8619 2011-09-24  Bruno Haible  <bruno@clisp.org>
8620
8621         write: Support for MSVC 9.
8622         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8623         is not 1.
8624         * lib/write.c (write_nothrow): New function.
8625         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8626         not 1. Use write_nothrow.
8627         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8628         invalid parameter handler.
8629         (gl_PREREQ_WRITE): New macro.
8630         * modules/write (Depends-on): Add msvc-inval.
8631         (configure.ac): Invoke gl_PREREQ_WRITE.
8632         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8633
8634 2011-09-24  Bruno Haible  <bruno@clisp.org>
8635
8636         read: Fix last commit.
8637         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8638
8639 2011-09-24  Bruno Haible  <bruno@clisp.org>
8640
8641         dup2: Fix last commit.
8642         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8643         (rpl_dup2): Disable fcntl workaround on native Windows.
8644
8645         sigprocmask: Make code safer.
8646         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8647         section that changes macro definitions for this compilation unit.
8648
8649 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8650
8651         dup2: clarify by coalescing Windows-specific material
8652         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8653         "msvc-nothrow.h"' to the Windows-specific section, so that the
8654         Emacs source need not contain these include files.
8655         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8656         Windows-specific fixes into this function rather than just the
8657         nothrow fix, as this shortens and clarifies the code.  Always
8658         define as a function, as that's a bit cleaner than having it be
8659         sometimes a function and sometimes a macro.
8660         (rpl_dup2): Move the Windows-specific stuff out of here and into
8661         ms_windows_dup2.  Don't protect the Haiku-related fix with
8662         "#if !defined __linux__", as the same code also works around
8663         a Linux kernel bug, and it doesn't add any system calls on any
8664         platform.  Add comment about FreeBSD 6.1.
8665
8666         sigprocmask: move #include directive
8667         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8668         Windows-specific section, so that the Emacs source need not
8669         contain msvc-inval.h.
8670
8671 2011-09-23  Bruno Haible  <bruno@clisp.org>
8672
8673         read: Support for MSVC 9.
8674         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8675         is not 1.
8676         * lib/read.c (read_nothrow): New function.
8677         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8678         read_nothrow.
8679         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8680         invalid parameter handler.
8681         (gl_PREREQ_READ): New macro.
8682         * modules/read (Depends-on): Add msvc-inval.
8683         (configure.ac): Invoke gl_PREREQ_READ.
8684         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8685
8686 2011-09-23  Bruno Haible  <bruno@clisp.org>
8687
8688         close: Support for MSVC 9.
8689         * lib/close.c: Include <errno.h>, msvc-inval.h.
8690         (close_nothrow): New function.
8691         (rpl_close): Use it.
8692         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8693         invalid parameter handler.
8694         * modules/close (Depends-on): Add msvc-inval.
8695         * modules/dup2-tests (Depends-on): Add close.
8696         * modules/dup3-tests (Depends-on): Likewise.
8697         * modules/fcntl-tests (Depends-on): Likewise.
8698         * modules/spawn-pipe-tests (Depends-on): Likewise.
8699         * modules/unistd-safer-tests (Depends-on): Likewise.
8700         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8701
8702 2011-09-23  Bruno Haible  <bruno@clisp.org>
8703
8704         New module 'dup'.
8705         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8706         Allow replacement.
8707         * lib/dup.c: New file.
8708         * lib/fchdir.c (rpl_dup): Remove function.
8709         * m4/dup.m4: New file.
8710         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8711         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8712         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8713         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8714         * modules/dup: New file.
8715         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8716         'dup' module is in use.
8717         * modules/fdopendir (Depends-on): Add dup.
8718         * modules/fdutimensat-tests (Depends-on): Likewise.
8719         * modules/fts (Depends-on): Likewise.
8720         * modules/futimens-tests (Depends-on): Likewise.
8721         * modules/posix_spawnp-tests (Depends-on): Likewise.
8722         * modules/unistd-safer-tests (Depends-on): Likewise.
8723         * modules/utimens-tests (Depends-on): Likewise.
8724         * doc/posix-functions/dup.texi: Mention the new module and the problem
8725         on MSVC.
8726
8727 2011-09-23  Bruno Haible  <bruno@clisp.org>
8728
8729         getdtablesize: Support for MSVC 9.
8730         * lib/getdtablesize.c: Include msvc-inval.h.
8731         (_setmaxstdio_nothrow): New function.
8732         (_setmaxstdio): Redefine it.
8733         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8734         * modules/getdtablesize (Depends-on): Add msvc-inval.
8735         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8736
8737 2011-09-23  Bruno Haible  <bruno@clisp.org>
8738
8739         signal-h: Rename from signal.
8740         * modules/signal-h: Renamed from modules/signal.
8741         * modules/pthread_sigmask (Depends-on): Update.
8742         * modules/raise (Depends-on): Likewise.
8743         * modules/sigaction (Depends-on): Likewise.
8744         * modules/sigpipe (Depends-on): Likewise.
8745         * modules/sigprocmask (Depends-on): Likewise.
8746         * modules/sys_select (Depends-on): Likewise.
8747         * modules/signal-h-tests: Renamed from modules/signal-tests.
8748         (Files, Depends-on, Makefile.am): Update.
8749         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8750         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8751         (Files, Makefile.am): Update.
8752         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8753         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8754         * modules/signal: New placeholder file.
8755         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8756         * doc/posix-headers/signal.texi: Update.
8757         * NEWS: Mention the change.
8758
8759 2011-09-23  Bruno Haible  <bruno@clisp.org>
8760
8761         sigprocmask: Avoid crashes through signal() on MSVC 9.
8762         * lib/sigprocmask.c: Include msvc-inval.h.
8763         (signal_nothrow): New function.
8764         (signal): Redefine it.
8765         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8766         * modules/sigprocmask (Depends-on): Add msvc-inval.
8767         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8768
8769 2011-09-23  Bruno Haible  <bruno@clisp.org>
8770
8771         Tests for module 'raise'.
8772         * modules/raise-tests: New file.
8773         * tests/test-raise.c: New file.
8774
8775         raise: Support for MSVC.
8776         * lib/signal.in.h (raise): New declaration.
8777         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8778         for native Windows platforms.
8779         * m4/raise.m4: New file.
8780         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8781         HAVE_RAISE, REPLACE_RAISE.
8782         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8783         REPLACE_RAISE.
8784         * modules/raise (Status, Notice): Remove fields.
8785         (Files): Add m4/raise.m4.
8786         (Depends-on): Add signal, msvc-inval.
8787         (configure.ac): Use the common idioms.
8788         (Maintainer): Add me.
8789         * tests/test-signal-c++.cc: Check the signature of raise.
8790         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8791
8792 2011-09-23  Bruno Haible  <bruno@clisp.org>
8793
8794         pipe2: Fix compilation on pre-C99 compilers.
8795         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8796
8797 2011-09-23  Bruno Haible  <bruno@clisp.org>
8798
8799         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8800         * lib/msvc-nothrow.h: New file.
8801         * lib/msvc-nothrow.c: New file.
8802         * m4/msvc-nothrow.m4: New file.
8803         * modules/msvc-nothrow: New file.
8804         * lib/dup2.c: Include msvc-nothrow.h.
8805         (rpl_dup2): No need to protect _get_osfhandle call here.
8806         * lib/accept4.c: Include msvc-nothrow.h.
8807         * lib/error.c: Likewise.
8808         * lib/fcntl.c: Likewise.
8809         * lib/lseek.c: Likewise.
8810         * lib/nonblocking.c: Likewise.
8811         * lib/poll.c: Likewise.
8812         * lib/read.c: Likewise.
8813         * lib/select.c: Likewise.
8814         * lib/sockets.h: Likewise.
8815         * lib/sockets.c: Likewise.
8816         * lib/stdio-read.c: Likewise.
8817         * lib/stdio-write.c: Likewise.
8818         * lib/write.c: Likewise.
8819         * lib/w32sock.h: Likewise.
8820         * lib/w32spawn.h: Likewise.
8821         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8822         * lib/fsync.c: Likewise.
8823         * lib/isapipe.c: Likewise.
8824         * modules/dup2 (Depends-on): Add msvc-nothrow.
8825         * modules/accept4 (Depends-on): Likewise.
8826         * modules/error (Depends-on): Likewise.
8827         * modules/fcntl (Depends-on): Likewise.
8828         * modules/lseek (Depends-on): Likewise.
8829         * modules/nonblocking (Depends-on): Likewise.
8830         * modules/poll (Depends-on): Likewise.
8831         * modules/read (Depends-on): Likewise.
8832         * modules/select (Depends-on): Likewise.
8833         * modules/sockets (Depends-on): Likewise.
8834         * modules/sigpipe (Depends-on): Likewise.
8835         * modules/write (Depends-on): Likewise.
8836         * modules/accept (Depends-on): Likewise.
8837         * modules/bind (Depends-on): Likewise.
8838         * modules/connect (Depends-on): Likewise.
8839         * modules/gethostname (Depends-on): Likewise.
8840         * modules/getpeername (Depends-on): Likewise.
8841         * modules/getsockname (Depends-on): Likewise.
8842         * modules/getsockopt (Depends-on): Likewise.
8843         * modules/ioctl (Depends-on): Likewise.
8844         * modules/listen (Depends-on): Likewise.
8845         * modules/recv (Depends-on): Likewise.
8846         * modules/recvfrom (Depends-on): Likewise.
8847         * modules/send (Depends-on): Likewise.
8848         * modules/sendto (Depends-on): Likewise.
8849         * modules/setsockopt (Depends-on): Likewise.
8850         * modules/shutdown (Depends-on): Likewise.
8851         * modules/socket (Depends-on): Likewise.
8852         * modules/execute (Depends-on): Likewise.
8853         * modules/spawn-pipe (Depends-on): Likewise.
8854         * modules/flock (Depends-on): Likewise.
8855         * modules/fsync (Depends-on): Likewise.
8856         * modules/isapipe (Depends-on): Likewise.
8857         * tests/test-cloexec.c: Include msvc-nothrow.h.
8858         * tests/test-dup-safer.c: Likewise.
8859         * tests/test-dup2.c: Likewise.
8860         * tests/test-dup3.c: Likewise.
8861         * tests/test-fcntl.c: Likewise.
8862         * tests/test-pipe.c: Likewise.
8863         * tests/test-pipe2.c: Likewise.
8864         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8865         * modules/unistd-safer-tests (Depends-on): Likewise.
8866         * modules/dup2-tests (Depends-on): Likewise.
8867         * modules/dup3-tests (Depends-on): Likewise.
8868         * modules/fcntl-tests (Depends-on): Likewise.
8869         * modules/pipe-posix-tests (Depends-on): Likewise.
8870         * modules/pipe2-tests (Depends-on): Likewise.
8871
8872 2011-09-23  Bruno Haible  <bruno@clisp.org>
8873
8874         dup2: Make code more maintainable.
8875         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8876         (rpl_dup2): Use it.
8877         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8878         * modules/dup2 (configure.ac): Invoke it.
8879         Reported by Paul Eggert.
8880
8881 2011-09-23  Bruno Haible  <bruno@clisp.org>
8882
8883         msvc-inval: Fix compilation error.
8884         * lib/msvc-inval.h: Include <excpt.h>.
8885
8886 2011-09-23  Bruno Haible  <bruno@clisp.org>
8887
8888         mkdir: Tweak for MSVC 9.
8889         * lib/sys_stat.in.h: Update comments.
8890         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8891
8892         Tests for module 'chdir'.
8893         * modules/chdir-tests: New file.
8894         * tests/test-chdir.c: New file.
8895
8896         New module 'chdir'.
8897         * modules/chdir: New file.
8898         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8899         (chdir): New declaration.
8900         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8901         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8902         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8903         * tests/test-unistd-c++.cc: Check signature of chdir.
8904         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
8905         * modules/chdir-long (Depends-on): Add chdir.
8906         * modules/fchdir (Depends-on): Likewise.
8907         * modules/rename (Depends-on): Likewise.
8908         * modules/savewd (Depends-on): Likewise.
8909
8910         rmdir: Support for mingw, MSVC 9.
8911         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
8912         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
8913
8914         getcwd: Tweak for MSVC 9.
8915         * lib/unistd.in.h: Update comments.
8916         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
8917
8918 2011-09-22  Bruno Haible  <bruno@clisp.org>
8919
8920         strerror_r-posix: Avoid a link error on MSVC.
8921         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
8922         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
8923
8924 2011-09-22  Bruno Haible  <bruno@clisp.org>
8925
8926         select: Avoid link errors on MSVC.
8927         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
8928         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
8929         * modules/pselect (Link): Likewise.
8930         * NEWS: Mention the change.
8931         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
8932         test-select-stdin against $(LIB_SELECT).
8933         * modules/pselect-tests (Makefile.am): Link test-pselect against
8934         $(LIB_SELECT).
8935
8936 2011-09-22  Bruno Haible  <bruno@clisp.org>
8937
8938         select: Avoid compilation error on MSVC.
8939         * lib/select.c: Don't include <stdbool.h>.
8940
8941 2011-09-21  Bruno Haible  <bruno@clisp.org>
8942
8943         Consolidate all uses of PATH_MAX in *.m4 files.
8944         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
8945         macros.
8946         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
8947         and gl_PATHMAX_SNIPPET.
8948         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8949         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8950         * modules/chdir-long (Files): Add m4/pathmax.m4.
8951         * modules/getcwd (Files): Likewise.
8952
8953 2011-09-21  Bruno Haible  <bruno@clisp.org>
8954
8955         ftruncate: Un-deprecate, concentrate on Win32 support.
8956         * modules/ftruncate (Status, Notice): Remove sections.
8957         (Depends-on): Add largefile.
8958         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
8959         non-mingw platforms.
8960         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
8961         include <io.h>.
8962         * modules/perror-tests (Depends-on): Add ftruncate.
8963         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
8964         'ftruncate' module.
8965
8966 2011-09-21  Bruno Haible  <bruno@clisp.org>
8967
8968         Add dependencies to new dirent related modules.
8969         * modules/opendir (Depends-on): Add closedir.
8970         * modules/getcwd (Depends-on): Add opendir, closedir.
8971         * modules/dirent-safer-tests (Depends-on): Likewise.
8972         * modules/fdopendir-tests (Depends-on): Likewise.
8973         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
8974         * modules/renameat-tests (Depends-on): Likewise.
8975
8976 2011-09-21  Bruno Haible  <bruno@clisp.org>
8977
8978         opendir: Avoid compilation error on mingw.
8979         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
8980         * modules/opendir (Depends-on): Add unistd.
8981
8982 2011-09-21  Bruno Haible  <bruno@clisp.org>
8983
8984         ftruncate tests: Avoid a test failure on mingw.
8985         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
8986
8987 2011-09-21  Bruno Haible  <bruno@clisp.org>
8988
8989         select tests: Avoid test failures on OSF/1 5.1 and mingw.
8990         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
8991         native Windows.
8992
8993 2011-09-21  Bruno Haible  <bruno@clisp.org>
8994
8995         New module 'fdopen'.
8996         * lib/stdio.in.h (fdopen): New declaration.
8997         * lib/fdopen.c: New file.
8998         * m4/fdopen.m4: New file.
8999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9000         REPLACE_FDOPEN.
9001         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9002         REPLACE_FDOPEN.
9003         * modules/fdopen: New file.
9004         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9005         * tests/test-stdio-c++.cc: Check signature of fdopen.
9006         * doc/posix-functions/fdopen.texi: Mention the new module.
9007
9008 2011-09-21  Bruno Haible  <bruno@clisp.org>
9009
9010         unlockpt tests: Avoid test failure on NetBSD 5.1.
9011         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9012         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9013
9014 2011-09-21  Bruno Haible  <bruno@clisp.org>
9015
9016         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9017         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9018         * tests/test-getlogin_r.c (main): Likewise.
9019
9020 2011-09-20  Bruno Haible  <bruno@clisp.org>
9021
9022         time tests: Don't require pid_t.
9023         * doc/posix-headers/time.texi: Revert last change.
9024         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9025         * tests/test-time.c: Comment out the check for pid_t.
9026
9027 2011-09-20  Bruno Haible  <bruno@clisp.org>
9028
9029         fsync tests: Avoid a test failure on mingw.
9030         * tests/test-fsync.c (main): Allow a failure with EIO.
9031
9032 2011-09-20  Bruno Haible  <bruno@clisp.org>
9033
9034         euidaccess: Update comments.
9035         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9036
9037 2011-09-20  Bruno Haible  <bruno@clisp.org>
9038
9039         Ensure EBADF returns for socket functions on mingw.
9040         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9041         descriptor is invalid.
9042         * lib/bind.c (rpl_bind): Likewise.
9043         * lib/connect.c (rpl_connect): Likewise.
9044         * lib/getpeername.c (rpl_getpeername): Likewise.
9045         * lib/getsockname.c (rpl_getsockname): Likewise.
9046         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9047         * lib/listen.c (rpl_listen): Likewise.
9048         * lib/recv.c (rpl_recv): Likewise.
9049         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9050         * lib/send.c (rpl_send): Likewise.
9051         * lib/sendto.c (rpl_sendto): Likewise.
9052         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9053         * lib/shutdown.c (rpl_shutdown): Likewise.
9054
9055 2011-09-20  Bruno Haible  <bruno@clisp.org>
9056
9057         select tests: EBADF tests.
9058         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9059         test_bad_fd): New functions.
9060         (test_function): Invoke also test_bad_fd.
9061
9062 2011-09-20  Bruno Haible  <bruno@clisp.org>
9063
9064         Tests for module 'posix_spawn_file_actions_addopen.
9065         * modules/posix_spawn_file_actions_addopen-tests: New file.
9066         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9067
9068         Tests for module 'posix_spawn_file_actions_adddup2'.
9069         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9070         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9071
9072         Tests for module 'posix_spawn_file_actions_addclose'.
9073         * modules/posix_spawn_file_actions_addclose-tests: New file.
9074         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9075
9076 2011-09-20  Bruno Haible  <bruno@clisp.org>
9077
9078         Tests for module 'unlockpt'.
9079         * modules/unlockpt-tests: New file.
9080         * tests/test-unlockpt.c: New file.
9081         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9082
9083         Tests for module 'grantpt'.
9084         * modules/grantpt-tests: New file.
9085         * tests/test-grantpt.c: New file.
9086         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9087
9088 2011-09-20  Bruno Haible  <bruno@clisp.org>
9089
9090         freopen tests: EBADF tests.
9091         * tests/test-freopen.c: Include errno.h, unistd.h.
9092         (main): Add tests for EBADF, commented out for the moment.
9093
9094         fclose tests: EBADF tests.
9095         * tests/test-fclose.c (main): Add tests for EBADF.
9096
9097         fflush tests: EBADF tests.
9098         * tests/test-fflush.c: Include errno.h, macros.h.
9099         (main): Add tests for EBADF.
9100
9101         ftello tests: EBADF tests.
9102         * tests/test-ftello4.sh: New file.
9103         * tests/test-ftello4.c: New file.
9104         * modules/ftello-tests (Files): Add them.
9105         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9106
9107         fseeko tests: EBADF tests.
9108         * tests/test-fseeko4.sh: New file.
9109         * tests/test-fseeko4.c: New file.
9110         * modules/fseeko-tests (Files): Add them.
9111         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9112
9113         Tests for function fputc().
9114         * modules/fputc-tests: New file.
9115         * tests/test-fputc.c: New file.
9116         * modules/stdio-tests (Depends-on): Add fputc-tests.
9117
9118         Tests for function fgetc().
9119         * modules/fgetc-tests: New file.
9120         * tests/test-fgetc.c: New file.
9121         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9122
9123         Tests for function fdopen().
9124         * modules/fdopen-tests: New file.
9125         * tests/test-fdopen.c: New file.
9126         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9127
9128         Tests for module 'vdprintf'.
9129         * modules/vdprintf-tests: New file.
9130         * tests/test-vdprintf.c: New file.
9131
9132         Tests for module 'dprintf'.
9133         * modules/dprintf-tests: New file.
9134         * tests/test-dprintf.c: New file.
9135
9136 2011-09-20  Bruno Haible  <bruno@clisp.org>
9137
9138         Tests for module 'ioctl'.
9139         * modules/ioctl-tests: New file.
9140         * tests/test-ioctl.c: New file.
9141
9142 2011-09-20  Bruno Haible  <bruno@clisp.org>
9143
9144         fcntl tests: EBADF tests.
9145         * tests/test-fcntl.c (main): Add more tests for EBADF.
9146
9147 2011-09-20  Bruno Haible  <bruno@clisp.org>
9148
9149         utimensat tests: EBADF tests.
9150         * tests/test-utimensat.c (main): Add tests for EBADF.
9151
9152         renameat tests: EBADF tests.
9153         * tests/test-renameat.c (main): Add tests for EBADF.
9154
9155         mkfifoat tests: EBADF tests.
9156         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9157
9158         readlinkat tests: EBADF tests.
9159         * tests/test-readlinkat.c (main): Add tests for EBADF.
9160
9161         symlinkat tests: EBADF tests.
9162         * tests/test-symlinkat.c (main): Add tests for EBADF.
9163
9164         linkat tests: EBADF tests.
9165         * tests/test-linkat.c (main): Add tests for EBADF.
9166
9167         Tests for module 'faccessat'.
9168         * modules/faccessat-tests: New file.
9169         * tests/test-faccessat.c: New file.
9170
9171         fdopendir tests: EBADF tests.
9172         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9173
9174         openat tests: EBADF tests.
9175         * tests/test-fchownat.c (main): Add tests for EBADF.
9176         * tests/test-fstatat.c (main): Likewise.
9177         * tests/test-mkdirat.c (main): Likewise.
9178         * tests/test-openat.c (main): Likewise.
9179         * tests/test-unlinkat.c (main): Likewise.
9180         * tests/test-fchmodat.c: New file.
9181         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9182         (Makefile.am): Also run 'test-fchmodat'.
9183
9184 2011-09-20  Bruno Haible  <bruno@clisp.org>
9185
9186         utimens, futimens, fdutimensat tests: EBADF tests.
9187         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9188
9189         Tests for function fstat().
9190         * modules/fstat-tests: New file.
9191         * tests/test-fstat.c: New file.
9192         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9193
9194 2011-09-20  Bruno Haible  <bruno@clisp.org>
9195
9196         test-ttyname_r tests: EBADF tests.
9197         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9198
9199         Tests for module 'isatty'.
9200         * modules/isatty-tests: New file.
9201         * tests/test-isatty.c: New file.
9202
9203         Tests for module 'write'.
9204         * modules/write-tests: New file.
9205         * tests/test-write.c: New file.
9206
9207         Tests for module 'read'.
9208         * modules/read-tests: New file.
9209         * tests/test-read.c: New file.
9210
9211         pwrite tests: EBADF tests.
9212         * tests/test-pwrite.c (main): Add tests for EBADF.
9213
9214         pread tests: EBADF tests.
9215         * tests/test-pread.c (main): Add tests for EBADF.
9216
9217         lseek tests: EBADF tests.
9218         * tests/test-lseek.c (main): Add more tests for EBADF.
9219
9220         Tests for module 'ftruncate'.
9221         * modules/ftruncate-tests: New file.
9222         * tests/test-ftruncate.sh: New file.
9223         * tests/test-ftruncate.c: New file.
9224
9225         fsync tests: EBADF tests.
9226         * tests/test-fsync.c (main): Add more tests for EBADF.
9227
9228         fdatasync tests: EBADF tests.
9229         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9230
9231         Tests for module 'fchown'.
9232         * modules/fchown-tests: New file.
9233         * tests/test-fchown.c: New file.
9234
9235         Tests for module 'fchmod'.
9236         * modules/fchmod-tests: New file.
9237         * tests/test-fchmod.c: New file.
9238
9239         fchdir tests: EBADF tests.
9240         * tests/test-fchdir.c (main): Add more tests for EBADF.
9241
9242         dup2 tests: EBADF tests.
9243         * tests/test-dup2.c (main): Add more tests for EBADF.
9244
9245         Tests for module 'dup'.
9246         * modules/dup-tests: New file.
9247         * tests/test-dup.c: New file.
9248
9249         Tests for module 'close'.
9250         * modules/close-tests: New file.
9251         * tests/test-close.c: New file.
9252
9253 2011-09-20  Bruno Haible  <bruno@clisp.org>
9254
9255         Tests for module 'shutdown'.
9256         * modules/shutdown-tests: New file.
9257         * tests/test-shutdown.c: New file.
9258
9259         Tests for module 'setsockopt'.
9260         * modules/setsockopt-tests: New file.
9261         * tests/test-setsockopt.c: New file.
9262
9263         Tests for module 'sendto'.
9264         * modules/sendto-tests: New file.
9265         * tests/test-sendto.c: New file.
9266
9267         Tests for module 'send'.
9268         * modules/send-tests: New file.
9269         * tests/test-send.c: New file.
9270
9271         Tests for module 'recvfrom'.
9272         * modules/recvfrom-tests: New file.
9273         * tests/test-recvfrom.c: New file.
9274
9275         Tests for module 'recv'.
9276         * modules/recv-tests: New file.
9277         * tests/test-recv.c: New file.
9278
9279         Tests for module 'listen'.
9280         * modules/listen-tests: New file.
9281         * tests/test-listen.c: New file.
9282
9283         Tests for module 'getsockopt'.
9284         * modules/getsockopt-tests: New file.
9285         * tests/test-getsockopt.c: New file.
9286
9287         Tests for module 'getsockname'.
9288         * modules/getsockname-tests: New file.
9289         * tests/test-getsockname.c: New file.
9290
9291         Tests for module 'getpeername'.
9292         * modules/getpeername-tests: New file.
9293         * tests/test-getpeername.c: New file.
9294
9295         Tests for module 'connect'.
9296         * modules/connect-tests: New file.
9297         * tests/test-connect.c: New file.
9298
9299         Tests for module 'bind'.
9300         * modules/bind-tests: New file.
9301         * tests/test-bind.c: New file.
9302
9303         accept4 tests: Fix for native Windows.
9304         * tests/test-accept4.c: Include sockets.h.
9305         (main): Invoke gl_sockets_startup.
9306         * modules/accept4-tests (Depends-on): Add sockets.
9307
9308         accept tests: Fix for native Windows.
9309         * tests/test-accept.c: Include sockets.h.
9310         (main): Invoke gl_sockets_startup.
9311         * modules/accept-tests (Depends-on): Add sockets.
9312
9313 2011-09-19  Bruno Haible  <bruno@clisp.org>
9314
9315         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9316         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9317         do...while(0).
9318         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9319         Suggested by Paul Eggert.
9320
9321 2011-09-19  Bruno Haible  <bruno@clisp.org>
9322
9323         sched: Ensure pid_t is defined.
9324         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9325         not define pid_t.
9326         * lib/sched.in.h: Include <sys/types.h>.
9327         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9328         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9329
9330 2011-09-19  Bruno Haible  <bruno@clisp.org>
9331
9332         msvc-inval: Ensure the entire expansion is a single statement.
9333         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9334         of braces.
9335
9336 2011-09-19  Jim Meyering  <meyering@redhat.com>
9337
9338         tests: use printf, not echo in init.sh's warn_ function
9339         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9340         misbehave when given strings containing a backslash or starting
9341         with e.g., -n.  James Youngman suggested setting IFS.
9342
9343 2011-09-19  Eric Blake  <eblake@redhat.com>
9344
9345         futimens: enhance test
9346         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9347         closed non-negative fd.
9348
9349         date: accept 'hence' as opposite of 'ago'
9350         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9351         * tests/test-parse-datetime.c (main): Enhance test.
9352         Suggested by Jesse Wilson.
9353
9354 2011-09-19  Jim Meyering  <meyering@redhat.com>
9355
9356         getcwd: don't fail in a deep directory on a system without openat
9357         Before this change, getcwd would fail when called from a directory
9358         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9359         the non-openat implementation used "..", "../..", "../../..", etc.
9360         to access ancestor directories.  With too many, that string would
9361         be longer than PATH_MAX.
9362         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9363         using gnulib's openat replacement.
9364         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9365         we're using the replacement function.
9366
9367 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9368
9369         maint.mk: avoid warnings from perl about missing files
9370         * top/maint.mk (def_sym_regex): Ignore files listed in
9371         $(gl_other_headers_) that do not exist, say because a project
9372         does not use a corresponding module.
9373
9374 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9375
9376         stat: use pathmax.h only if needed
9377         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9378         This is better for Emacs, which does not have a mingw port and
9379         therefore can avoid the pathmax module.
9380
9381         utimens: remove dependency on dup2
9382         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9383         to work around the Linux kernel bug.
9384         * modules/utimens (Depends-on): Remove dup2.
9385
9386 2011-09-18  Bruno Haible  <bruno@clisp.org>
9387
9388         inet_ntop, inet_pton: Look for it also in libresolv.
9389         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9390         libnsl, search for it in libresolv.
9391         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9392         Needed on Solaris 7.
9393
9394 2011-09-18  Bruno Haible  <bruno@clisp.org>
9395
9396         accept, accept4 tests: Avoid link error on Solaris.
9397         * modules/accept-tests (Makefile.am): Link test-accept against
9398         $(LIBSOCKET).
9399         * modules/accept4-tests (Makefile.am): Link test-accept4 against
9400         $(LIBSOCKET).
9401
9402         accept4: Avoid link error on Solaris.
9403         * modules/accept4 (Link): New section.
9404
9405         socket functions: Avoid link errors on Solaris.
9406         * modules/accept (Depends-on): Add socketlib.
9407         (Link): New section.
9408         * modules/bind (Depends-on): Add socketlib.
9409         (Link): New section.
9410         * modules/connect (Depends-on): Add socketlib.
9411         (Link): New section.
9412         * modules/getpeername (Depends-on): Add socketlib.
9413         (Link): New section.
9414         * modules/getsockname (Depends-on): Add socketlib.
9415         (Link): New section.
9416         * modules/getsockopt (Depends-on): Add socketlib.
9417         (Link): New section.
9418         * modules/listen (Depends-on): Add socketlib.
9419         (Link): New section.
9420         * modules/recv (Depends-on): Add socketlib.
9421         (Link): New section.
9422         * modules/recvfrom (Depends-on): Add socketlib.
9423         (Link): New section.
9424         * modules/send (Depends-on): Add socketlib.
9425         (Link): New section.
9426         * modules/sendto (Depends-on): Add socketlib.
9427         (Link): New section.
9428         * modules/setsockopt (Depends-on): Add socketlib.
9429         (Link): New section.
9430         * modules/shutdown (Depends-on): Add socketlib.
9431         (Link): New section.
9432         * modules/socket (Depends-on): Add socketlib.
9433         (Link): New section.
9434
9435 2011-09-18  Bruno Haible  <bruno@clisp.org>
9436
9437         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
9438         * tests/test-ptsname.c (main): Terminate the test if it takes longer
9439         than 5 seconds.
9440         * modules/ptsname-tests (configure.ac): Test for alarm.
9441
9442 2011-09-18  Bruno Haible  <bruno@clisp.org>
9443
9444         posix_spawn_file_actions_add*: Fix module dependencies.
9445         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
9446         posix_spawn_file_actions_init.
9447         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
9448         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
9449
9450 2011-09-18  Bruno Haible  <bruno@clisp.org>
9451
9452         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
9453         * tests/test-rename.h (test_rename): Allow error code EEXIST.
9454         * tests/test-renameat.c (main): Likewise.
9455
9456 2011-09-18  Bruno Haible  <bruno@clisp.org>
9457
9458         Tests for module 'accept4'.
9459         * modules/accept4-tests: New file.
9460         * tests/test-accept4.c: New file.
9461
9462 2011-09-18  Bruno Haible  <bruno@clisp.org>
9463
9464         Tests for module 'accept'.
9465         * modules/accept-tests: New file.
9466         * tests/test-accept.c: New file.
9467
9468 2011-09-18  Bruno Haible  <bruno@clisp.org>
9469
9470         dup2: Support for MSVC.
9471         * lib/dup2.c: Include msvc-inval.h.
9472         (rpl_dup2): Handle invalid parameter notifications during dup2 and
9473         _get_osfhandle calls.
9474         * modules/dup2 (Depends-on): Add msvc-inval.
9475         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
9476
9477         New module 'msvc-inval'.
9478         * lib/msvc-inval.h: New file.
9479         * lib/msvc-inval.c: New file.
9480         * m4/msvc-inval.m4: New file.
9481         * modules/msvc-inval: New file.
9482
9483 2011-09-17  Bruno Haible  <bruno@clisp.org>
9484
9485         Tests for module 'pclose'.
9486         * modules/pclose-tests: New file.
9487
9488         New module 'pclose'.
9489         * lib/stdio.in.h (pclose): New declaration.
9490         * lib/pclose.c: New file.
9491         * m4/pclose.m4: New file.
9492         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
9493         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
9494         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
9495         * modules/pclose: New file.
9496         * modules/popen-tests (Depends-on): Add pclose.
9497         * modules/popen-safer-tests (Depends-on): Likewise.
9498         * doc/posix-functions/pclose.texi: Mention the new module.
9499
9500 2011-09-17  Bruno Haible  <bruno@clisp.org>
9501
9502         popen: Support for MSVC.
9503         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
9504         * lib/popen.c (popen): Provide alternate definition for native Windows.
9505         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
9506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
9507         * modules/popen (Depends-on, configure.ac): Update condition.
9508         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
9509         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
9510         fixed.
9511
9512 2011-09-17  Bruno Haible  <bruno@clisp.org>
9513
9514         isnanl, isnand, isnanf: Work around MSVC bug.
9515         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
9516
9517 2011-09-17  Bruno Haible  <bruno@clisp.org>
9518
9519         sys_socket tests: Fix recent mistake.
9520         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
9521
9522 2011-09-17  Bruno Haible  <bruno@clisp.org>
9523
9524         putenv: Support for MSVC.
9525         * modules/putenv (Depends-on): Add environ.
9526         * lib/putenv.c (environ): Disable declaration.
9527         * lib/unistd.in.h: Update comment.
9528
9529 2011-09-17  Bruno Haible  <bruno@clisp.org>
9530
9531         math: Avoid macro redefinition warnings on MSVC.
9532         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9533         Undefine before redefining.
9534
9535 2011-09-17  Bruno Haible  <bruno@clisp.org>
9536
9537         doc: Mention functions which are declared as macros.
9538         * doc/posix-functions/*[fl].texi: Mention that some functions are
9539         defined as macros with arguments only.
9540
9541 2011-09-17  Bruno Haible  <bruno@clisp.org>
9542
9543         Add dependencies to new dirent related modules.
9544         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9545         * modules/fts (Depends-on): Likewise.
9546         * modules/glob (Depends-on): Likewise.
9547         * modules/savedir (Depends-on): Likewise.
9548         * modules/scandir (Depends-on): Likewise.
9549         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9550         * modules/fdopendir (Depends-on): Add opendir.
9551
9552 2011-09-17  Bruno Haible  <bruno@clisp.org>
9553
9554         inet_pton: Support for MSVC on Windows Vista or newer.
9555         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9556         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9557         HAVE_DECL_INET_PTON is defined.
9558         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9559         On platforms with <winsock2.h>, test whether inet_pton is declared in
9560         <ws2tcpip.h>. If so, arrange to replace it.
9561         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9562         REPLACE_INET_PTON.
9563         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9564         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9565         (Depends-on, configure.ac): Update condition.
9566         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9567
9568 2011-09-17  Bruno Haible  <bruno@clisp.org>
9569
9570         inet_ntop: Support for MSVC on Windows Vista or newer.
9571         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9572         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9573         HAVE_DECL_INET_NTOP is defined.
9574         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9575         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9576         <ws2tcpip.h>. If so, arrange to replace it.
9577         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9578         REPLACE_INET_NTOP.
9579         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9580         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9581         (Depends-on, configure.ac): Update condition.
9582         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9583
9584 2011-09-16  Eric Blake  <eblake@redhat.com>
9585
9586         test-fsync: yet another enhancement
9587         * tests/test-fsync.c (main): Also test behavior on read-only text
9588         file.
9589
9590 2011-09-16  Bruno Haible  <bruno@clisp.org>
9591
9592         Enhance fsync, fdatasync tests.
9593         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9594         * tests/test-fdatasync.c (main): Likewise.
9595
9596 2011-09-16  Bruno Haible  <bruno@clisp.org>
9597
9598         Support for MSVC compiler: Ensure mode_t gets defined.
9599         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9600         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9601         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9602         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9603         * tests/test-fcntl-h.c: Check that mode_t is defined.
9604         * tests/test-sys_stat.c: Likewise.
9605         * tests/test-sys_types.c: Likewise.
9606         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9607         * doc/posix-headers/sys_stat.texi: Likewise.
9608         * doc/posix-headers/sys_types.texi: Likewise.
9609
9610 2011-09-16  Bruno Haible  <bruno@clisp.org>
9611
9612         sys_stat: Support for MSVC.
9613         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9614         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9615         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9616         MSVC.
9617
9618 2011-09-16  Bruno Haible  <bruno@clisp.org>
9619
9620         Support for MSVC compiler: Ensure off_t gets defined.
9621         * lib/unistd.in.h: Include <sys/types.h>.
9622         * tests/test-fcntl-h.c: Check that off_t is defined.
9623         * tests/test-sys_stat.c: Likewise.
9624         * tests/test-sys_types.c: Likewise.
9625
9626 2011-09-16  Eric Blake  <eblake@redhat.com>
9627
9628         fdatasync: port to Solaris
9629         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9630         * modules/fdatasync (Link): Document it.
9631         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9632
9633         fdatasync: port to MacOS X 10.7
9634         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9635         declared.
9636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9637         * modules/unistd (Makefile.am): Substitute it.
9638         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9639         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9640
9641         fdatasync: minor improvements
9642         * modules/fdatasync (Depends-on): Add condition for fsync.
9643         * lib/fdatasync.c (fdatasync): Add comment.
9644         * tests/test-unistd-c++.cc: Test fdatasync.
9645
9646         unistd: update refs to newer POSIX
9647         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9648         Suggested by Bruno Haible.
9649
9650         fdatasync: new module
9651         * modules/fsync (Description): Document difference to fdatasync.
9652         * modules/fdatasync: New module.
9653         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9654         * lib/fdatasync.c (fdatasync): Likewise.
9655         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9656         defaults.
9657         * modules/unistd (Makefile.am): Set witnesses.
9658         * lib/unistd.in.h (fdatasync): Declare.
9659         * MODULES.html.sh: Document it.
9660         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9661         * modules/fdatasync-tests: New test.
9662         * tests/test-fdatasync.c: Likewise.
9663
9664 2011-09-16  Eric Blake  <eblake@redhat.com>
9665
9666         test-fsync: enhance tests
9667         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9668         * tests/test-fsync.c (main): Enhance test.
9669
9670 2011-09-15  Bruno Haible  <bruno@clisp.org>
9671
9672         Support for MSVC compiler: Ensure ssize_t gets defined.
9673         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9674         * doc/posix-headers/stdio.texi: Likewise.
9675         * modules/stdio (Depends-on): Add ssize_t.
9676         * modules/sys_socket (Depends-on): Likewise.
9677         * modules/sys_types (Depends-on): Likewise.
9678         * modules/sys_uio (Depends-on): Likewise.
9679         * modules/unistd (Depends-on): Likewise.
9680         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9681         * tests/test-sys_types.c: Check that ssize_t is defined.
9682
9683 2011-09-14  Bruno Haible  <bruno@clisp.org>
9684
9685         Avoid using #, the m4 comment starter character, near brackets.
9686         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9687         delimiter character in sed expressions.
9688         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9689         Suggested by Eric Blake.
9690
9691         Properly quote AC_CHECK_DECLS' 4th argument.
9692         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9693         argument.
9694         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9695         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9696         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9697         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9698         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9699         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9700         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9701         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9702         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9703         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9704         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9705         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9706         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9707         * m4/isinf.m4 (gl_ISINF): Likewise.
9708         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9709         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9710         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9711         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9712         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9713         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9714         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9715         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9716         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9717         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9718         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9719         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9720         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9721         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9722         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9723         Reported by Eric Blake.
9724
9725         Properly quote AC_CHECK_DECL's 4th argument.
9726         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9727         argument.
9728         * m4/argp.m4 (gl_ARGP): Likewise.
9729         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9730         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9731         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9732         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9733         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9734         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9735         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9736         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9737         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9738         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9739         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9740         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9741         Reported by Eric Blake.
9742
9743 2011-09-14  Eric Blake  <eblake@redhat.com>
9744
9745         opendir: avoid compile warning
9746         * lib/opendir.c (includes): Always include errno.h.
9747         Reported by Tatsuro MATSUOKA.
9748
9749 2011-09-14  Jim Meyering  <meyering@redhat.com>
9750
9751         maint.mk: sc_tight_scope: propagate failure from sub-make
9752         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9753         Reported by Martin von Gagern.
9754
9755 2011-09-13  Bruno Haible  <bruno@clisp.org>
9756
9757         tempname: Support for MSVC.
9758         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9759         MSVC.
9760         * modules/tempname (Depends-on): Add fcntl-h.
9761
9762 2011-09-13  Bruno Haible  <bruno@clisp.org>
9763
9764         sys_time: Support for MSVC.
9765         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9766         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9767         include <winsock2.h>.
9768         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9769         function declarations that collide with POSIX.
9770         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9771         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9772
9773 2011-09-13  Bruno Haible  <bruno@clisp.org>
9774
9775         stat: Support for MSVC.
9776         * lib/stat.c: Include pathmax.h.
9777         * modules/stat (Depends-on): Add pathmax.
9778
9779         pathmax: Support for native Windows.
9780         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9781
9782 2011-09-12  Bruno Haible  <bruno@clisp.org>
9783
9784         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9785         * lib/dirent.in.h (struct dirent): New type.
9786         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9787         DT_WHT): New macros.
9788         (DIR): New type.
9789         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9790         (readdir, rewinddir): New declarations.
9791         * lib/dirent-private.h: New file.
9792         * lib/opendir.c: New file.
9793         * lib/readdir.c: New file.
9794         * lib/rewinddir.c: New file.
9795         * lib/closedir.c: New file.
9796         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9797         * m4/opendir.m4: New file.
9798         * m4/readdir.m4: New file.
9799         * m4/rewinddir.m4: New file.
9800         * m4/closedir.m4: New file.
9801         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9802         REPLACE_CLOSEDIR here.
9803         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9804         readdir, rewinddir are declared.
9805         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9806         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9807         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9808         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9809         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9810         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9811         * modules/opendir: New file.
9812         * modules/readdir: New file.
9813         * modules/rewinddir: New file.
9814         * modules/closedir: New file.
9815         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9816         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9817         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9818         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9819         * NEWS: Mention the 'fchdir' change.
9820
9821 2011-09-11  Bruno Haible  <bruno@clisp.org>
9822
9823         asm-underscore.m4: Support for MSVC.
9824         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9825         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9826
9827 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9828
9829         Doc about crypt functions.
9830         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9831         needing for _GNU_SOURCE to get crypt.
9832         * doc/posix-functions/encrypt.texi: Likewise.
9833         * doc/posix-functions/setkey.texi: Likewise.
9834
9835 2011-09-11  Bruno Haible  <bruno@clisp.org>
9836
9837         doc: Update regarding MSVC 9.
9838         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9839         tested".
9840         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9841         * doc/posix-headers/*.texi: Likewise.
9842         * doc/pastposix-functions/*.texi: Likewise.
9843         * doc/glibc-functions/*.texi: Likewise.
9844         * doc/glibc-headers/*.texi: Likewise.
9845
9846 2011-09-11  Bruno Haible  <bruno@clisp.org>
9847
9848         unistd et al.: Don't assume <unistd.h> exists.
9849         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9850         does not exist.
9851         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9852         exist. But include <stdlib.h>.
9853         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9854         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9855         symlink() does not exist.
9856         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9857         include <io.h> instead.
9858         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9859         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9860         include <direct.h> instead.
9861         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9862         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9863         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9864         <io.h> instead.
9865         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9866         correctly if the system does not have hard links.
9867         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9868         <direct.h> instead.
9869         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9870         it when looking for function declarations.
9871         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9872         <direct.h> and <io.h> instead.
9873         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9874
9875 2011-09-11  Bruno Haible  <bruno@clisp.org>
9876
9877         strcase: Support for MSVC.
9878         * modules/strcase (Status, Notice): Remove obsoletion mark.
9879         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9880         * doc/posix-functions/strncasecmp.texi: Likewise.
9881
9882         strings: Don't assume <strings.h> exists.
9883         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9884         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9885         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9886         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9887
9888 2011-09-11  Bruno Haible  <bruno@clisp.org>
9889
9890         dirent: Don't assume <dirent.h> exists.
9891         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9892         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9893         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9894         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9895
9896 2011-09-11  Bruno Haible  <bruno@clisp.org>
9897
9898         Fix wint_t on MSVC.
9899         * lib/wchar.in.h (wint_t): On MSVC, override it.
9900         * lib/wctype.in.h (wint_t): Likewise.
9901         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9902         MSVC.
9903         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9904         * doc/posix-headers/wctype.texi: Likewise.
9905
9906 2011-09-11  Bruno Haible  <bruno@clisp.org>
9907
9908         sys_types: Fix typo.
9909         * lib/sys_types.in.h: Fix typo in comment.
9910         Reported by Paul Eggert.
9911
9912         Support for MSVC compiler: Ensure size_t gets defined.
9913         * modules/strings (Depends-on): Add 'sys_types'.
9914         * modules/sys_uio (Depends-on): Likewise.
9915         * lib/sys_uio.in.h: Update comment.
9916
9917         C++ tests for module 'sys_types'.
9918         * modules/sys_types-c++-tests: New file.
9919         * tests/test-sys_types-c++.cc: New file.
9920
9921         Tests for module 'sys_types'.
9922         * modules/sys_types-tests: New file.
9923         * tests/test-sys_types.c: New file.
9924
9925         New module 'sys_types'.
9926         * lib/sys_types.in.h: New file.
9927         * m4/sys_types_h.m4: New file.
9928         * modules/sys_types: New file.
9929         * doc/posix-headers/sys_types.texi: Mention the new module and the
9930         size_t problem on MSVC 9.
9931
9932 2011-09-11  Bruno Haible  <bruno@clisp.org>
9933
9934         Support for MSVC compiler: Avoid division by a literal 0.
9935         * lib/math.in.h (NAN): Define through a function call also on MSVC.
9936         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
9937         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
9938         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
9939         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
9940         * tests/infinity.h: New file.
9941         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
9942         on MSVC.
9943         * tests/test-ceilf1.c: Include infinity.h.
9944         (main): Use Infinityf.
9945         * tests/test-ceil1.c: Include infinity.h.
9946         (main): Use Infinityd.
9947         * tests/test-ceill.c: Include infinity.h.
9948         (main): Use Infinityl.
9949         * tests/test-dprintf-posix.c: Include infinity.h.
9950         (test_function): Use Infinityd.
9951         * tests/test-floorf1.c: Include infinity.h.
9952         (main): Use Infinityf.
9953         * tests/test-floor1.c: Include infinity.h.
9954         (main): Use Infinityd.
9955         * tests/test-floorl.c: Include infinity.h.
9956         (main): Use Infinityl.
9957         * tests/test-fprintf-posix.c: Include infinity.h.
9958         (test_function): Use Infinityd.
9959         * tests/test-frexp.c: Include infinity.h.
9960         (main): Use Infinityd.
9961         * tests/test-frexpl.c: Include infinity.h.
9962         (main): Use Infinityl.
9963         * tests/test-isfinite.c: Include infinity.h.
9964         (test_isfinitef): Use Infinityf.
9965         (test_isfinited): Use Infinityd.
9966         (test_isfinitel): Use Infinityl.
9967         * tests/test-isinf.c: Include infinity.h.
9968         (test_isinff): Use Infinityf.
9969         (test_isinfd): Use Infinityd.
9970         (test_isinfl): Use Infinityl.
9971         * tests/test-isnan.c: Include infinity.h.
9972         (test_float): Use Infinityf.
9973         (test_double): Use Infinityd.
9974         (test_long_double): Use Infinityl.
9975         * tests/test-isnanf.h: Include infinity.h.
9976         (main): Use Infinityf.
9977         * tests/test-isnand.h: Include infinity.h.
9978         (main): Use Infinityd.
9979         * tests/test-isnanl.h: Include infinity.h.
9980         (main): Use Infinityl.
9981         * tests/test-ldexpl.c: Include infinity.h.
9982         (main): Use Infinityl.
9983         * tests/test-printf-posix.h: Include infinity.h.
9984         (test_function): Use Infinityd.
9985         * tests/test-roundf1.c: Include infinity.h.
9986         (main): Use Infinityf.
9987         * tests/test-round1.c: Include infinity.h.
9988         (main): Use Infinityd.
9989         * tests/test-roundl.c: Include infinity.h.
9990         (main): Use Infinityl.
9991         * tests/test-signbit.c: Include infinity.h.
9992         (test_signbitf): Use Infinityf.
9993         (test_signbitd): Use Infinityd.
9994         (test_signbitl): Use Infinityl.
9995         * tests/test-snprintf-posix.h: Include infinity.h.
9996         (test_function): Use Infinityd, Infinityl.
9997         * tests/test-sprintf-posix.h: Include infinity.h.
9998         (test_function): Use Infinityd, Infinityl.
9999         * tests/test-truncf1.c: Include infinity.h.
10000         (main): Use Infinityf.
10001         * tests/test-trunc1.c: Include infinity.h.
10002         (main): Use Infinityd.
10003         * tests/test-truncl.c: Include infinity.h.
10004         (main): Use Infinityl.
10005         * tests/test-vasnprintf-posix.c: Include infinity.h.
10006         (test_function): Use Infinityd, Infinityl.
10007         * tests/test-vasprintf-posix.c: Include infinity.h.
10008         (test_function): Use Infinityd, Infinityl.
10009         * modules/ceilf-tests (Files): Add tests/infinity.h.
10010         * modules/ceil-tests (Files): Likewise.
10011         * modules/ceill-tests (Files): Likewise.
10012         * modules/dprintf-posix-tests (Files): Likewise.
10013         * modules/floorf-tests (Files): Likewise.
10014         * modules/floor-tests (Files): Likewise.
10015         * modules/floorl-tests (Files): Likewise.
10016         * modules/fprintf-posix-tests (Files): Likewise.
10017         * modules/frexp-tests (Files): Likewise.
10018         * modules/frexp-nolibm-tests (Files): Likewise.
10019         * modules/frexpl-tests (Files): Likewise.
10020         * modules/frexpl-nolibm-tests (Files): Likewise.
10021         * modules/isfinite-tests (Files): Likewise.
10022         * modules/isinf-tests (Files): Likewise.
10023         * modules/isnan-tests (Files): Likewise.
10024         * modules/isnanf-tests (Files): Likewise.
10025         * modules/isnanf-nolibm-tests (Files): Likewise.
10026         * modules/isnand-tests (Files): Likewise.
10027         * modules/isnand-nolibm-tests (Files): Likewise.
10028         * modules/isnanl-tests (Files): Likewise.
10029         * modules/isnanl-nolibm-tests (Files): Likewise.
10030         * modules/ldexpl-tests (Files): Likewise.
10031         * modules/printf-posix-tests (Files): Likewise.
10032         * modules/roundf-tests (Files): Likewise.
10033         * modules/round-tests (Files): Likewise.
10034         * modules/roundl-tests (Files): Likewise.
10035         * modules/signbit-tests (Files): Likewise.
10036         * modules/snprintf-posix-tests (Files): Likewise.
10037         * modules/sprintf-posix-tests (Files): Likewise.
10038         * modules/truncf-tests (Files): Likewise.
10039         * modules/trunc-tests (Files): Likewise.
10040         * modules/truncl-tests (Files): Likewise.
10041         * modules/vasnprintf-posix-tests (Files): Likewise.
10042         * modules/vasprintf-posix-tests (Files): Likewise.
10043         * modules/vdprintf-posix-tests (Files): Likewise.
10044         * modules/vfprintf-posix-tests (Files): Likewise.
10045         * modules/vprintf-posix-tests (Files): Likewise.
10046         * modules/vsnprintf-posix-tests (Files): Likewise.
10047         * modules/vsprintf-posix-tests (Files): Likewise.
10048         * modules/xprintf-posix-tests (Files): Likewise.
10049
10050 2011-09-11  Bruno Haible  <bruno@clisp.org>
10051
10052         Ensure pid_t gets defined.
10053         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10054         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10055         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10056         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10057         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10058         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10059         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10060         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10061         * tests/test-fcntl-h.c: Check that pid_t is defined.
10062         * tests/test-sched.c: Likewise.
10063         * tests/test-termios.c: Likewise.
10064         * tests/test-time.c: Likewise.
10065         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10066         * doc/posix-headers/signal.texi: Likewise.
10067         * doc/posix-headers/sys_types.texi: Likewise.
10068         * doc/posix-headers/time.texi: Likewise.
10069
10070 2011-09-11  Bruno Haible  <bruno@clisp.org>
10071
10072         acl: Fix compilation on Solaris 10 (older version).
10073         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10074         of ACE_EVERYONE.
10075         * lib/set-mode-acl.c (qset_acl): Likewise.
10076         Reported by Christian Jullien <eligis@orange.fr>.
10077
10078 2011-09-10  Bruno Haible  <bruno@clisp.org>
10079
10080         iconv, unsetenv: Add support for MSVC compiler.
10081         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10082         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10083
10084 2011-09-10  Bruno Haible  <bruno@clisp.org>
10085
10086         *printf: Add support for MSVC compiler.
10087         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10088         handles the exception caused by the %n directive. When cross-compiling,
10089         guess no on native Windows.
10090         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10091         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10092         emulate it through vsnprintf.
10093         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10094         * doc/posix-functions/dprintf.texi: Update documentation regarding
10095         MSVC 9.
10096         * doc/posix-functions/fprintf.texi: Likewise.
10097         * doc/posix-functions/printf.texi: Likewise.
10098         * doc/posix-functions/snprintf.texi: Likewise.
10099         * doc/posix-functions/sprintf.texi: Likewise.
10100         * doc/posix-functions/swprintf.texi: Likewise.
10101         * doc/posix-functions/vdprintf.texi: Likewise.
10102         * doc/posix-functions/vfprintf.texi: Likewise.
10103         * doc/posix-functions/vprintf.texi: Likewise.
10104         * doc/posix-functions/vsnprintf.texi: Likewise.
10105         * doc/posix-functions/vsprintf.texi: Likewise.
10106         * doc/glibc-functions/asprintf.texi: Likewise.
10107         * doc/glibc-functions/obstack_printf.texi: Likewise.
10108         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10109         * doc/glibc-functions/vasprintf.texi: Likewise.
10110
10111 2011-09-10  Bruno Haible  <bruno@clisp.org>
10112
10113         nocrash: Add support for native Windows.
10114         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10115
10116 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10117             Bruno Haible  <bruno@clisp.org>
10118
10119         absolute-header, include-next: Add support for MSVC compiler.
10120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10121         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10122         directory separator in #line directives.
10123         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10124         recognize also backslash as directory separator in #line directives.
10125
10126 2011-09-08  Jim Meyering  <meyering@redhat.com>
10127
10128         maint.mk: mark the post-release commit log with "maint: " prefix
10129         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10130         one-line commit-log summary.
10131
10132 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10133             Bruno Haible  <bruno@clisp.org>
10134
10135         Doc about crypt functions.
10136         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10137         systems.
10138         * doc/posix-functions/encrypt.texi: Likewise.
10139         * doc/posix-functions/setkey.texi: Likewise.
10140
10141 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10142
10143         * lib/gc.h: Fix copyright header.
10144
10145 2011-09-07  Bruno Haible  <bruno@clisp.org>
10146
10147         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10148         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10149         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10150
10151 2011-09-07  Bruno Haible  <bruno@clisp.org>
10152
10153         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10154         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10155         * lib/freopen.c: Likewise.
10156         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10157         * lib/lstat.c: Likewise.
10158         * lib/stat.c: Likewise.
10159         * lib/open.c: Use different syntax for include of <fcntl.h>.
10160         * lib/openat.c: Include fcntl.h again, explicitly.
10161
10162 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10163
10164         parse-datetime: document the newly accepted format
10165         * doc/parse-datetime.texi (Combined date and time of day items):
10166         New section.
10167
10168 2011-09-06  Bruno Haible  <bruno@clisp.org>
10169
10170         acl: Fix a test failure on newer Solaris 10 with ZFS.
10171         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10172         ENOSYS as no ACL.
10173         Reported by Jim Meyering.
10174
10175 2011-09-06  Bruno Haible  <bruno@clisp.org>
10176
10177         acl: Update for AIX >= 5.3 with NFS.
10178         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10179         ENOSYS as no ACL.
10180
10181         acl: Fix a test failure on AIX >= 5.3 with NFS.
10182         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10183         as no ACL.
10184
10185 2011-09-06  Bruno Haible  <bruno@clisp.org>
10186
10187         acl: Fix a test failure on IRIX 6.5 with NFS.
10188         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10189         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10190         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10191         * lib/copy-acl.c (qcopy_acl): Likewise.
10192
10193 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10194
10195         openat: port to AIX 7.1 with large files
10196         AIX 7.1 does a "#define openat open64at" if large files are in use,
10197         so we can't simply #undef openat.  Use the orig_openat trick (similar
10198         to orig_open in lib/open.c) to work around the problem.  Problem
10199         reported by Kevin Brott for GNU tar, in the thread containing
10200         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10201         * lib/openat.c (__need_system_fcntl_h): Define first.
10202         Include <fcntl.h> and <sys/types.h> before undefining.
10203         (orig_openat) [HAVE_OPENAT]: New inline function.
10204         (openat) [HAVE_OPENAT]: Do not undef.
10205         (rpl_openat): Use orig_openat, not openat.
10206
10207 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10208             Bruno Haible  <bruno@clisp.org>
10209
10210         acl: Avoid errors on NonStop Kernel.
10211         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10212         ENOTSUP errors.
10213
10214 2011-09-05  Bruno Haible  <bruno@clisp.org>
10215
10216         acl: Clean up Solaris code.
10217         * lib/acl-internal.h: Remove no-op #if.
10218         * lib/file-has-acl.c: Likewise.
10219         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10220         * lib/copy-acl.c (qcopy_acl): Likewise.
10221
10222 2011-09-05  Bruno Haible  <bruno@clisp.org>
10223
10224         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10225         binaries built on the original Solaris 10.
10226         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10227         trivial.
10228
10229 2011-09-05  Bruno Haible  <bruno@clisp.org>
10230
10231         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10232         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10233         10.
10234         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10235         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10236         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10237         instead of acl_get, facl_get, acl_set, facl_set.
10238
10239 2011-09-05  Bruno Haible  <bruno@clisp.org>
10240
10241         copy-file: Try unit tests on more file systems.
10242         * tests/test-copy-file-1.sh: New file.
10243         * tests/test-copy-file-2.sh: New file.
10244         * modules/copy-file-tests (Files): Add them.
10245         (Makefile.am): Add them to TESTS.
10246
10247         acl: Try unit tests on more file systems.
10248         * tests/test-file-has-acl-1.sh: New file.
10249         * tests/test-file-has-acl-2.sh: New file.
10250         * tests/test-set-mode-acl-1.sh: New file.
10251         * tests/test-set-mode-acl-2.sh: New file.
10252         * tests/test-copy-acl-1.sh: New file.
10253         * tests/test-copy-acl-2.sh: New file.
10254         * modules/acl-tests (Files): Add them.
10255         (Makefile.am): Add them to TESTS.
10256
10257 2011-09-04  Bruno Haible  <bruno@clisp.org>
10258
10259         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10260         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10261         10.
10262         (OLD_ALLOW, OLD_DENY): New macros.
10263         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10264         ACE_ACCESS_ALLOWED_ACE_TYPE.
10265         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10266         ACE_ACCESS_DENIED_ACE_TYPE.
10267         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10268         (NEW_ACE_EXECUTE): Fix value.
10269         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10270         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10271         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10272         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10273         NEW_ACE_SYNCHRONIZE): New macros.
10274         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10275         instead of acl_fromtext, acl_set, facl_set.
10276         Fixes a coreutils/tests/cp/perm failure.
10277
10278 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10279
10280         openat: test for fstatat (..., 0) bug
10281         Further testing with tar suggests that fstatat (..., 0)
10282         does not work in general, on AIX 7.1; see
10283         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10284         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10285         replacement fstatat (which is what older AIX releases were using
10286         anyway).
10287         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10288         use is now changed to orig_fstatat.  This was probably the right
10289         thing to do anyway.
10290         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10291         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10292         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10293         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10294         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10295         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10296         if the bug is found.
10297
10298         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10299         This tests for another fstatat bug on AIX 7.1:
10300         fstatat (AT_FDCWD, ..., 0) does not work.  See
10301         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10302         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10303         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10304         (rpl_fstatat): Adjust so that it works around either (or both)
10305         bugs if present.
10306         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10307
10308 2011-09-03  Karl Berry  <karl@gnu.org>
10309
10310         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10311         in index entries.
10312
10313 2011-09-02  Bruno Haible  <bruno@clisp.org>
10314
10315         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10316         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10317         values of AR, ARFLAGS, RANLIB.
10318         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10319
10320 2011-09-02  Bruno Haible  <bruno@clisp.org>
10321
10322         Find 'ar' program that fits with --host argument.
10323         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10324
10325 2011-09-02  Bruno Haible  <bruno@clisp.org>
10326
10327         tests: init.sh: Support any non-GNU diff.
10328         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10329         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10330         Solaris 8.
10331
10332 2011-09-02  Bruno Haible  <bruno@clisp.org>
10333
10334         tests: init.sh: work also with any non-GNU diff that supports -u
10335         * tests/init.sh: Relax check for diff -u support.
10336         Rather than checking for GNU diff via --version, simply check
10337         for support for -u itself.  Useful at least on OpenBSD 4.9,
10338         AIX 7.1, IRIX 6.5, and Solaris 10.
10339
10340 2011-09-01  Bruno Haible  <bruno@clisp.org>
10341
10342         strtoimax, strtoumax: Document problem on HP-UX 11.
10343         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10344         * doc/posix-functions/strtoumax.texi: Likewise.
10345
10346 2011-09-01  Bruno Haible  <bruno@clisp.org>
10347
10348         strtoumax: Avoid link error on OSF/1 with DTK cc.
10349         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10350         defined as a function.
10351         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10352         strtoumax is defined, not whether it is declared.
10353
10354 2011-09-01  Bruno Haible  <bruno@clisp.org>
10355
10356         strtoimax: Avoid link error on OSF/1 with DTK cc.
10357         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10358         defined as a function.
10359         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10360         strtoimax is defined, not whether it is declared.
10361
10362 2011-09-01  Bruno Haible  <bruno@clisp.org>
10363
10364         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10365         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10366         as a function.
10367         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10368         whether it is declared.
10369
10370 2011-09-01  Bruno Haible  <bruno@clisp.org>
10371
10372         imaxabs: Avoid link error on OSF/1 with DTK cc.
10373         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10374         as a function.
10375         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10376         whether it is declared.
10377
10378 2011-09-01  Bruno Haible  <bruno@clisp.org>
10379
10380         Tests for module 'strtoumax'.
10381         * modules/strtoumax-tests: New file.
10382         * tests/test-strtoumax.c: New file.
10383
10384         Tests for module 'strtoimax'.
10385         * modules/strtoimax-tests: New file.
10386         * tests/test-strtoimax.c: New file.
10387
10388         Tests for module 'imaxdiv'.
10389         * modules/imaxdiv-tests: New file.
10390         * tests/test-imaxdiv.c: New file.
10391
10392         Tests for module 'imaxabs'.
10393         * modules/imaxabs-tests: New file.
10394         * tests/test-imaxabs.c: New file.
10395
10396 2011-09-01  Bruno Haible  <bruno@clisp.org>
10397
10398         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
10399         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
10400         pthread_create.
10401
10402 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10403
10404         openat: work around AIX 7.1 fstatat issue
10405         This should fix the problem that was not properly fixed
10406         in the previous change, dated 2011-08-30.
10407         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
10408         __need_system_stat_h defined.
10409         (orig_fstatat) [HAVE_FSTATAT]: New function.
10410         (rpl_fstatat): Go back to the old way of doing things,
10411         except call orig_fstatat instead of fstatat.
10412         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
10413         Remove unnecessary check whether fstatat fills in st_size etc.
10414
10415 2011-09-01  Bruno Haible  <bruno@clisp.org>
10416
10417         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
10418         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
10419         just include the system's header.
10420
10421 2011-08-31  Jim Meyering  <meyering@redhat.com>
10422
10423         tests: avoid spurious assertion failure in test-float.c on ppc64
10424         * tests/test-float.c (test_long_double): Comment out an assertion,
10425         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
10426         with gcc-4.4.4.
10427
10428         maint: indent with spaces, not TABs
10429         I need to get in the habit of running gnulib's "make check".
10430         Both of these would have been caught.
10431         * m4/largefile.m4: Indent with spaces, not TABs.
10432         * lib/parse-datetime.y (iso_8601_time): Likewise.
10433         Spotted by Pádraig Brady.
10434
10435         test-parse-datetime.c: accommodate a relatively strict gcc warning
10436         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
10437         to avoid a warning from gcc's -Werror=missing-declarations.
10438         Insert a few spaces-before-funcall-parenthesis.
10439
10440 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
10441
10442         parse-datetime: accept ISO 8601 date and time rep with "T" separator
10443         The parser now accepts ISO 8601 date-time strings with "T" as the
10444         separator.  It has long parsed dates like "2004-02-29 16:21:42"
10445         with a space between the date and time strings.  Now it also parses
10446         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
10447         variants like "2004-02-29T16:21:42.333-07:00"
10448         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
10449         of day representation using the 'T' separator character.
10450         * doc/parse-datetime.texi (General date syntax): replace use of
10451         deprecated --iso-8601 option with --rfc-3339 in example of date
10452         command output formats that can be parsed.
10453         * tests/test-parse-datetime.c (tm_diff): New function, taken from
10454         lib/parse-datetime.y.
10455         (gmt_offset): New function.
10456         (main): Add additional test cases to validate ISO8601 extended
10457         date and time of day parsing.
10458
10459 2011-08-31  Bruno Haible  <bruno@clisp.org>
10460
10461         freopen: Documentation.
10462         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
10463         name.
10464         Reported by Claudio Bley <claudio.bley@gmail.com>.
10465
10466 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
10467
10468         freopen: Don't crash if the filename argument is NULL.
10469         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
10470         NULL.
10471
10472 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10473
10474         openat: work around AIX 7.1 fstatat bug
10475         Problem reported by Kevin Brott for GNU tar, in the thread containing
10476         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
10477         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
10478         FSTATAT_ST_SIZE_ETC_BROKEN.
10479         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
10480         rpl_fstatat.
10481         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
10482         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
10483         AC_CHECK_FUNCS_ONCE for fstatat.
10484         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
10485         fchmodat, mkdirat, openat and unlinkat.
10486
10487 2011-08-30  Bruno Haible  <bruno@clisp.org>
10488
10489         Avoid endless recursions if config.h includes some header files.
10490         * lib/fopen.c (__need_FILE): Define already before including config.h.
10491         * lib/freopen.c (__need_FILE): Likewise.
10492         * lib/open.c (__need_system_fcntl_h): Likewise.
10493         * lib/stat.c (__need_system_sys_stat_h): Likewise.
10494         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
10495         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10496
10497 2011-08-25  Karl Berry  <karl@gnu.org>
10498
10499         * config/srclist.txt (ylwrap): new try.
10500         * build-aux/ylwrap: new file.
10501
10502 2011-08-23  Bruno Haible  <bruno@clisp.org>
10503
10504         tmpdir: Use a good default directory on native Windows.
10505         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
10506         (P_tmpdir): Default to _P_tmpdir on native Windows.
10507         (path_search): On native Windows, try the value returned by GetTempPath
10508         before trying P_tmpdir.
10509         * modules/tmpdir (Depends-on): Add pathmax.
10510         Suggested by John Darrington <john@darrington.wattle.id.au>.
10511
10512 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
10513
10514         doc: fix typo in README-release
10515         * top/README-release: Capitalize first word of a sentence.
10516
10517 2011-08-19  Jim Meyering  <meyering@redhat.com>
10518
10519         fts: do not exhaust memory when processing million-entry directories
10520         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
10521         directory would require about 256*N bytes of memory.  Thus, it was
10522         easy to construct a directory too large to be processed by any of
10523         those tools.  With this change, fts' maximum memory utilization is
10524         now limited to around 30MB.
10525         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
10526         (fts_read): When we've processed the final entry (i.e., when
10527         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
10528         using the parent entry to read any remaining entries.  Dispatch
10529         depending on what fts_build returns:
10530         - NULL+stop, aka failure: stop
10531         - NULL otherwise: move up in the dir hierarchy
10532         - non-NULL: handle this new entry
10533         (fts_build): Declare and use new local, continue_readdir.
10534         Prepare to be called from fts_read, when the entries
10535         from a partially-read directory have just been exhausted.
10536         In that case, we'll skip the opendir and instead use the parent's
10537         fts_dirp and derive dir_fd from that.
10538         Finally, in the readdir loop, if we read max_entries entries,
10539         exit the loop ensuring *not* to call closedir.  This is required
10540         so that fts_dirp can be reused on a subsequent call.
10541         Prompted by Ben England's report of memory exhaustion in find
10542         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10543
10544         maint: fts: move decl of `dp' down into while loop; split a long line
10545         * lib/fts.c (fts_build): No semantic change.
10546
10547         fts: add/use new struct member, fts_dirp
10548         We are about to use this to manage any directory with
10549         too many entries to read all of them into memory at once.
10550         To do that, we'll need to save the DIR* pointer in each
10551         affected FTSENT struct.
10552         * lib/fts_.h: Include <dirent.h>.
10553         (struct FTSENT) [fts_dirp]: New member.
10554         * lib/fts.c (closedir_and_clear): Define.
10555         Use it in place of closedir so that we are sure to
10556         clear the new fts_dirp member when done with it.
10557         (fts_alloc): Initialize the new member.
10558         (fts_lfree): Free, if needed.
10559
10560         maint: fts: give __opendir2 a new parameter and rename
10561         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10562         than surreptitiously using sole caller's "dir_fd".
10563         (fts_opendir): Rename from __opendir2.
10564
10565         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10566         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10567
10568         maint: fts.c: correct off-by-one indentation
10569         * lib/fts.c (fts_build): Correct indentation, change style
10570         of a couple of block comments, and bracing style.
10571
10572         maint: fts.c: move __opendir2 #define "up" out of function body
10573         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10574
10575         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10576         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10577         out for a long time and besides was useful only on BSD systems.
10578
10579 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10580
10581         regex: port to Stratus OpenVOS
10582         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10583         define to empty, rather than attempting nonportable optimizations.
10584         Problem reported by Paul Green in:
10585         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10586         and fix suggested by Eric Blake in:
10587         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10588
10589 2011-08-17  Eric Blake  <eblake@redhat.com>
10590
10591         getcwd: fix test failures on mingw
10592         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10593         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10594         test if long directory cannot be created, and allow mingw errno.
10595
10596         getcwd-lgpl: fix m4 to match relaxed test for BSD
10597         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10598         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10599         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10600         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10601         signature problem.
10602
10603         getcwd: fix compilation on mingw64
10604         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10605         getcwd.
10606         Reported by Marc-André Lureau.
10607
10608         pipe2: silence compiler warning
10609         * lib/pipe2.c (pipe2): Hide label if it is not used.
10610
10611 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10612
10613         relocatable-prog: fix link error
10614         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10615         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10616         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10617         into modules/relocatable-lib without noticing that
10618         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10619         also needs to build relocatable.c.
10620
10621 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10622
10623         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10624         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10625         shell code: it contained a 'break' that was not in a loop.
10626         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10627         via a shell-language loop; this may have been true in old Autoconf
10628         versions, but it's not true in Autoconf 2.68.  I found this bug
10629         when testing coreutils git on Solaris 8, whose shell complains
10630         about the syntax error.
10631
10632 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10633
10634         * lib/base64.c: Fix comment to reference RFC 4648.
10635         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10636         <gvtulder@gmail.com>.
10637
10638 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10639
10640         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10641
10642         po/Makefile.in.in: fix make -q problem
10643         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10644         rule, since there's no file named 'check-macro-version' and its
10645         use as a file breaks make -q.
10646         (all): Don't depend on check-macro-version.
10647         (CHECK_MACRO_VERSION): New macro.
10648         (stamp-po): Use it.
10649
10650         configmake: fix make -q problem
10651         * modules/configmake (configmake.h): Update configmake.h's time stamp
10652         even if the file does not change.  Otherwise, 'make -q' fails.
10653         Problem reported by Simon Josefsson in
10654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10655
10656 2011-08-11  Jim Meyering  <meyering@redhat.com>
10657
10658         git-version-gen: correct the advice in a comment
10659         * build-aux/git-version-gen: Correct comment.
10660         Don't recommend to list .tarball-version in .gitignore.
10661
10662 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10663
10664         base64: fix off-by-one buffer size bug
10665         Problem and (trivial) fix reported by Gijs van Tulder in
10666         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10667         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10668         * tests/test-base64.c (main): Catch the bug.
10669
10670 2011-08-10  Eric Blake  <eblake@redhat.com>
10671
10672         closein: correct comments
10673         * lib/closein.c (close_stdin): Improve comments.
10674
10675 2011-08-09  Bruno Haible  <bruno@clisp.org>
10676
10677         More tests for 'fseeko'.
10678         * tests/test-fseeko3.c: New file, from Eric Blake.
10679         * tests/test-fseeko3.sh: New file.
10680         * modules/fseeko-tests (Files): Add them.
10681         (TESTS): Add test-fseeko3.sh.
10682         (check_PROGRAMS): Add test-fseeko3.
10683
10684 2011-08-09  Eric Blake  <eblake@redhat.com>
10685
10686         fseeko: remove unneeded hack
10687         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10688
10689         fseeko: fix bug on glibc
10690         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10691         Reported by John W. Eaton.
10692
10693 2011-08-08  Bruno Haible  <bruno@clisp.org>
10694
10695         unictype/base: Fix interoperability with preinstalled libunistring.
10696         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10697         Reported by Simon Josefsson.
10698
10699 2011-08-08  Bruno Haible  <bruno@clisp.org>
10700
10701         iswblank: Detect declaration correctly.
10702         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10703         AC_CHECK_DECLS invocation.
10704
10705 2011-08-08  Bruno Haible  <bruno@clisp.org>
10706
10707         tcgetsid: Detect declaration correctly.
10708         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10709         AC_CHECK_DECLS invocation.
10710         Reported by Simon Josefsson.
10711
10712 2011-08-08  Eric Blake  <eblake@redhat.com>
10713
10714         largefile: fix typo that regressed large file support
10715         * modules/largefile (configure.ac-early): Fix section name.
10716
10717 2011-08-06  Karl Berry  <karl@gnu.org>
10718
10719         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10720         a separate module.
10721
10722 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10723
10724         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10725         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10726         get prototype for free.
10727
10728 2011-08-04  Bruno Haible  <bruno@clisp.org>
10729
10730         Tests for module 'pathmax'.
10731         * modules/pathmax-tests: New file.
10732         * tests/test-pathmax.c: New file.
10733
10734         canonicalize-lgpl: Support larger filenames on the Hurd.
10735         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10736         Reported by Paul Eggert.
10737
10738         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10739         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10740         * lib/chdir-long.h: Include pathmax.h.
10741         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10742         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10743         (PATH_MAX): Remove code that is done by pathmax.h.
10744         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10745         * lib/tmpfile.c: Add a comment.
10746         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10747         * modules/chdir-long (Depends-on): Add pathmax.
10748         * modules/getcwd (Depends-on): Add pathmax.
10749         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10750         is not defined.
10751         * doc/posix-headers/limits.texi: Mention the pathmax module.
10752         * NEWS: Mention the change.
10753
10754 2011-08-02  Bruno Haible  <bruno@clisp.org>
10755
10756         pthread_sigmask: Actually use results of gl_THREADLIB.
10757         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10758         gl_THREADLIB, not gl_[]THREADLIB.
10759         Reported by Eric Blake.
10760
10761 2011-08-02  Jim Meyering  <meyering@redhat.com>
10762
10763         maint.mk: relax the default _gl_TS_function_match regexp
10764         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10765         space between function name and "(" in an "extern" declaration.
10766         That would fail to match a decl with no space there: extern void foo();
10767
10768 2011-07-31  Iain Nicol  <iain@thenicols.net>
10769
10770         git-version-gen: document that EXTRA_DIST must include .version
10771         * build-aux/git-version-gen: In the how-to-use comment, document
10772         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10773         will fail when run from an unpacked distribution tarball.
10774
10775 2011-08-01  Bruno Haible  <bruno@clisp.org>
10776
10777         wctype-h: Fix last change.
10778         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10779         REPLACE_TOWLOWER to 0.
10780         Reported by Sam Steingold <sds@gnu.org>.
10781
10782 2011-07-31  Bruno Haible  <bruno@clisp.org>
10783
10784         frexpl: Update autoconf test.
10785         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10786         according to changes of 2011-06-20.
10787
10788 2011-07-31  Bruno Haible  <bruno@clisp.org>
10789
10790         sys_utsname: Add support for Minix.
10791         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10792         <sys/utsname.h>.
10793         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10794         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10795
10796 2011-07-31  Bruno Haible  <bruno@clisp.org>
10797
10798         strings: Add support for Minix.
10799         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10800         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10801         * doc/posix-headers/strings.texi: Document the Minix problem.
10802
10803 2011-07-31  Bruno Haible  <bruno@clisp.org>
10804
10805         wctype-h: Add support for Minix.
10806         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10807         REPLACE_TOWLOWER.
10808         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10809         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10810         REPLACE_ISWCNTRL.
10811
10812 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10813
10814         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10815         This is a performance improvement for 64-bit hosts: it causes the
10816         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10817
10818 2011-07-31  Bruno Haible  <bruno@clisp.org>
10819
10820         stdioext: Add support for Minix.
10821         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10822         * lib/fpurge.c (fpurge): Likewise.
10823         * lib/freadahead.c (freadahead): Likewise.
10824         * lib/freadable.c (freadable): Likewise.
10825         * lib/freading.c (freading): Likewise.
10826         * lib/freadptr.c (freadptr): Likewise.
10827         * lib/freadseek.c (freadptrinc): Likewise.
10828         * lib/fseeko.c (rpl_fseeko): Likewise.
10829         * lib/fseterr.c (fseterr): Likewise.
10830         * lib/fwritable.c (fwritable): Likewise.
10831         * lib/fwriting.c (fwriting): Likewise.
10832         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10833         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10834
10835 2011-07-31  Bruno Haible  <bruno@clisp.org>
10836
10837         errno: Port to Minix.
10838         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10839         ECONNABORTED are defined.
10840         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10841         GNULIB_defined_ECONNABORTED): New macros.
10842         * lib/strerror-override.h (strerror_override): Test also
10843         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10844         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10845         ECONNABORTED.
10846         * doc/posix-headers/errno.texi: Mention the Minix problem.
10847
10848 2011-07-31  Bruno Haible  <bruno@clisp.org>
10849
10850         Work around declaration collisions on Minix.
10851         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10852         defined, set REPLACE_MBSINIT.
10853         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10854         defined, set REPLACE_MBRTOWC.
10855         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10856         set REPLACE_MBRLEN.
10857         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10858         defined, set REPLACE_MBSRTOWCS.
10859         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10860         defined, set REPLACE_WCRTOMB.
10861         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10862         defined, set REPLACE_WCSRTOMBS.
10863
10864 2011-07-31  Bruno Haible  <bruno@clisp.org>
10865
10866         Add support for Minix with ACK compiler.
10867         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10868         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10869         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10870
10871 2011-07-31  Bruno Haible  <bruno@clisp.org>
10872
10873         Documentation about Minix.
10874         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10875         * doc/glibc-headers/*.texi: Likewise.
10876         * doc/posix-functions/*.texi: Likewise.
10877         * doc/glibc-functions/*.texi: Likewise.
10878
10879 2011-07-31  Bruno Haible  <bruno@clisp.org>
10880
10881         snippet/warn-on-use: Fix indentation.
10882         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10883
10884 2011-07-25  Jim Meyering  <meyering@redhat.com>
10885
10886         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10887         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10888         commands.
10889
10890 2011-07-27  Jim Meyering  <meyering@redhat.com>
10891
10892         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10893         * top/maint.mk (gl_extract_significant_defines_): Now that
10894         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10895         gnulib/lib/signal.in.h, and now that we recommend to
10896         define-if-undefined those two symbols in application code,
10897         we must filter them out of the "significant" list.
10898         This avoids a "make syntax-check" failure in coreutils.
10899
10900 2011-07-26  Eric Blake  <eblake@redhat.com>
10901
10902         warnings: add comments about previous patch
10903         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
10904         * m4/include_next.m4: Likewise.
10905         * m4/warn-on-use.m4: Likewise.
10906         * m4/warnings.m4: Likewise, and simplify use.
10907         Suggested by Stefano Lattarini.
10908
10909         include-next, warnings: support older autoconf
10910         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
10911         AS_VAR_PUSHDEF in a way that works with older autoconf.
10912         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
10913         Reported by Daniel P. Berrange.
10914
10915 2011-07-25  Bruno Haible  <bruno@clisp.org>
10916
10917         fseek, ftell: Fix doc.
10918         * doc/posix-functions/fseek.texi: Reword statement about
10919         AC_SYS_LARGEFILE.
10920         * doc/posix-functions/ftell.texi: Likewise.
10921
10922 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10923             Bruno Haible  <bruno@clisp.org>
10924
10925         Add dependencies to the 'largefile' module.
10926         * modules/fopen (Depends-on): Add 'largefile'.
10927         * modules/freopen (Depends-on): Likewise.
10928         * modules/fseeko (Depends-on): Likewise.
10929         * modules/ftello (Depends-on): Likewise.
10930         * modules/glob (Depends-on): Likewise.
10931         * modules/lseek (Depends-on): Likewise.
10932         * modules/lstat (Depends-on): Likewise.
10933         * modules/mkostemp (Depends-on): Likewise.
10934         * modules/mkostemps (Depends-on): Likewise.
10935         * modules/mkstemp (Depends-on): Likewise.
10936         * modules/mkstemps (Depends-on): Likewise.
10937         * modules/open (Depends-on): Likewise.
10938         * modules/openat (Depends-on): Likewise.
10939         * modules/pread (Depends-on): Likewise.
10940         * modules/pwrite (Depends-on): Likewise.
10941         * modules/scandir (Depends-on): Likewise.
10942         * modules/stat (Depends-on): Likewise.
10943         * modules/tmpfile (Depends-on): Likewise.
10944         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
10945         since the containing module now depends on the largefile module.
10946         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
10947         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
10948         off_t is fixed by gnulib.
10949         * doc/posix-functions/freopen.texi: Likewise.
10950         * doc/posix-functions/fseeko.texi: Likewise.
10951         * doc/posix-functions/fstatat.texi: Likewise.
10952         * doc/posix-functions/ftello.texi: Likewise.
10953         * doc/posix-functions/glob.texi: Likewise.
10954         * doc/posix-functions/lseek.texi: Likewise.
10955         * doc/posix-functions/lstat.texi: Likewise.
10956         * doc/posix-functions/mkstemp.texi: Likewise.
10957         * doc/posix-functions/open.texi: Likewise.
10958         * doc/posix-functions/openat.texi: Likewise.
10959         * doc/posix-functions/pread.texi: Likewise.
10960         * doc/posix-functions/pwrite.texi: Likewise.
10961         * doc/posix-functions/scandir.texi: Likewise.
10962         * doc/posix-functions/stat.texi: Likewise.
10963         * doc/posix-functions/tmpfile.texi: Likewise.
10964         * doc/glibc-functions/mkostemp.texi: Likewise.
10965         * doc/glibc-functions/mkostemps.texi: Likewise.
10966         * doc/glibc-functions/mkstemps.texi: Likewise.
10967
10968 2011-07-25  Bruno Haible  <bruno@clisp.org>
10969
10970         fcntl: Move AC_LIBOBJ invocation to module description.
10971         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
10972         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
10973
10974         fcntl: Remove call-in from fchdir.m4.
10975         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
10976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
10977
10978         dup3: Remove potential call-in from fchdir.m4.
10979         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
10980         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
10981
10982         dup2: Move AC_LIBOBJ invocation to module description.
10983         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
10984         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
10985         Don't invoke AC_LIBOBJ.
10986         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
10987
10988         dup2: Remove call-in from fchdir.m4.
10989         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
10990         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
10991
10992         fclose: Move AC_LIBOBJ invocation to module description.
10993         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
10994         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
10995         to 1.
10996         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
10997
10998         fclose: Remove call-in from close.m4.
10999         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11000         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11001
11002         close: Move AC_LIBOBJ invocation to module description.
11003         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11004         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11005         1.
11006         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11007
11008         close: Remove call-in from fchdir.m4.
11009         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11010         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11011
11012         open: Move AC_LIBOBJ invocation to module description.
11013         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11014         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11015         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11016
11017         open: Remove call-in from fchdir.m4.
11018         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11020
11021         fchdir: Start to remove gl_REPLACE_* idiom.
11022         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11023         (gl_FUNC_FCHDIR): Invoke it.
11024
11025 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11026
11027         * lib/ftell.c (ftell): Comment out cast.
11028
11029         close: use gl_REPLACE_FCLOSE only if defined
11030         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11031         is defined.  The close module doesn't depend on the fclose module
11032         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11033         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11034         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11035
11036 2011-07-24  Jim Meyering  <meyering@redhat.com>
11037
11038         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11039         * tests/test-select.h (test_function): Declare as "static".
11040
11041 2011-07-24  Bruno Haible  <bruno@clisp.org>
11042
11043         doc: Mention the effects of AC_SYS_LARGEFILE.
11044         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11045         on this function.
11046         * doc/posix-functions/aio_error.texi: Likewise.
11047         * doc/posix-functions/aio_fsync.texi: Likewise.
11048         * doc/posix-functions/aio_read.texi: Likewise.
11049         * doc/posix-functions/aio_return.texi: Likewise.
11050         * doc/posix-functions/aio_suspend.texi: Likewise.
11051         * doc/posix-functions/aio_write.texi: Likewise.
11052         * doc/posix-functions/fgetpos.texi: Likewise.
11053         * doc/posix-functions/fopen.texi: Likewise.
11054         * doc/posix-functions/freopen.texi: Likewise.
11055         * doc/posix-functions/fsetpos.texi: Likewise.
11056         * doc/posix-functions/fstatvfs.texi: Likewise.
11057         * doc/posix-functions/ftruncate.texi: Likewise.
11058         * doc/posix-functions/ftw.texi: Likewise.
11059         * doc/posix-functions/getrlimit.texi: Likewise.
11060         * doc/posix-functions/glob.texi: Likewise.
11061         * doc/posix-functions/lio_listio.texi: Likewise.
11062         * doc/posix-functions/lockf.texi: Likewise.
11063         * doc/posix-functions/mkstemp.texi: Likewise.
11064         * doc/posix-functions/mmap.texi: Likewise.
11065         * doc/posix-functions/nftw.texi: Likewise.
11066         * doc/posix-functions/openat.texi: Likewise.
11067         * doc/posix-functions/opendir.texi: Likewise.
11068         * doc/posix-functions/posix_fadvise.texi: Likewise.
11069         * doc/posix-functions/posix_fallocate.texi: Likewise.
11070         * doc/posix-functions/pread.texi: Likewise.
11071         * doc/posix-functions/pwrite.texi: Likewise.
11072         * doc/posix-functions/readdir.texi: Likewise.
11073         * doc/posix-functions/readdir_r.texi: Likewise.
11074         * doc/posix-functions/rewinddir.texi: Likewise.
11075         * doc/posix-functions/scandir.texi: Likewise.
11076         * doc/posix-functions/seekdir.texi: Likewise.
11077         * doc/posix-functions/setrlimit.texi: Likewise.
11078         * doc/posix-functions/statvfs.texi: Likewise.
11079         * doc/posix-functions/telldir.texi: Likewise.
11080         * doc/posix-functions/tmpfile.texi: Likewise.
11081         * doc/posix-functions/truncate.texi: Likewise.
11082         * doc/glibc-functions/fallocate.texi: Likewise.
11083         * doc/glibc-functions/fstatfs.texi: Likewise.
11084         * doc/glibc-functions/fts_children.texi: Likewise.
11085         * doc/glibc-functions/fts_read.texi: Likewise.
11086         * doc/glibc-functions/getdirentries.texi: Likewise.
11087         * doc/glibc-functions/mkostemp.texi: Likewise.
11088         * doc/glibc-functions/mkostemps.texi: Likewise.
11089         * doc/glibc-functions/mkstemps.texi: Likewise.
11090         * doc/glibc-functions/preadv.texi: Likewise.
11091         * doc/glibc-functions/pwritev.texi: Likewise.
11092         * doc/glibc-functions/sendfile.texi: Likewise.
11093         * doc/glibc-functions/statfs.texi: Likewise.
11094
11095 2011-07-24  Bruno Haible  <bruno@clisp.org>
11096
11097         doc: Fix typo.
11098         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11099
11100 2011-07-24  Bruno Haible  <bruno@clisp.org>
11101
11102         doc: Mention fsusage.
11103         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11104
11105 2011-07-24  Bruno Haible  <bruno@clisp.org>
11106
11107         doc: Mention new glibc headers and functions.
11108         * doc/glibc-headers/gshadow.texi: New file.
11109         * doc/glibc-functions/endsgent.texi: New file.
11110         * doc/glibc-functions/fgetsgent.texi: New file.
11111         * doc/glibc-functions/fgetsgent_r.texi: New file.
11112         * doc/glibc-functions/getsgent.texi: New file.
11113         * doc/glibc-functions/getsgent_r.texi: New file.
11114         * doc/glibc-functions/getsgnam.texi: New file.
11115         * doc/glibc-functions/getsgnam_r.texi: New file.
11116         * doc/glibc-functions/putsgent.texi: New file.
11117         * doc/glibc-functions/setsgent.texi: New file.
11118         * doc/glibc-functions/sgetsgent.texi: New file.
11119         * doc/glibc-functions/sgetsgent_r.texi: New file.
11120         * doc/glibc-functions/malloc_info.texi: New file.
11121         * doc/glibc-functions/preadv.texi: New file.
11122         * doc/glibc-functions/pwritev.texi: New file.
11123         * doc/glibc-functions/register_printf_modifier.texi: New file.
11124         * doc/glibc-functions/register_printf_specifier.texi: New file.
11125         * doc/glibc-functions/register_printf_type.texi: New file.
11126         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11127         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11128         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11129         * doc/glibc-functions/pthread_getname_np.texi: New file.
11130         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11131         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11132         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11133         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11134         * doc/glibc-functions/pthread_setname_np.texi: New file.
11135         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11136         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11137         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11138         * doc/glibc-functions/qsort_r.texi: New file.
11139         * doc/glibc-functions/quick_exit.texi: New file.
11140         * doc/glibc-functions/syncfs.texi: New file.
11141         * doc/gnulib.texi: Include them.
11142         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11143         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11144         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11145         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11146         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11147         * doc/glibc-functions/execvpe.texi: Likewise.
11148
11149 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11150
11151         ftell: don't include <unistd.h>
11152         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11153         guaranteed to define off_t, and the ftell module depends on the
11154         stdio module.
11155
11156         ftell: do not assume wraparound signed arithmetic
11157         * lib/ftell.c: Include <limits.h>.
11158         (ftell): Don't assume wraparound signed arithmetic.
11159
11160 2011-07-24  Bruno Haible  <bruno@clisp.org>
11161
11162         close: No longer depend on module 'fclose'.
11163         * modules/close (Depends-on): Remove fclose.
11164         * NEWS: Mention the change.
11165         Suggested by Sam Steingold <sds@gnu.org>.
11166
11167 2011-07-24  Bruno Haible  <bruno@clisp.org>
11168
11169         fsusage: Enable large volume support on AIX >= 5.2.
11170         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11171         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11172         instead of STAT_STATVFS.
11173         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11174
11175         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11176         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11177         f_blocks field only on MacOS X.
11178
11179         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11180         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11181         * modules/fsusage (Depends-on): Add largefile.
11182
11183 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11184
11185         * README: Modernize discussion of signed integers.
11186         Assuming overflow wraparound is no longer safe.
11187         Mention ones' complement and signed magnitude.
11188
11189 2011-07-22  Bruno Haible  <bruno@clisp.org>
11190
11191         select tests, pselect tests: Refactor.
11192         * tests/test-select.h: New file, extracted from tests/test-select.c.
11193         (select_fn): New type.
11194         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11195         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11196         test_pipe): Add my_select argument.
11197         (test_function): Renamed from main. Add my_select argument.
11198         * tests/test-select.c: Move most code to tests/test-select.h. Include
11199         test-select.h.
11200         * modules/select-tests (Files): Add tests/test-select.h.
11201         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11202         (my_select, main): New functions.
11203         * modules/pselect-tests (Files): Add tests/test-select.h,
11204         tests/macros.h, tests/signature.h.
11205         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11206         (configure.ac): Check for <sys/wait.h>.
11207
11208 2011-07-22  Bruno Haible  <bruno@clisp.org>
11209
11210         sys_select tests: Check the signature of FD_*.
11211         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11212         signature tests from here...
11213         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11214         here.
11215         * modules/sys_select-tests (Files): Add tests/signature.h.
11216
11217 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11218
11219         largefile: new module, replacing large-inode
11220         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11221         * MODULES.html.sh: Add largefile, remove large-inode.
11222         * modules/largefile, m4/largefile.m4: New files.
11223         * modules/large-inode, m4/large-inode.m4: Remove.
11224
11225         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11226         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11227         implementations that use only 32 bits to count blocks.
11228         On typical hosts with 1024-byte blocks, this fails with file
11229         systems as small as 4 TiB.  Problem reported by Herb Wartens
11230         <http://debbugs.gnu.org/9140> and this should also fix a similar
11231         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11232
11233         large-inode: New module
11234         * MODULES.html.sh: Add it.
11235         * modules/large-inode, m4/large-inode.m4: New files.
11236
11237         extensions: Enable extensions on MacOS X 10.5 and later.
11238         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11239
11240 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11241
11242         file-has-acl: use acl_extended_file_nofollow if available
11243         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11244         (acl_extended_file): New macro.
11245         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11246         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11247
11248 2011-07-21  Bruno Haible  <bruno@clisp.org>
11249
11250         Declare system functions in a way that works with C++.
11251         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11252         declare fdopendir as extern "C".
11253         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11254         declare frexpl as extern "C".
11255         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11256         declare gai_strerror as extern "C".
11257         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11258         programs, declare gai_strerror as extern "C".
11259         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11260         declare getlogin_r as extern "C".
11261         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11262         as extern "C".
11263         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11264         declare ldexpl as extern "C".
11265         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11266         as extern "C".
11267         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11268         program, declare getmntinfo as extern "C".
11269         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11270         stpncpy as extern "C".
11271         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11272         program, declare __xpg_strerror_r as extern "C".
11273         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11274         strndup as extern "C".
11275         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11276         declare memset and bzero as extern "C".
11277         Reported by Sam Steingold <sds@gnu.org>.
11278
11279 2011-07-12  Jim Meyering  <meyering@redhat.com>
11280
11281         maint.mk: prohibit inclusion of "verify.h" without use
11282         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11283
11284 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11285
11286         timer-time: A new module to check for timer_settime()
11287         * m4/timer_time.m4: Check for the posix function.
11288         * modules/timer-time: Add the new module.
11289         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11290         Mention it.
11291
11292 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11293             Bruno Haible  <bruno@clisp.org>
11294
11295         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11296         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11297         not defined, assume POSIX threads and look for pthread_sigmask in
11298         $LIBS, without changing $CPPFLAGS.
11299
11300 2011-07-19  Bruno Haible  <bruno@clisp.org>
11301
11302         strstr: Update cross-compilation guess.
11303         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11304         CPUs, guess no, in view of glibc
11305         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11306         Suggested by Eric Blake. Reported by Reuben Thomas.
11307
11308 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11309
11310         getopt-gnu: suppress core dumps from detection code
11311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11312         to suppress core dumps that may well occur on glibc systems.
11313         * modules/getopt-gnu: Depend on nocrash.
11314
11315 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11316
11317         pthread_sigmask: ensure usleep is declared
11318         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11319         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11320
11321 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11322
11323         doc: Document NonStop portability issues.
11324         * doc/posix-functions/sigaction.texi (sigaction):
11325         * doc/posix-headers/signal.texi (signal.h):
11326         Document NonStop.  See Joachim Schmitz in
11327         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11328
11329 2011-07-15  Bruno Haible  <bruno@clisp.org>
11330
11331         ffsl, ffsll: Avoid unportable behaviour.
11332         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11333
11334 2011-07-15  Bruno Haible  <bruno@clisp.org>
11335
11336         ffs: More tests.
11337         * tests/test-ffs.c (NBITS): New macro.
11338         (main): Add more tests.
11339         * tests/test-ffsl.c (NBITS): New macro.
11340         (main): Add more tests.
11341         * tests/test-ffsll.c (NBITS): New macro.
11342         (main): Add more tests.
11343
11344 2011-07-15  Eric Blake  <eblake@redhat.com>
11345
11346         ffsl, ffsll: new modules
11347         * modules/ffsl: New file.
11348         * modules/ffsll: Likewise.
11349         * m4/ffsl.m4: Likewise.
11350         * m4/ffsll.m4: Likewise.
11351         * lib/ffsl.c: Likewise.
11352         * lib/ffsl.h: Likewise.
11353         * lib/ffsll.c: Likewise.
11354         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11355         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11356         * modules/string (Makefile.am): Substitute witnesses.
11357         * lib/strings.in.h (ffsl, ffsll): Declare.
11358         * modules/ffsl-tests: New test file.
11359         * modules/ffsll-tests: Likewise.
11360         * tests/test-ffsl.c: Likewise.
11361         * tests/test-ffsll.c: Likewise.
11362         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11363         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11364         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11365
11366         ffs: fix m4 prerequisite
11367         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11368
11369         ffs: avoid undefined behavior
11370         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11371         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11372         Reported by Bruno Haible.
11373
11374 2011-07-12  Bruno Haible  <bruno@clisp.org>
11375
11376         pthread_sigmask: Rely on module 'threadlib'.
11377         * modules/pthread_sigmask (Depends-on): Add threadlib.
11378         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11379         is defined.
11380
11381 2011-07-12  Bruno Haible  <bruno@clisp.org>
11382
11383         regex: Depend on module 'strcase'.
11384         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11385
11386 2011-07-12  Jim Meyering  <meyering@redhat.com>
11387
11388         warn-on-use: fix typo in file name
11389         * modules/snippet/warn-on-use (Files): Correct file name:
11390         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11391
11392 2011-07-12  Bruno Haible  <bruno@clisp.org>
11393
11394         strings: Document module.
11395         * doc/posix-headers/strings.texi: Mention module 'strings'.
11396
11397 2011-07-12  Bruno Haible  <bruno@clisp.org>
11398
11399         Rename module '_Noreturn' to 'snippet/_Noreturn'.
11400         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
11401         (Files, Makefile.am): Update.
11402         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
11403         * modules/stdlib (Depends-on): Update.
11404
11405 2011-07-12  Bruno Haible  <bruno@clisp.org>
11406
11407         * NEWS: Mention the changes.
11408
11409         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
11410         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
11411         (Files, Makefile.am): Update.
11412         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
11413         * modules/arpa_inet (Depends-on): Update.
11414         * modules/ctype (Depends-on): Update.
11415         * modules/dirent (Depends-on): Update.
11416         * modules/fcntl-h (Depends-on): Update.
11417         * modules/glob (Depends-on): Update.
11418         * modules/iconv-h (Depends-on): Update.
11419         * modules/inttypes-incomplete (Depends-on): Update.
11420         * modules/langinfo (Depends-on): Update.
11421         * modules/locale (Depends-on): Update.
11422         * modules/math (Depends-on): Update.
11423         * modules/netdb (Depends-on): Update.
11424         * modules/poll-h (Depends-on): Update.
11425         * modules/pty (Depends-on): Update.
11426         * modules/search (Depends-on): Update.
11427         * modules/signal (Depends-on): Update.
11428         * modules/spawn (Depends-on): Update.
11429         * modules/stdio (Depends-on): Update.
11430         * modules/stdlib (Depends-on): Update.
11431         * modules/string (Depends-on): Update.
11432         * modules/strings (Depends-on): Update.
11433         * modules/sys_file (Depends-on): Update.
11434         * modules/sys_ioctl (Depends-on): Update.
11435         * modules/sys_select (Depends-on): Update.
11436         * modules/sys_socket (Depends-on): Update.
11437         * modules/sys_stat (Depends-on): Update.
11438         * modules/sys_time (Depends-on): Update.
11439         * modules/sys_times (Depends-on): Update.
11440         * modules/sys_utsname (Depends-on): Update.
11441         * modules/sys_wait (Depends-on): Update.
11442         * modules/termios (Depends-on): Update.
11443         * modules/time (Depends-on): Update.
11444         * modules/unistd (Depends-on): Update.
11445         * modules/wchar (Depends-on): Update.
11446         * modules/wctype-h (Depends-on): Update.
11447         * MODULES.html.sh (Support for building libraries and executables):
11448         Update.
11449
11450         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
11451         * modules/snippet/unused-parameter: Renamed from
11452         modules/unused-parameter.
11453         (Files, Makefile.am): Update.
11454         * build-aux/snippet/unused-parameter.h: Renamed from
11455         build-aux/unused-parameter.h.
11456         * modules/selinux-h (Depends-on): Update.
11457         * modules/unistr/base (Depends-on): Update.
11458         * MODULES.html.sh (Core language properties): Update.
11459
11460         Rename module 'link-warning' to 'snippet/link-warning'.
11461         * modules/snippet/link-warning: Renamed from modules/link-warning.
11462         (Files, Makefile.am): Update.
11463         * build-aux/snippet/link-warning.h: Renamed from
11464         build-aux/link-warning.h.
11465         * MODULES.html.sh (Support for building libraries and executables):
11466         Update.
11467
11468         Rename module 'c++defs' to 'snippet/c++defs'.
11469         * modules/snippet/c++defs: Renamed from modules/c++defs.
11470         (Files, Makefile.am): Update.
11471         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
11472         * modules/arpa_inet (Depends-on): Update.
11473         * modules/ctype (Depends-on): Update.
11474         * modules/dirent (Depends-on): Update.
11475         * modules/fcntl-h (Depends-on): Update.
11476         * modules/glob (Depends-on): Update.
11477         * modules/iconv-h (Depends-on): Update.
11478         * modules/langinfo (Depends-on): Update.
11479         * modules/locale (Depends-on): Update.
11480         * modules/math (Depends-on): Update.
11481         * modules/netdb (Depends-on): Update.
11482         * modules/poll-h (Depends-on): Update.
11483         * modules/pty (Depends-on): Update.
11484         * modules/search (Depends-on): Update.
11485         * modules/signal (Depends-on): Update.
11486         * modules/spawn (Depends-on): Update.
11487         * modules/stdio (Depends-on): Update.
11488         * modules/stdlib (Depends-on): Update.
11489         * modules/string (Depends-on): Update.
11490         * modules/strings (Depends-on): Update.
11491         * modules/sys_ioctl (Depends-on): Update.
11492         * modules/sys_select (Depends-on): Update.
11493         * modules/sys_socket (Depends-on): Update.
11494         * modules/sys_stat (Depends-on): Update.
11495         * modules/sys_time (Depends-on): Update.
11496         * modules/sys_wait (Depends-on): Update.
11497         * modules/termios (Depends-on): Update.
11498         * modules/time (Depends-on): Update.
11499         * modules/unistd (Depends-on): Update.
11500         * modules/wchar (Depends-on): Update.
11501         * modules/wctype-h (Depends-on): Update.
11502
11503         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
11504         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
11505         (Files, Makefile.am): Update.
11506         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
11507         * modules/argv-iter (Depends-on): Update.
11508         * modules/arpa_inet (Depends-on): Update.
11509         * modules/dirent (Depends-on): Update.
11510         * modules/fcntl-h (Depends-on): Update.
11511         * modules/fnmatch (Depends-on): Update.
11512         * modules/getopt-posix (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/locale (Depends-on): Update.
11517         * modules/math (Depends-on): Update.
11518         * modules/netdb (Depends-on): Update.
11519         * modules/search (Depends-on): Update.
11520         * modules/signal (Depends-on): Update.
11521         * modules/spawn (Depends-on): Update.
11522         * modules/stdio (Depends-on): Update.
11523         * modules/stdlib (Depends-on): Update.
11524         * modules/string (Depends-on): Update.
11525         * modules/strings (Depends-on): Update.
11526         * modules/sys_socket (Depends-on): Update.
11527         * modules/sys_stat (Depends-on): Update.
11528         * modules/sys_time (Depends-on): Update.
11529         * modules/sys_times (Depends-on): Update.
11530         * modules/sys_utsname (Depends-on): Update.
11531         * modules/time (Depends-on): Update.
11532         * modules/unistd (Depends-on): Update.
11533         * modules/wchar (Depends-on): Update.
11534         * MODULES.html.sh (Support for building libraries and executables):
11535         Update.
11536
11537 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11538
11539         Improvements on _Noreturn and related modules.
11540
11541         modules/_Exit-tests: test _Noreturn too
11542         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11543         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11544         (main): Use them.
11545
11546         stdnoreturn, stdnoreturn-tests: remove modules
11547         They're not needed here and a bit premature for use elsewhere.  See
11548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11549         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11550         * tests/test-stdnoreturn.c: Remove files.
11551         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11552         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11553         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11554         and using noreturn.
11555         * modules/openat, modules/sigpipe-die, modules/xalloc:
11556         * modules/xmemdup0, modules/xstrtol:
11557         Remove dependency on stdnoreturn.
11558
11559         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11560         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11561         Reparenthesize to avoid GCC warning.
11562         Support Microsoft's syntax.
11563         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11564
11565         _Noreturn-tests: remove module
11566         * modules/_Noreturn-tests: Remove.
11567         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11568         * tests/test-_Noreturn.c: Remove.
11569         * tests/test-stdnoreturn.c: Merge from the old
11570         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11571
11572 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11573
11574         _Noreturn, stdnoreturn, and related modules.
11575
11576         * top/maint.mk: Adjust to new noreturn support.
11577         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11578         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11579
11580         xalloc: use stdnoreturn.h
11581         * lib/xalloc.h: Include <stdnoreturn.h>.
11582         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11583         * modules/xalloc (Depends-on): Add stdnoreturn.
11584
11585         xstrtol: use stdnoreturn.h
11586         * lib/xstrtol.h: Include <stdnoreturn.h>.
11587         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11588         * modules/xstrtol (Depends-on): Add stdnoreturn.
11589
11590         xmemdup0: use stdnoreturn.h
11591         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11592         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11593         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11594
11595         sigpipe-die: use stdnoreturn.h
11596         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11597         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11598         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11599
11600         openat: use stdnoreturn.h
11601         * lib/openat.h: Include <stdnoreturn.h>.
11602         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11603         * modules/openat (Depends-on): Add stdnoreturn.
11604
11605         * lib/openat-die.c (openat_save_fail): Modernize comment.
11606
11607         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11608
11609         * lib/glthread/thread.h: Modernize comment.
11610
11611         obstack: use _Noreturn
11612         * lib/obstack.c (__attribute__): Remove macro.
11613         (print_and_abort): Use _Noreturn.
11614
11615         c-stack: use _Noreturn
11616         * lib/c-stack.c (die, overflow_handler, segv_handler):
11617         Use _Noreturn rather than __attribute__((noreturn)).
11618
11619         argmatch-tests, exclude_tests: use _Noreturn
11620         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11621         Remove.
11622         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11623
11624         stdlib: use _Noreturn
11625         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11626         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11627         * modules/stdlib (Depends-on): Add _Noreturn.
11628         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11629
11630         stdnoreturn-tests: new module
11631         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11632
11633         stdnoreturn: new module
11634         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11635         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11636
11637         _Noreturn-tests: new module
11638         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11639
11640         _Noreturn: new module
11641         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11642         New section, mentioning it.
11643         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11644
11645         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11646
11647 2011-07-11  Eric Blake  <eblake@redhat.com>
11648
11649         ffs: new module
11650         * modules/ffs: New file.
11651         * m4/ffs.m4: Likewise.
11652         * lib/ffs.c: Likewise.
11653         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11654         * modules/strings (Makefile.am): Substitute witness.
11655         (Depends-on): Add c++defs.
11656         * lib/strings.in.h (ffs): Declare.
11657         * modules/ffs-tests: New test file.
11658         * tests/test-ffs.c: Test new module.
11659         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11660         * doc/posix-functions/ffs.texi (ffs): Likewise.
11661
11662         regex: avoid compiler warning
11663         * lib/regex.c (includes): Include <strings.h>, for use of
11664         strcasecmp in regcomp.c.
11665         Reported by Joachim Schmitz.
11666
11667 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11668
11669         stdint: respect system's intmax_t if INTMAX_MAX
11670         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11671         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11672         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11673         long but int64_t is long long, and where we will clash with the
11674         system intmax_t if we override it.  See
11675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11676         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11677         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11678         similarly for UINTMAX_C.
11679
11680 2011-07-08  Bruno Haible  <bruno@clisp.org>
11681
11682         pthread_sigmask tests: Avoid a compiler warning.
11683         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11684         non-zero.
11685
11686         sigprocmask tests: A better way to avoid a compiler warning.
11687         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11688         (main): Complain if system() returns non-zero.
11689         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11690
11691 2011-07-08  Bruno Haible  <bruno@clisp.org>
11692
11693         pthread_sigmask: Work around IRIX bug.
11694         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11695         bug.
11696         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11697         there may be unblocked pending signals.
11698         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11699
11700 2011-07-08  Bruno Haible  <bruno@clisp.org>
11701
11702         pthread_sigmask: Work around Cygwin bug.
11703         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11704         bug.
11705         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11706         the system's pthread_sigmask function.
11707         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11708
11709 2011-07-08  Bruno Haible  <bruno@clisp.org>
11710
11711         pthread_sigmask: Work around bug in single-threaded implementation.
11712         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11713         FreeBSD, HP-UX, Solaris bug.
11714         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11715         * lib/pthread_sigmask.c: Include <stddef.h>.
11716         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11717         the system's pthread_sigmask function.
11718         * modules/pthread_sigmask (configure.ac): Invoke
11719         gl_PREREQ_PTHREAD_SIGMASK.
11720         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11721         HP-UX, Solaris.
11722
11723 2011-07-08  Eric Blake  <eblake@redhat.com>
11724
11725         test-sigprocmask: avoid compiler warning
11726         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11727         * tests/test-sigprocmask.c (main): Use it to silence warning.
11728         Reported by Jim Meyering.
11729
11730         test-snprintf: avoid compiler warning
11731         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11732         * tests/test-vsnprintf.c (main): Likewise.
11733         Reported by Jim Meyering.
11734
11735 2011-07-08  Bruno Haible  <bruno@clisp.org>
11736
11737         Tests for module 'pthread_sigmask'.
11738         * modules/pthread_sigmask-tests: New file.
11739         * tests/test-pthread_sigmask1.c: New file, based on
11740         tests/test-sigprocmask.c.
11741         * tests/test-pthread_sigmask2.c: New file.
11742
11743 2011-07-08  Jim Meyering  <meyering@redhat.com>
11744
11745         test-getopt.h: avoid warning about an unused variable
11746         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11747
11748 2011-07-07  Jim Meyering  <meyering@redhat.com>
11749
11750         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11751         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11752         now that it no longer contains leading TABs.
11753         Remove unused "url=FIXME" statement.
11754
11755 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11756
11757         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11758         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11759         When gl_THREADLIB is not in use, assume that the POSIX sematics
11760         are desired.  This is better for Emacs, which uses POSIX semantics
11761         on GNUish and/or POSIXish platforms, and does not use threads at
11762         all otherwise.
11763
11764         pthread_sigmask: fix typo when testing for libraries
11765         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11766         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11767
11768 2011-07-08  Eric Blake  <eblake@redhat.com>
11769
11770         fts: introduce FTS_NOATIME
11771         * lib/fts_.h (FTS_NOATIME): New bit flag.
11772         (FTS_OPTIONMASK): Adjust.
11773         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11774         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11775
11776 2011-07-08  Bruno Haible  <bruno@clisp.org>
11777
11778         Tests for module 'thread'.
11779         * modules/thread-tests: New file.
11780         * tests/test-thread_self.c: New file.
11781         * tests/test-thread_create.cc: New file.
11782
11783 2011-07-08  Bruno Haible  <bruno@clisp.org>
11784
11785         thread: Avoid gcc warnings when using gl_thread_self().
11786         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11787         'void *'.
11788         (gl_thread_self_pointer): Update.
11789
11790 2011-07-07  Bruno Haible  <bruno@clisp.org>
11791
11792         signal-c++-tests: Check declaration of pthread_sigmask.
11793         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11794         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11795         $(LIB_PTHREAD_SIGMASK).
11796
11797 2011-07-07  Bruno Haible  <bruno@clisp.org>
11798
11799         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11800         * lib/signal.in.h (pthread_sigmask): Override if
11801         REPLACE_PTHREAD_SIGMASK is 1.
11802         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11803         REPLACE_PTHREAD_SIGMASK.
11804         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11805         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11806         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11807         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11808         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11809
11810 2011-07-07  Bruno Haible  <bruno@clisp.org>
11811
11812         pthread_sigmask: Ensure declaration in <signal.h>.
11813         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11814         include <pthread.h>.
11815         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11816         problem.
11817
11818 2011-07-07  Bruno Haible  <bruno@clisp.org>
11819
11820         pthread_sigmask: Document the module.
11821         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11822
11823 2011-07-07  Bruno Haible  <bruno@clisp.org>
11824
11825         pthread_sigmask: Follow gnulib conventions.
11826         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11827         gl_PTHREAD_SIGMASK.
11828         * modules/pthread_sigmask (configure.ac): Update.
11829
11830 2011-07-07  Bruno Haible  <bruno@clisp.org>
11831
11832         pthread_sigmask: Make declaration C++ safe.
11833         * lib/signal.in.h: In two special conditions, just do an #include_next.
11834         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11835         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11836         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11837         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11838         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11839         not REPLACE_PTHREAD_MASK.
11840         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11841         not REPLACE_PTHREAD_MASK.
11842         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11843
11844 2011-07-07  Bruno Haible  <bruno@clisp.org>
11845
11846         pthread_sigmask: Fix return value.
11847         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11848         * lib/pthread_sigmask.c: New file.
11849         * modules/pthread_sigmask (Files): Add it.
11850         (configure.ac): Invoke AC_LIBOBJ.
11851
11852 2011-07-07  Eric Blake  <eblake@redhat.com>
11853
11854         getopt: more portable argv creation
11855         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11856         const, use char arrays rather than strings.
11857         Suggested by Paul Eggert.
11858
11859 2011-07-07  Bruno Haible  <bruno@clisp.org>
11860
11861         Tests for module 'sigprocmask'.
11862         * modules/sigprocmask-tests: New file.
11863         * tests/test-sigprocmask.c: New file.
11864
11865 2011-07-07  Bruno Haible  <bruno@clisp.org>
11866
11867         float tests: Tweak.
11868         * tests/test-float.c (main): Tweak skip message.
11869
11870 2011-07-07  Eric Blake  <eblake@redhat.com>
11871
11872         getopt: avoid compiler warning during configure
11873         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11874         assigning string literals to non-const pointer.
11875
11876         getopt-gnu: avoid crash in glibc getopt
11877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11878         * tests/test-getopt.h (test_getopt): Enhance test.
11879         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11880         * doc/posix-functions/getopt.texi (getopt): Document it.
11881         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11882         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11883         Likewise.
11884
11885 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11886
11887         getopt: handle W; without long options in getopt [BZ #12922]
11888         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11889         but no long options are defined, just return 'W'.
11890
11891 2011-07-07  Bruno Haible  <bruno@clisp.org>
11892
11893         Avoid literal tabs.
11894         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11895         variable containing a tab instead of a literal tab.
11896         Reported by Jim Meyering.
11897
11898 2011-07-07  Bruno Haible  <bruno@clisp.org>
11899
11900         Comments.
11901         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11902
11903 2011-07-06  Bruno Haible  <bruno@clisp.org>
11904
11905         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
11906         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
11907         <winsock2.h>.
11908         (rpl_fd_isset, FD_ISSET): New definitions, copied from
11909         lib/sys_socket.in.h.
11910         (close, gethostname): Hide declarations from <winsock2.h>.
11911         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11912         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
11913         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
11914         (select): Don't override if gnulib's <sys/select.h> was already
11915         included.
11916         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11917         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11918         setsockopt, shutdown, select): Tweak indentation.
11919
11920 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11921
11922         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
11923         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
11924         in an application that does not use the sys_select module.
11925
11926 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
11927
11928         poll: do not return 0 on timeout=-1
11929         * lib/poll.c: Loop with yield if no events occured
11930
11931 2011-07-06  Eric Blake  <eblake@redhat.com>
11932
11933         pthread_sigmask: always replace when not using pthread
11934         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
11935         replacement when using some threading other than pthread.  Fix
11936         logic bug.
11937
11938 2011-07-06  Bruno Haible  <bruno@clisp.org>
11939
11940         Comments.
11941         * m4/printf.m4: Update comments about mingw.
11942
11943 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         sys_select: define sigset_t more portably
11946         * lib/sys_select.in.h: Always include <sys/types.h>, since
11947         we now need sigset_t and mingw defines it there.
11948         Include <signal.h> before split inclusion guard, to avoid
11949         mishaps on Solaris, whose <signal.h> eventually includes us.
11950         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
11951         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
11952         which come from ...
11953         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
11954         gl_CHECK_TYPE_SIGSET_T.
11955         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
11956         does the real work.
11957         * modules/sys_select (Depends-on): Add 'signal'.
11958
11959         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
11960         Suggested by Bruno Haible.
11961
11962         pselect: Use pthread_sigmask, not sigprocmask.
11963         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
11964         multithreaded apps better than sigprocmask does.
11965         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
11966         sigprocmask directly.
11967
11968 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11969
11970         * lib/pselect.c (pselect): Use plain name, without "rpl_".
11971         Don't #undef,  since we don't need any underlying pselect.
11972         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
11973         (Depends-on): Add select.
11974         (Link): Add $(LIBSOCKET).
11975         These changes suggested by Bruno Haible.
11976
11977         pselect: document better
11978         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11979         * doc/posix-functions/pselect.texi (pselect): Document new module.
11980
11981         pthread_sigmask: new module
11982         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11983         * doc/posix-functions/pthread_sigmask.texi: Document new module.
11984         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
11985         This is done only as a macro; I don't know how well that'll
11986         work for C++.  Move <sys/types.h> include before the include_next,
11987         to avoid mishap on Solaris.
11988         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
11989         * modules/signal (Makefile.am): Substitute the check's results.
11990         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
11991
11992         test-pselect: new module
11993         * modules/pselect-tests, tests/test-pselect.c: New files.
11994         * tests/test-select.c, tests/test-sys_select-c++.cc:
11995         If TEST_PSELECT is defined, test pselect instead of testing select.
11996
11997         * tests/test-sys_select.c (sigset_t): Test for it, too.
11998         Suggested by Bruno Haible.
11999
12000 2011-07-05  Eric Blake  <eblake@redhat.com>
12001
12002         snprintf: guarantee %1$d, for libintl
12003         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12004         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12005         * doc/posix-functions/snprintf.texi (snprintf): Update.
12006         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12007         * tests/test-snprintf.c (main): Enhance test.
12008         * tests/test-vsnprintf.c (main): Likewise.
12009
12010 2011-07-05  Jim Meyering  <meyering@redhat.com>
12011
12012         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12013         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12014         per Bruno's request, to accommodate this idiom (no space after "#")
12015         even when the function is inside an #if block:
12016         char *
12017         gets (char *s)
12018         #undef gets
12019         {
12020           ...
12021         }
12022
12023 2011-07-04  Jim Meyering  <meyering@redhat.com>
12024
12025         maint: indent with spaces, not TABs, and add a rule to check this
12026         * tests/test-userspec.c: Indent with spaces, not TABs.
12027         * tests/test-argp.c: Likewise.
12028         * tests/test-c-stack2.sh: Likewise.
12029         * tests/test-parse-duration.sh: Likewise
12030         * m4/strtod.m4: Likewise.
12031         * m4/alloca.m4: Likewise.
12032         * m4/pselect.m4: Likewise.
12033         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12034
12035 2011-07-03  Jim Meyering  <meyering@redhat.com>
12036
12037         maint.mk: correct omissions in prohibit_argmatch_without_use check
12038         This rule would mistakenly report that argmatch.h is included without
12039         use even when both the argmatch and invalid_arg macro were used.
12040         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12041         of argmatch and invalid_arg.
12042
12043 2011-07-03  Bruno Haible  <bruno@clisp.org>
12044
12045         Comments about EINTR.
12046         * lib/safe-read.h: Explain the purpose of this module.
12047         * lib/safe-write.h: Likewise.
12048         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12049         module.
12050         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12051         module.
12052         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12053
12054 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12055
12056         xnanosleep: Rewrite to use new dtotimespec module.
12057         It has the conversion code that used to be in xnanosleep.
12058         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12059         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12060         (TIME_T_MAX): Remove.
12061         (xnanosleep): Rewrite in terms of dtotimespec.
12062         * modules/xnanosleep (Depends-on): Add dtotimespec.
12063         Remove intprops, stdbool.
12064
12065         timespec-add, timespec-sub: new modules
12066         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12067         * lib/timespec-add.c, lib/timespec-sub.c:
12068         * modules/timespec-add, modules/timespec-sub: New files.
12069
12070         dtotimespec: new module
12071         * lib/timespec.h (dtotimespec): New decl.
12072         * lib/dtotimespec.c, modules/dtotimespec: New files.
12073
12074         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12075
12076         pselect: new module
12077         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12078         (pselect): New decls.
12079         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12080         since the standard pselect decl uses 'restrict'.
12081         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12082         HAVE_PSELECT, REPLACE_PSELECT.
12083         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12084         HAVE_PSELECT, REPLACE_PSELECT.
12085         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12086
12087         sys_select: don't depend on sys_socket
12088         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12090         This fix works on GNU and GNU-like platforms, but has not been tested
12091         on native Windows.
12092         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12093         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12094         gl_HEADER_SYS_SOCKET.
12095         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12096         gl_PREREQ_SYS_H_WINSOCK2.
12097
12098 2011-06-29  Eric Blake  <eblake@redhat.com>
12099
12100         pipe2: fix C89 compile problem
12101         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12102         Reported by Bruno Haible.
12103
12104         pipe, pipe2: don't corrupt fd on error
12105         * lib/pipe.c (pipe): Leave fd unchanged on error.
12106         * lib/pipe2.c (pipe2): Likewise.
12107         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12108         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12109
12110 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12111
12112         mmap-anon: do not use regular expressions inadvertently
12113         * m4/mmap-anon.m4: Remove trailing period from strings sought
12114         in the output.
12115
12116 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12117
12118         nanosleep: fix integer overflow problem
12119         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12120         arithmetic wraps around on overflow.
12121
12122         nanosleep: simplify carrying
12123         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12124         first call to the underyling nanosleep, not for the last one.
12125         This doesn't fix any bugs, but it simplifies the computation of
12126         the remaining delay.  Found while auditing integer overflow issues.
12127
12128         dup2: remove test for existence of fcntl
12129         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12130         "#if HAVE_FCNTL", in the configure-time test program.
12131         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12132         and therefore speeds up "configure" a bit.  Found while
12133         adding the dup2 module to Emacs.
12134
12135 2011-06-24  Eric Blake  <eblake@redhat.com>
12136
12137         maint.mk: enhance useless header checks
12138         * top/maint.mk (_sc_header_without_use): Check both include
12139         styles.
12140         (sc_prohibit_assert_without_use)
12141         (sc_prohibit_close_stream_without_use)
12142         (sc_prohibit_getopt_without_use)
12143         (sc_prohibit_quotearg_without_use)
12144         (sc_prohibit_quote_without_use)
12145         (sc_prohibit_long_options_without_use)
12146         (sc_prohibit_inttostr_without_use)
12147         (sc_prohibit_ignore_value_without_use)
12148         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12149         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12150         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12151         (sc_prohibit_hash_pjw_without_use)
12152         (sc_prohibit_safe_read_without_use)
12153         (sc_prohibit_argmatch_without_use)
12154         (sc_prohibit_canonicalize_without_use)
12155         (sc_prohibit_root_dev_ino_without_use)
12156         (sc_prohibit_openat_without_use)
12157         (sc_prohibit_c_ctype_without_use)
12158         (sc_prohibit_signal_without_use)
12159         (sc_prohibit_stdio--_without_use)
12160         (sc_prohibit_stdio-safer_without_use)
12161         (sc_prohibit_strings_without_use)
12162         (sc_prohibit_intprops_without_use)
12163         (sc_prohibit_stddef_without_use)
12164         (sc_prohibit_xfreopen_without_use): Update clients.
12165
12166 2011-06-24  Jim Meyering  <meyering@redhat.com>
12167
12168         syntax-check: keep one maint.mk rule in sync with its header
12169         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12170         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12171         I prefer to avoid temporary files here, so use <(...), but that
12172         is not supported by /bin/sh, so...
12173         (SHELL): Define to /bin/bash.
12174
12175 2011-06-24  Eric Blake  <eblake@redhat.com>
12176
12177         maint.mk: update sc_prohibit_intprops_without_use
12178         * top/maint.mk (_intprops_names): Match recent changes.
12179
12180 2011-06-24  Bruno Haible  <bruno@clisp.org>
12181
12182         strerror-override: No-op tweak.
12183         * lib/strerror-override.h (strerror_override): Reorder conditions,
12184         for consistency with lib/strerror-override.c.
12185
12186 2011-06-23  Eric Blake  <eblake@redhat.com>
12187
12188         maint.mk: test further PATH_MAX issues
12189         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12190         (sc_prohibit_path_max_allocation): ...and also test alloca.
12191         Suggested by Jim Meyering.
12192
12193 2011-06-22  Eric Blake  <eblake@redhat.com>
12194
12195         maint.mk: add syntax-check to avoid char[PATH_MAX]
12196         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12197
12198         stat: be robust to PATH_MAX definition
12199         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12200         * modules/stat (Depends-on): Add verify.
12201
12202         link: work around IRIX bug
12203         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12204         * lib/link.c (rpl_link): Work around it.
12205         * tests/test-link.h (test_link): Enhance test.
12206         * doc/posix-functions/link.texi (link): Document the bug.
12207
12208         getopt: silence clang warning
12209         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12210         dereference.
12211         Reported by Gustavo Martin Domato.
12212
12213 2011-06-22  Jim Meyering  <meyering@redhat.com>
12214
12215         bootstrap: do not insert a blank line into each .gitignore file
12216         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12217
12218 2011-06-21  Eric Blake  <eblake@redhat.com>
12219
12220         perror: test for output mismatch
12221         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12222         perror on IRIX.
12223
12224         strerror_r: fix OpenBSD behavior on out-of-range
12225         * lib/strerror_r.c (strerror_r): Always use maximal string.
12226         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12227
12228         strerror_r: fix OpenBSD behavior on 0
12229         * lib/strerror-override.c (strerror_override): Also override 0
12230         when needed.
12231         * lib/strerror-override.h (strerror_override): Likewise.
12232         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12233         earlier.
12234         * lib/strerror_r.c (strerror_r): Likewise.
12235         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12236         behavior...
12237         (gl_FUNC_STRERROR_0): ...into new macro.
12238         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12239         is overridden.
12240         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12241         * modules/strerror-override (Files): Add strerror.m4.
12242         (configure.ac): Also provide override for 0 when needed.
12243         * doc/posix-functions/strerror.texi (strerror): Document this.
12244         * doc/posix-functions/perror.texi (perror): Likewise.
12245
12246         perror: adjust array size
12247         * modules/perror (Depends-on): Add strerror-override.
12248         * lib/perror.c (perror): Use it to avoid magic number.
12249
12250         strerror-override: reduce size
12251         * lib/strerror-override.c (strerror_override): Use fewer lines.
12252
12253 2011-06-20  Bruno Haible  <bruno@clisp.org>
12254
12255         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12256         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12257
12258 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12259
12260         alloca: port to compilers that can optimize like GCC 4.6.0
12261         * lib/alloca.c (find_stack_direction): New signature, taken from
12262         Autoconf git.  This works with GCC 4.6.0.  This code should never
12263         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12264         be used with other compilers that optimize as well as GCC 4.6.0 does.
12265         (alloca): Adjust to new signature.
12266         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12267         New macro, which patches Autoconf in a similar way.
12268
12269         c-stack: stop worrying about stack direction
12270         * lib/c-stack.c (find_stack_direction): Remove.
12271         (segv_handler): Don't worry about stack direction growth, as it's
12272         too much of a pain to configure this correctly, given how compilers
12273         are optimizing-away our stack-growth detection code.  Instead, assume
12274         that any access to just before or just after the stack is OK.
12275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12276         Don't require AC_FUNC_ALLOCA; no longer needed.
12277
12278 2011-06-20  Eric Blake  <eblake@redhat.com>
12279
12280         test-stat: don't allocate PATH_MAX bytes
12281         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12282         PATH_MAX-sized buffer.
12283         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12284         * modules/stat-tests (Depends-on): Likewise.
12285         * tests/test-fstatat.c (includes): Drop pathmax.h.
12286         * tests/test-stat.c (includes): Likewise.
12287         Reported by Bruno Haible.
12288
12289 2011-06-20  Bruno Haible  <bruno@clisp.org>
12290
12291         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12292         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12293         * lib/float.c: New file.
12294         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12295         REPLACE_FLOAT_LDBL.
12296         * modules/float (Files): Add lib/float.c.
12297         (configure.ac): Invoke AC_LIBOBJ.
12298         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12299
12300 2011-06-20  Bruno Haible  <bruno@clisp.org>
12301
12302         Tests for module 'float'.
12303         * modules/float-tests: New file.
12304         * tests/test-float.c: New file.
12305
12306 2011-06-19  Bruno Haible  <bruno@clisp.org>
12307
12308         isinf: Coding style.
12309         * lib/isinf.c: Use GNU coding style.
12310
12311 2011-06-19  Bruno Haible  <bruno@clisp.org>
12312
12313         linkat test: Avoid test failure on AIX 7.1.
12314         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12315         * tests/test-link.h (test_link): Likewise.
12316
12317 2011-06-19  Bruno Haible  <bruno@clisp.org>
12318
12319         pread test: Avoid test failure on OpenBSD 4.9.
12320         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12321
12322 2011-06-19  Bruno Haible  <bruno@clisp.org>
12323
12324         sprintf-posix: Fix test failure on AIX 7.1.
12325         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12326         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12327         on AIX.
12328         * doc/posix-functions/fprintf.texi: Likewise.
12329         * doc/posix-functions/printf.texi: Likewise.
12330         * doc/posix-functions/snprintf.texi: Likewise.
12331         * doc/posix-functions/sprintf.texi: Likewise.
12332         * doc/posix-functions/vdprintf.texi: Likewise.
12333         * doc/posix-functions/vfprintf.texi: Likewise.
12334         * doc/posix-functions/vprintf.texi: Likewise.
12335         * doc/posix-functions/vsnprintf.texi: Likewise.
12336         * doc/posix-functions/vsprintf.texi: Likewise.
12337
12338 2011-06-19  Bruno Haible  <bruno@clisp.org>
12339
12340         roundl-ieee: Fix test failure on AIX 7.1.
12341         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12342         * doc/posix-functions/roundl.texi: Mention problem with negative
12343         arguments.
12344
12345 2011-06-19  Bruno Haible  <bruno@clisp.org>
12346
12347         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12348         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12349         * doc/posix-functions/round.texi: Mention problem with negative
12350         arguments.
12351         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12352
12353 2011-06-19  Bruno Haible  <bruno@clisp.org>
12354
12355         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12356         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12357         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12358         * doc/posix-functions/roundf.texi: Mention problem with negative
12359         arguments.
12360         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12361
12362 2011-06-19  Bruno Haible  <bruno@clisp.org>
12363
12364         ceilf-ieee: Work around bug on MacOS X 10.5.
12365         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12366
12367         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12368         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12369         IEEE compliant, avoid compiler optimizations.
12370         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12371         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12372         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12373         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12374         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12375         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12376         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12377         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12378         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12379         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12380
12381 2011-06-19  Bruno Haible  <bruno@clisp.org>
12382
12383         ceilf-ieee: Work around bug on AIX 7.1.
12384         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12385         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12386
12387 2011-06-19  Bruno Haible  <bruno@clisp.org>
12388
12389         ceil-ieee: Work around bug on AIX 7.1.
12390         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12391         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12392
12393 2011-06-18  Bruno Haible  <bruno@clisp.org>
12394
12395         fsync test: Avoid test failure on MacOS X and AIX.
12396         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
12397         EINVAL.
12398
12399 2011-06-18  Bruno Haible  <bruno@clisp.org>
12400
12401         openat, fdopendir tests: Fix link errors.
12402         * modules/openat-tests (Depends-on): Add progname.
12403         * modules/fdopendir-tests (Depends-on): Likewise.
12404         * tests/test-fchownat.c: Include progname.h.
12405         (main): Call set_program_name.
12406         * tests/test-fstatat.c: Include progname.h.
12407         (main): Call set_program_name.
12408         * tests/test-mkdirat.c: Include progname.h.
12409         (main): Call set_program_name.
12410         * tests/test-openat.c: Include progname.h.
12411         (main): Call set_program_name.
12412         * tests/test-unlinkat.c: Include progname.h.
12413         (main): Call set_program_name.
12414         * tests/test-fdopendir.c: Include progname.h.
12415         (main): Call set_program_name.
12416
12417 2011-06-18  Bruno Haible  <bruno@clisp.org>
12418
12419         Doc update.
12420         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
12421         HP-UX.
12422         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
12423
12424 2011-06-18  Bruno Haible  <bruno@clisp.org>
12425
12426         getcwd tests: Avoid compilation error on HP-UX 11.31.
12427         * modules/getcwd-tests (Depends-on): Add pathmax.
12428         * tests/test-getcwd.c: Include pathmax.h.
12429
12430 2011-06-18  Bruno Haible  <bruno@clisp.org>
12431
12432         isfinite, isinf: Fix link error on AIX 6 and 7.
12433         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
12434         needed, also test the macro with a 'float' argument.
12435         * m4/isinf.m4 (gl_ISINF): Likewise.
12436
12437 2011-06-18  Bruno Haible  <bruno@clisp.org>
12438
12439         getloadavg: Don't clobber LIBS. Regression from previous commit.
12440         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
12441         AC_CHECK_LIB from here...
12442         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
12443         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
12444         gl_func_getloadavg_done.
12445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12446
12447 2011-06-18  Bruno Haible  <bruno@clisp.org>
12448
12449         clean-temp: Improve documentation.
12450         * lib/clean-temp.h: Explain better how to use this module.
12451         Reported by John Darrington <john@darrington.wattle.id.au>.
12452
12453 2011-06-17  Bruno Haible  <bruno@clisp.org>
12454
12455         pread, pwrite: Avoid cc warning on AIX.
12456         * lib/unistd.in.h (pread): Undefine before defining as a macro.
12457         (pwrite): Likewise.
12458
12459 2011-06-17  Bruno Haible  <bruno@clisp.org>
12460
12461         spawn-pipe tests: Fix link error.
12462         * tests/test-spawn-pipe-child.c: Undefine fprintf.
12463         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12464
12465 2011-06-17  Bruno Haible  <bruno@clisp.org>
12466
12467         Tests: Remove unnecessary dependency.
12468         * modules/canonicalize-tests (Depends-on): Remove progname.
12469         * modules/chown-tests (Depends-on): Likewise.
12470         * modules/dirname-tests (Depends-on): Likewise.
12471         * modules/fdopendir-tests (Depends-on): Likewise.
12472         * modules/fdutimensat-tests (Depends-on): Likewise.
12473         * modules/hash-tests (Depends-on): Likewise.
12474         * modules/lchown-tests (Depends-on): Likewise.
12475         * modules/linkat-tests (Depends-on): Likewise.
12476         * modules/renameat-tests (Depends-on): Likewise.
12477         * modules/spawn-pipe-tests (Depends-on): Likewise.
12478         * modules/utimensat-tests (Depends-on): Likewise.
12479
12480 2011-06-17  Bruno Haible  <bruno@clisp.org>
12481
12482         spawn-pipe tests: Fix link error.
12483         * tests/test-spawn-pipe-child.c: Undefine fflush.
12484
12485 2011-06-17  Bruno Haible  <bruno@clisp.org>
12486
12487         Fix tests link errors.
12488         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
12489         * modules/chown-tests (Makefile.am): Don't link test-chown with
12490         LIBINTL.
12491         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
12492         LIBINTL.
12493         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
12494         LIBINTL.
12495         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
12496         LIBINTL.
12497
12498 2011-06-16  Bruno Haible  <bruno@clisp.org>
12499
12500         crypto/gc-sha1: Fix recent regression.
12501         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
12502         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
12503
12504         crypto/gc-md5: Fix recent regression.
12505         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
12506
12507         crypto/gc-md4: Fix recent regression.
12508         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
12509         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
12510
12511         crypto/gc-arctwo: Fix recent regression.
12512         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
12513         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
12514
12515         crypto/gc-rijndael: Fix recent regression.
12516         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
12517         (configure.ac): Invoke AC_LIBOBJ here.
12518         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
12519         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12520
12521         crypto/gc-hmac-sha1: Fix recent regression.
12522         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
12523         (configure.ac): Invoke AC_LIBOBJ here.
12524         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
12525         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12526
12527         crypto/gc-hmac-md5: Fix recent regression.
12528         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
12529         (configure.ac): Invoke AC_LIBOBJ here.
12530         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
12531         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12532
12533         crypto/gc-des: Fix recent regression.
12534         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12535         (configure.ac): Invoke AC_LIBOBJ here.
12536         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12537         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12538
12539         crypto/gc-arcfour: Fix recent regression.
12540         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12541         (configure.ac): Invoke AC_LIBOBJ here.
12542         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12544
12545 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12546
12547         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12548         After the 2011-05-21 change, this macro requires
12549         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12550         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12551
12552 2011-06-16  Bruno Haible  <bruno@clisp.org>
12553
12554         fprintftime: Move AC_LIBOBJ invocations to module description.
12555         * m4/fprintftime.m4: Remove file.
12556         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12557         (configure.ac): Remove gl_FPRINTFTIME call.
12558         (Makefile.am): Augment lib_SOURCES.
12559         Reported by Jim Meyering.
12560
12561 2011-06-16  Bruno Haible  <bruno@clisp.org>
12562
12563         tmpfile-safer: Finish 2011-05-23 commit.
12564         * m4/stdio-safer.m4: Really remove file.
12565         Reported by Jim Meyering.
12566
12567 2011-06-16  Bruno Haible  <bruno@clisp.org>
12568
12569         syntax-check: Fix typo.
12570         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12571         printf-posix.m4.
12572         Reported by Jim Meyering.
12573
12574 2011-06-13  Jim Meyering  <meyering@redhat.com>
12575
12576         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12577         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12578
12579 2011-05-23  Bruno Haible  <bruno@clisp.org>
12580
12581         yesno: Move AC_LIBOBJ invocations to module description.
12582         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12583         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12584
12585 2011-05-23  Bruno Haible  <bruno@clisp.org>
12586
12587         xstrtol: Move AC_LIBOBJ invocations to module description.
12588         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12589         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12590
12591 2011-05-23  Bruno Haible  <bruno@clisp.org>
12592
12593         xstrtold: Move AC_LIBOBJ invocations to module description.
12594         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12595         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12596
12597 2011-05-23  Bruno Haible  <bruno@clisp.org>
12598
12599         xstrtod: Move AC_LIBOBJ invocations to module description.
12600         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12601         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12602
12603 2011-05-23  Bruno Haible  <bruno@clisp.org>
12604
12605         xnanosleep: Move AC_LIBOBJ invocations to module description.
12606         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12607         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12608
12609 2011-05-23  Bruno Haible  <bruno@clisp.org>
12610
12611         xgetcwd: Move AC_LIBOBJ invocations to module description.
12612         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12613         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12614
12615 2011-05-23  Bruno Haible  <bruno@clisp.org>
12616
12617         xalloc: Move AC_LIBOBJ invocations to module description.
12618         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12619         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12620
12621 2011-05-23  Bruno Haible  <bruno@clisp.org>
12622
12623         write-any-file: Move AC_LIBOBJ invocations to module description.
12624         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12625         invocation.
12626         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12627
12628 2011-05-23  Bruno Haible  <bruno@clisp.org>
12629
12630         utimens: Move AC_LIBOBJ invocations to module description.
12631         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12632         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12633
12634 2011-05-23  Bruno Haible  <bruno@clisp.org>
12635
12636         utimecmp: Move AC_LIBOBJ invocations to module description.
12637         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12638         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12639
12640 2011-05-23  Bruno Haible  <bruno@clisp.org>
12641
12642         userspec: Move AC_LIBOBJ invocations to module description.
12643         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12644         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12645
12646 2011-05-23  Bruno Haible  <bruno@clisp.org>
12647
12648         unlinkdir: Move AC_LIBOBJ invocations to module description.
12649         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12650         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12651
12652 2011-05-23  Bruno Haible  <bruno@clisp.org>
12653
12654         unistd-safer: Move AC_LIBOBJ invocations to module description.
12655         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12656         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12657
12658 2011-05-23  Bruno Haible  <bruno@clisp.org>
12659
12660         tempname: Move AC_LIBOBJ invocations to module description.
12661         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12662         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12663
12664 2011-05-23  Bruno Haible  <bruno@clisp.org>
12665
12666         strftime: Move AC_LIBOBJ invocations to module description.
12667         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12668         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12669
12670 2011-05-23  Bruno Haible  <bruno@clisp.org>
12671
12672         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12673         * m4/stdlib-safer.m4: Remove file.
12674         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12675         (configure.ac): Remove gl_STDLIB_SAFER call.
12676         (Makefile.am): Augment lib_SOURCES.
12677
12678 2011-05-23  Bruno Haible  <bruno@clisp.org>
12679
12680         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12681         * m4/stdio-safer.m4: Remove file.
12682         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12683         (configure.ac): Remove gl_TMPFILE_SAFER call.
12684         (Makefile.am): Augment lib_SOURCES.
12685
12686 2011-05-23  Bruno Haible  <bruno@clisp.org>
12687
12688         popen-safer: Move AC_LIBOBJ invocations to module description.
12689         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12690         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12691         (configure.ac): Remove gl_POPEN_SAFER call.
12692         (Makefile.am): Augment lib_SOURCES.
12693
12694 2011-05-23  Bruno Haible  <bruno@clisp.org>
12695
12696         freopen-safer: Move AC_LIBOBJ invocations to module description.
12697         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12698         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12699         (configure.ac): Remove gl_FREOPEN_SAFER call.
12700         (Makefile.am): Augment lib_SOURCES.
12701
12702 2011-05-23  Bruno Haible  <bruno@clisp.org>
12703
12704         fopen-safer: Move AC_LIBOBJ invocations to module description.
12705         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12706         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12707         (configure.ac): Remove gl_FOPEN_SAFER call.
12708         (Makefile.am): Augment lib_SOURCES.
12709
12710 2011-05-23  Bruno Haible  <bruno@clisp.org>
12711
12712         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12713         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12714         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12715
12716 2011-05-23  Bruno Haible  <bruno@clisp.org>
12717
12718         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12719         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12720         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12721
12722 2011-05-23  Bruno Haible  <bruno@clisp.org>
12723
12724         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12725         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12726         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12727
12728 2011-05-23  Bruno Haible  <bruno@clisp.org>
12729
12730         settime: Move AC_LIBOBJ invocations to module description.
12731         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12732         * modules/settime (Makefile.am): Augment lib_SOURCES.
12733
12734 2011-05-23  Bruno Haible  <bruno@clisp.org>
12735
12736         savedir: Move AC_LIBOBJ invocations to module description.
12737         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12738         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12739
12740 2011-05-23  Bruno Haible  <bruno@clisp.org>
12741
12742         save-cwd: Move AC_LIBOBJ invocations to module description.
12743         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12744         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12745
12746 2011-05-23  Bruno Haible  <bruno@clisp.org>
12747
12748         same: Move AC_LIBOBJ invocations to module description.
12749         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12750         * modules/same (Makefile.am): Augment lib_SOURCES.
12751
12752 2011-05-23  Bruno Haible  <bruno@clisp.org>
12753
12754         safe-write: Move AC_LIBOBJ invocations to module description.
12755         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12756         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12757         instead of gl_SAFE_WRITE.
12758         (Makefile.am): Augment lib_SOURCES.
12759
12760 2011-05-23  Bruno Haible  <bruno@clisp.org>
12761
12762         safe-read: Move AC_LIBOBJ invocations to module description.
12763         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12764         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12765         of gl_SAFE_READ.
12766         (Makefile.am): Augment lib_SOURCES.
12767
12768 2011-05-23  Bruno Haible  <bruno@clisp.org>
12769
12770         safe-alloc: Move AC_LIBOBJ invocations to module description.
12771         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12772         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12773
12774 2011-05-23  Bruno Haible  <bruno@clisp.org>
12775
12776         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12777         * m4/rijndael.m4: Remove file.
12778         * modules/crypto/rijndael (Files): Remove it.
12779         (configure.ac): Remove gl_RIJNDAEL call.
12780         (Makefile.am): Augment lib_SOURCES.
12781
12782 2011-05-23  Bruno Haible  <bruno@clisp.org>
12783
12784         readtokens: Move AC_LIBOBJ invocations to module description.
12785         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12786         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12787
12788 2011-05-23  Bruno Haible  <bruno@clisp.org>
12789
12790         read-file: Move AC_LIBOBJ invocations to module description.
12791         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12792         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12793         of gl_FUNC_READ_FILE.
12794         (Makefile.am): Augment lib_SOURCES.
12795
12796 2011-05-23  Bruno Haible  <bruno@clisp.org>
12797
12798         quotearg: Move AC_LIBOBJ invocations to module description.
12799         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12800         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12801
12802 2011-05-23  Bruno Haible  <bruno@clisp.org>
12803
12804         quote: Move AC_LIBOBJ invocations to module description.
12805         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12806         * modules/quote (Makefile.am): Augment lib_SOURCES.
12807
12808 2011-05-23  Bruno Haible  <bruno@clisp.org>
12809
12810         posixver: Move AC_LIBOBJ invocations to module description.
12811         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12812         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12813
12814 2011-05-23  Bruno Haible  <bruno@clisp.org>
12815
12816         posixtm: Move AC_LIBOBJ invocations to module description.
12817         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12818         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12819
12820 2011-05-23  Bruno Haible  <bruno@clisp.org>
12821
12822         physmem: Move AC_LIBOBJ invocations to module description.
12823         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12824         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12825
12826 2011-05-23  Bruno Haible  <bruno@clisp.org>
12827
12828         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12829         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12830         invocation.
12831         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12832
12833 2011-05-23  Bruno Haible  <bruno@clisp.org>
12834
12835         mpsort: Move AC_LIBOBJ invocations to module description.
12836         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12837         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12838
12839 2011-05-23  Bruno Haible  <bruno@clisp.org>
12840
12841         modechange: Move AC_LIBOBJ invocations to module description.
12842         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12843         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12844
12845 2011-05-23  Bruno Haible  <bruno@clisp.org>
12846
12847         mkdir-p: Move AC_LIBOBJ invocations to module description.
12848         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12849         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12850
12851 2011-05-23  Bruno Haible  <bruno@clisp.org>
12852
12853         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12854         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12855         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12856
12857 2011-05-23  Bruno Haible  <bruno@clisp.org>
12858
12859         mgetgroups: Move AC_LIBOBJ invocations to module description.
12860         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12861         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12862
12863 2011-05-23  Bruno Haible  <bruno@clisp.org>
12864
12865         memxor: Move AC_LIBOBJ invocations to module description.
12866         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12867         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12868
12869 2011-05-23  Bruno Haible  <bruno@clisp.org>
12870
12871         memcoll: Move AC_LIBOBJ invocations to module description.
12872         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12873         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12874
12875 2011-05-23  Bruno Haible  <bruno@clisp.org>
12876
12877         memcasecmp: Move AC_LIBOBJ invocations to module description.
12878         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12879         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12880
12881 2011-05-23  Bruno Haible  <bruno@clisp.org>
12882
12883         crypto/md5: Move AC_LIBOBJ invocations to module description.
12884         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12885         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12886
12887 2011-05-23  Bruno Haible  <bruno@clisp.org>
12888
12889         crypto/md4: Move AC_LIBOBJ invocations to module description.
12890         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12891         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12892
12893 2011-05-23  Bruno Haible  <bruno@clisp.org>
12894
12895         crypto/md2: Move AC_LIBOBJ invocations to module description.
12896         * m4/md2.m4: Remove file.
12897         * modules/crypto/md2 (Files): Remove it.
12898         (configure.ac): Remove gl_MD2 call.
12899         (Makefile.am): Augment lib_SOURCES.
12900
12901 2011-05-23  Bruno Haible  <bruno@clisp.org>
12902
12903         long-options: Move AC_LIBOBJ invocations to module description.
12904         * m4/long-options.m4: Remove file.
12905         * modules/long-options (Files): Remove it.
12906         (configure.ac): Remove gl_LONG_OPTIONS call.
12907         (Makefile.am): Augment lib_SOURCES.
12908
12909 2011-05-23  Bruno Haible  <bruno@clisp.org>
12910
12911         i-ring: Move AC_LIBOBJ invocations to module description.
12912         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
12913         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
12914
12915 2011-05-23  Bruno Haible  <bruno@clisp.org>
12916
12917         idcache: Move AC_LIBOBJ invocations to module description.
12918         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
12919         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12920
12921 2011-05-23  Bruno Haible  <bruno@clisp.org>
12922
12923         human: Move AC_LIBOBJ invocations to module description.
12924         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
12925         * modules/human (Makefile.am): Augment lib_SOURCES.
12926
12927 2011-05-23  Bruno Haible  <bruno@clisp.org>
12928
12929         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
12930         * m4/hmac-sha1.m4: Remove file.
12931         * modules/crypto/hmac-sha1 (Files): Remove it.
12932         (configure.ac): Remove gl_HMAC_SHA1 call.
12933         (Makefile.am): Augment lib_SOURCES.
12934
12935 2011-05-23  Bruno Haible  <bruno@clisp.org>
12936
12937         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
12938         * m4/hmac-md5.m4: Remove file.
12939         * modules/crypto/hmac-md5 (Files): Remove it.
12940         (configure.ac): Remove gl_HMAC_MD5 call.
12941         (Makefile.am): Augment lib_SOURCES.
12942
12943 2011-05-23  Bruno Haible  <bruno@clisp.org>
12944
12945         hash: Move AC_LIBOBJ invocations to module description.
12946         * m4/hash.m4: Remove file.
12947         * modules/hash (Files): Remove it.
12948         (configure.ac): Remove gl_HASH call.
12949         (Makefile.am): Augment lib_SOURCES.
12950
12951 2011-05-23  Bruno Haible  <bruno@clisp.org>
12952
12953         hard-locale: Move AC_LIBOBJ invocations to module description.
12954         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
12955         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
12956
12957 2011-05-23  Bruno Haible  <bruno@clisp.org>
12958
12959         getugroups: Move AC_LIBOBJ invocations to module description.
12960         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
12961         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
12962
12963 2011-05-23  Bruno Haible  <bruno@clisp.org>
12964
12965         gettime: Move AC_LIBOBJ invocations to module description.
12966         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
12967         * modules/gettime (Makefile.am): Augment lib_SOURCES.
12968
12969 2011-05-23  Bruno Haible  <bruno@clisp.org>
12970
12971         getndelim2: Move AC_LIBOBJ invocations to module description.
12972         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
12973         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
12974
12975 2011-05-23  Bruno Haible  <bruno@clisp.org>
12976
12977         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
12978         * m4/gc-pbkdf2-sha1.m4: Remove file.
12979         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
12980         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
12981         (Makefile.am): Augment lib_SOURCES.
12982
12983 2011-05-23  Bruno Haible  <bruno@clisp.org>
12984
12985         fts: Move AC_LIBOBJ invocations to module description.
12986         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
12987         * modules/fts (configure.ac): ... to here.
12988
12989 2011-05-23  Bruno Haible  <bruno@clisp.org>
12990
12991         file-type: Move AC_LIBOBJ invocations to module description.
12992         * m4/file-type.m4: Remove file.
12993         * modules/file-type (Files): Remove it.
12994         (configure.ac): Remove gl_FILE_TYPE call.
12995         (Makefile.am): Augment lib_SOURCES.
12996
12997 2011-05-23  Bruno Haible  <bruno@clisp.org>
12998
12999         filenamecat*: Respect rules for use of AC_LIBOBJ.
13000         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13001         Remove AC_LIBOBJ invocation.
13002         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13003         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13004
13005 2011-05-23  Bruno Haible  <bruno@clisp.org>
13006
13007         filemode: Move AC_LIBOBJ invocations to module description.
13008         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13009         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13010
13011 2011-05-23  Bruno Haible  <bruno@clisp.org>
13012
13013         openat-safer: Move AC_LIBOBJ invocations to module description.
13014         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13015         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13016
13017 2011-05-23  Bruno Haible  <bruno@clisp.org>
13018
13019         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13020         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13021         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13022
13023 2011-05-23  Bruno Haible  <bruno@clisp.org>
13024
13025         exclude: Move AC_LIBOBJ invocations to module description.
13026         * m4/exclude.m4: Remove file.
13027         * modules/exclude (Files): Remove it.
13028         (configure.ac): Remove gl_EXCLUDE call.
13029         (Makefile.am): Augment lib_SOURCES.
13030
13031 2011-05-23  Bruno Haible  <bruno@clisp.org>
13032
13033         dirname*: Respect rules for use of AC_LIBOBJ.
13034         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13035         invocations.
13036         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13037         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13038
13039 2011-05-23  Bruno Haible  <bruno@clisp.org>
13040
13041         dirent-safer: Move AC_LIBOBJ invocations to module description.
13042         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13043         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13044
13045 2011-05-23  Bruno Haible  <bruno@clisp.org>
13046
13047         crypto/des: Move AC_LIBOBJ invocations to module description.
13048         * m4/des.m4: Remove file.
13049         * modules/crypto/des (Files): Remove it.
13050         (configure.ac): Remove gl_DES call.
13051         (Makefile.am): Augment lib_SOURCES.
13052
13053 2011-05-23  Bruno Haible  <bruno@clisp.org>
13054
13055         cycle-check: Move AC_LIBOBJ invocations to module description.
13056         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13057         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13058
13059 2011-05-23  Bruno Haible  <bruno@clisp.org>
13060
13061         c-strtold: Move AC_LIBOBJ invocations to module description.
13062         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13063         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13064
13065 2011-05-23  Bruno Haible  <bruno@clisp.org>
13066
13067         c-strtod: Move AC_LIBOBJ invocations to module description.
13068         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13069         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13070
13071 2011-05-23  Bruno Haible  <bruno@clisp.org>
13072
13073         crc: Move AC_LIBOBJ invocations to module description.
13074         * m4/crc.m4: Remove file.
13075         * modules/crc (Files): Remove it.
13076         (configure.ac): Remove gl_CRC call.
13077         (Makefile.am): Augment lib_SOURCES.
13078
13079 2011-05-23  Bruno Haible  <bruno@clisp.org>
13080
13081         close-stream: Move AC_LIBOBJ invocations to module description.
13082         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13083         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13084
13085 2011-05-23  Bruno Haible  <bruno@clisp.org>
13086
13087         closeout: Move AC_LIBOBJ invocations to module description.
13088         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13089         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13090
13091 2011-05-23  Bruno Haible  <bruno@clisp.org>
13092
13093         closein: Move AC_LIBOBJ invocations to module description.
13094         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13095         * modules/closein (Makefile.am): Augment lib_SOURCES.
13096
13097 2011-05-23  Bruno Haible  <bruno@clisp.org>
13098
13099         cloexec: Move AC_LIBOBJ invocations to module description.
13100         * m4/cloexec.m4: Remove file.
13101         * modules/cloexec (Files): Remove it.
13102         (configure.ac): Remove gl_CLOEXEC call.
13103         (Makefile.am): Augment lib_SOURCES.
13104
13105 2011-05-23  Bruno Haible  <bruno@clisp.org>
13106
13107         check-version: Move AC_LIBOBJ invocations to module description.
13108         * m4/check-version.m4: Remove file.
13109         * modules/check-version (Files): Remove it.
13110         (configure.ac): Remove gl_CHECK_VERSION call.
13111         (Makefile.am): Augment lib_SOURCES.
13112
13113 2011-05-23  Bruno Haible  <bruno@clisp.org>
13114
13115         chdir-safer: Move AC_LIBOBJ invocations to module description.
13116         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13117         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13118
13119 2011-05-23  Bruno Haible  <bruno@clisp.org>
13120
13121         canonicalize: Move AC_LIBOBJ invocations to module description.
13122         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13123         AC_LIBOBJ invocation.
13124         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13125
13126 2011-05-23  Bruno Haible  <bruno@clisp.org>
13127
13128         canon-host: Move AC_LIBOBJ invocations to module description.
13129         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13130         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13131         instead of gl_CANON_HOST.
13132         (Makefile.am): Augment lib_SOURCES.
13133
13134 2011-05-23  Bruno Haible  <bruno@clisp.org>
13135
13136         backupfile: Move AC_LIBOBJ invocations to module description.
13137         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13138         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13139
13140 2011-05-23  Bruno Haible  <bruno@clisp.org>
13141
13142         argmatch: Move AC_LIBOBJ invocations to module description.
13143         * m4/argmatch.m4: Remove file.
13144         * modules/argmatch (Files): Remove it.
13145         (configure.ac): Remove gl_ARGMATCH call.
13146         (Makefile.am): Augment lib_SOURCES.
13147
13148 2011-05-23  Bruno Haible  <bruno@clisp.org>
13149
13150         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13151         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13152         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13153
13154 2011-05-23  Bruno Haible  <bruno@clisp.org>
13155
13156         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13157         * m4/arcfour.m4: Remove file.
13158         * modules/crypto/arcfour (Files): Remove it.
13159         (configure.ac): Remove gl_ARCFOUR call.
13160         (Makefile.am): Augment lib_SOURCES.
13161
13162 2011-05-22  Bruno Haible  <bruno@clisp.org>
13163
13164         write: Move AC_LIBOBJ invocations to module description.
13165         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13166         * modules/write (configure.ac): ... to here.
13167
13168 2011-05-22  Bruno Haible  <bruno@clisp.org>
13169
13170         wmemset: Move AC_LIBOBJ invocations to module description.
13171         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13172         here...
13173         * modules/wmemset (configure.ac): ... to here.
13174
13175 2011-05-22  Bruno Haible  <bruno@clisp.org>
13176
13177         wmemmove: Move AC_LIBOBJ invocations to module description.
13178         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13179         here...
13180         * modules/wmemmove (configure.ac): ... to here.
13181
13182 2011-05-22  Bruno Haible  <bruno@clisp.org>
13183
13184         wmemcpy: Move AC_LIBOBJ invocations to module description.
13185         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13186         here...
13187         * modules/wmemcpy (configure.ac): ... to here.
13188
13189 2011-05-22  Bruno Haible  <bruno@clisp.org>
13190
13191         wmemcmp: Move AC_LIBOBJ invocations to module description.
13192         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13193         here...
13194         * modules/wmemcmp (configure.ac): ... to here.
13195
13196 2011-05-22  Bruno Haible  <bruno@clisp.org>
13197
13198         wmemchr: Move AC_LIBOBJ invocations to module description.
13199         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13200         here...
13201         * modules/wmemchr (configure.ac): ... to here.
13202
13203 2011-05-22  Bruno Haible  <bruno@clisp.org>
13204
13205         wcswidth: Move AC_LIBOBJ invocations to module description.
13206         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13207         here...
13208         * modules/wcswidth (configure.ac): ... to here.
13209
13210 2011-05-22  Bruno Haible  <bruno@clisp.org>
13211
13212         wcwidth: Respect rules for use of AC_LIBOBJ.
13213         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13214         invocation from here...
13215         * modules/wcwidth (configure.ac): ... to here.
13216         (Depends-on): Update conditions.
13217
13218 2011-05-22  Bruno Haible  <bruno@clisp.org>
13219
13220         wctype: Move AC_LIBOBJ invocations to module description.
13221         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13222         invocation from here...
13223         * modules/wctype (configure.ac): ... to here.
13224         (Depends-on): Update conditions.
13225
13226 2011-05-22  Bruno Haible  <bruno@clisp.org>
13227
13228         wctrans: Move AC_LIBOBJ invocations to module description.
13229         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13230         invocation from here...
13231         * modules/wctrans (configure.ac): ... to here.
13232
13233 2011-05-22  Bruno Haible  <bruno@clisp.org>
13234
13235         wctomb: Move AC_LIBOBJ invocations to module description.
13236         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13237         invocations from here...
13238         * modules/wctomb (configure.ac): ... to here.
13239
13240 2011-05-22  Bruno Haible  <bruno@clisp.org>
13241
13242         wctob: Move AC_LIBOBJ invocations to module description.
13243         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13244         gl_PREREQ_WCTOB invocations from here...
13245         * modules/wctob (configure.ac): ... to here.
13246         (Depends-on): Update conditions.
13247
13248 2011-05-22  Bruno Haible  <bruno@clisp.org>
13249
13250         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13251         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13252         here...
13253         * modules/wcsxfrm (configure.ac): ... to here.
13254
13255 2011-05-22  Bruno Haible  <bruno@clisp.org>
13256
13257         wcstok: Move AC_LIBOBJ invocations to module description.
13258         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13259         * modules/wcstok (configure.ac): ... to here.
13260
13261 2011-05-22  Bruno Haible  <bruno@clisp.org>
13262
13263         wcsstr: Move AC_LIBOBJ invocations to module description.
13264         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13265         * modules/wcsstr (configure.ac): ... to here.
13266
13267 2011-05-22  Bruno Haible  <bruno@clisp.org>
13268
13269         wcsspn: Move AC_LIBOBJ invocations to module description.
13270         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13271         * modules/wcsspn (configure.ac): ... to here.
13272
13273 2011-05-22  Bruno Haible  <bruno@clisp.org>
13274
13275         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13276         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13277         gl_PREREQ_WCSRTOMBS invocations from here...
13278         * modules/wcsrtombs (configure.ac): ... to here.
13279
13280 2011-05-22  Bruno Haible  <bruno@clisp.org>
13281
13282         wcsrchr: Move AC_LIBOBJ invocations to module description.
13283         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13284         here...
13285         * modules/wcsrchr (configure.ac): ... to here.
13286
13287 2011-05-22  Bruno Haible  <bruno@clisp.org>
13288
13289         wcspbrk: Move AC_LIBOBJ invocations to module description.
13290         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13291         here...
13292         * modules/wcspbrk (configure.ac): ... to here.
13293
13294 2011-05-22  Bruno Haible  <bruno@clisp.org>
13295
13296         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13297         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13298         gl_PREREQ_WCSNRTOMBS invocations from here...
13299         * modules/wcsnrtombs (configure.ac): ... to here.
13300
13301 2011-05-22  Bruno Haible  <bruno@clisp.org>
13302
13303         wcsnlen: Move AC_LIBOBJ invocations to module description.
13304         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13305         here...
13306         * modules/wcsnlen (configure.ac): ... to here.
13307
13308 2011-05-22  Bruno Haible  <bruno@clisp.org>
13309
13310         wcsncpy: Move AC_LIBOBJ invocations to module description.
13311         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13312         here...
13313         * modules/wcsncpy (configure.ac): ... to here.
13314
13315 2011-05-22  Bruno Haible  <bruno@clisp.org>
13316
13317         wcsncmp: Move AC_LIBOBJ invocations to module description.
13318         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13319         here...
13320         * modules/wcsncmp (configure.ac): ... to here.
13321
13322 2011-05-22  Bruno Haible  <bruno@clisp.org>
13323
13324         wcsncat: Move AC_LIBOBJ invocations to module description.
13325         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13326         here...
13327         * modules/wcsncat (configure.ac): ... to here.
13328
13329 2011-05-22  Bruno Haible  <bruno@clisp.org>
13330
13331         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13332         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13333         from here...
13334         * modules/wcsncasecmp (configure.ac): ... to here.
13335
13336 2011-05-22  Bruno Haible  <bruno@clisp.org>
13337
13338         wcslen: Move AC_LIBOBJ invocations to module description.
13339         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13340         * modules/wcslen (configure.ac): ... to here.
13341
13342 2011-05-22  Bruno Haible  <bruno@clisp.org>
13343
13344         wcsdup: Move AC_LIBOBJ invocations to module description.
13345         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13346         * modules/wcsdup (configure.ac): ... to here.
13347
13348 2011-05-22  Bruno Haible  <bruno@clisp.org>
13349
13350         wcscspn: Move AC_LIBOBJ invocations to module description.
13351         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13352         here...
13353         * modules/wcscspn (configure.ac): ... to here.
13354
13355 2011-05-22  Bruno Haible  <bruno@clisp.org>
13356
13357         wcscpy: Move AC_LIBOBJ invocations to module description.
13358         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13359         * modules/wcscpy (configure.ac): ... to here.
13360
13361 2011-05-22  Bruno Haible  <bruno@clisp.org>
13362
13363         wcscoll: Move AC_LIBOBJ invocations to module description.
13364         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13365         here...
13366         * modules/wcscoll (configure.ac): ... to here.
13367
13368 2011-05-22  Bruno Haible  <bruno@clisp.org>
13369
13370         wcscmp: Move AC_LIBOBJ invocations to module description.
13371         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13372         * modules/wcscmp (configure.ac): ... to here.
13373
13374 2011-05-22  Bruno Haible  <bruno@clisp.org>
13375
13376         wcschr: Move AC_LIBOBJ invocations to module description.
13377         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13378         * modules/wcschr (configure.ac): ... to here.
13379
13380 2011-05-22  Bruno Haible  <bruno@clisp.org>
13381
13382         wcscat: Move AC_LIBOBJ invocations to module description.
13383         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13384         * modules/wcscat (configure.ac): ... to here.
13385
13386 2011-05-22  Bruno Haible  <bruno@clisp.org>
13387
13388         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13389         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13390         here...
13391         * modules/wcscasecmp (configure.ac): ... to here.
13392
13393 2011-05-22  Bruno Haible  <bruno@clisp.org>
13394
13395         wcrtomb: Move AC_LIBOBJ invocations to module description.
13396         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
13397         invocations from here...
13398         * modules/wcrtomb (configure.ac): ... to here.
13399
13400 2011-05-22  Bruno Haible  <bruno@clisp.org>
13401
13402         wcpncpy: Move AC_LIBOBJ invocations to module description.
13403         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
13404         here...
13405         * modules/wcpncpy (configure.ac): ... to here.
13406
13407 2011-05-22  Bruno Haible  <bruno@clisp.org>
13408
13409         wcpcpy: Move AC_LIBOBJ invocations to module description.
13410         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
13411         * modules/wcpcpy (configure.ac): ... to here.
13412
13413 2011-05-22  Bruno Haible  <bruno@clisp.org>
13414
13415         waitpid: Move AC_LIBOBJ invocations to module description.
13416         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
13417         invocation from here...
13418         * modules/waitpid (configure.ac): ... to here.
13419
13420 2011-05-22  Bruno Haible  <bruno@clisp.org>
13421
13422         utimensat: Move AC_LIBOBJ invocations to module description.
13423         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
13424         here...
13425         * modules/utimensat (configure.ac): ... to here.
13426
13427 2011-05-22  Bruno Haible  <bruno@clisp.org>
13428
13429         usleep: Move AC_LIBOBJ invocations to module description.
13430         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
13431         here...
13432         * modules/usleep (configure.ac): ... to here.
13433
13434 2011-05-22  Bruno Haible  <bruno@clisp.org>
13435
13436         unlockpt: Move AC_LIBOBJ invocations to module description.
13437         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
13438         gl_PREREQ_UNLOCKPT invocations from here...
13439         * modules/unlockpt (configure.ac): ... to here.
13440
13441 2011-05-22  Bruno Haible  <bruno@clisp.org>
13442
13443         unlink: Respect rules for use of AC_LIBOBJ.
13444         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
13445         * modules/unlink (configure.ac): ... to here.
13446
13447 2011-05-22  Bruno Haible  <bruno@clisp.org>
13448
13449         uname: Move AC_LIBOBJ invocations to module description.
13450         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
13451         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
13452         here...
13453         * modules/uname (configure.ac): ... to here.
13454
13455 2011-05-22  Bruno Haible  <bruno@clisp.org>
13456
13457         ttyname_r: Move AC_LIBOBJ invocations to module description.
13458         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
13459         gl_PREREQ_TTYNAME_R invocations from here...
13460         * modules/ttyname_r (configure.ac): ... to here.
13461
13462 2011-05-22  Bruno Haible  <bruno@clisp.org>
13463
13464         tsearch: Move AC_LIBOBJ invocations to module description.
13465         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
13466         invocations from here...
13467         * modules/tsearch (configure.ac): ... to here.
13468
13469 2011-05-22  Bruno Haible  <bruno@clisp.org>
13470
13471         towctrans: Move AC_LIBOBJ invocations to module description.
13472         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
13473         AC_LIBOBJ invocation from here...
13474         * modules/towctrans (configure.ac): ... to here.
13475
13476 2011-05-22  Bruno Haible  <bruno@clisp.org>
13477
13478         tmpfile: Move AC_LIBOBJ invocations to module description.
13479         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
13480         invocations from here...
13481         * modules/tmpfile (configure.ac): ... to here.
13482
13483 2011-05-22  Bruno Haible  <bruno@clisp.org>
13484
13485         times: Move AC_LIBOBJ invocations to module description.
13486         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
13487         * modules/times (configure.ac): ... to here.
13488
13489 2011-05-22  Bruno Haible  <bruno@clisp.org>
13490
13491         time_r: Move AC_LIBOBJ invocations to module description.
13492         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
13493         invocations from here...
13494         * modules/time_r (configure.ac): ... to here.
13495
13496 2011-05-22  Bruno Haible  <bruno@clisp.org>
13497
13498         timegm: Move AC_LIBOBJ invocations to module description.
13499         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
13500         invocations from here...
13501         * modules/timegm (configure.ac): ... to here.
13502
13503 2011-05-22  Bruno Haible  <bruno@clisp.org>
13504
13505         tcgetsid: Move AC_LIBOBJ invocations to module description.
13506         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
13507         and gl_PREREQ_TCGETSID invocations from here...
13508         * modules/tcgetsid (configure.ac): ... to here.
13509         (Depends-on): Update conditions.
13510
13511 2011-05-22  Bruno Haible  <bruno@clisp.org>
13512
13513         symlinkat: Move AC_LIBOBJ invocations to module description.
13514         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
13515         here...
13516         * modules/symlinkat (configure.ac): ... to here.
13517
13518 2011-05-22  Bruno Haible  <bruno@clisp.org>
13519
13520         symlink: Move AC_LIBOBJ invocations to module description.
13521         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
13522         here...
13523         * modules/symlink (configure.ac): ... to here.
13524
13525 2011-05-22  Bruno Haible  <bruno@clisp.org>
13526
13527         strverscmp: Move AC_LIBOBJ invocations to module description.
13528         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
13529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
13530         from here...
13531         * modules/strverscmp (configure.ac): ... to here.
13532
13533 2011-05-22  Bruno Haible  <bruno@clisp.org>
13534
13535         strtok_r: Move AC_LIBOBJ invocations to module description.
13536         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13537         and gl_PREREQ_STRTOK_R invocations from here...
13538         * modules/strtok_r (configure.ac): ... to here.
13539         (Depends-on): Update conditions.
13540
13541 2011-05-22  Bruno Haible  <bruno@clisp.org>
13542
13543         strtoumax: Move AC_LIBOBJ invocations to module description.
13544         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13545         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13546         from here...
13547         * modules/strtoumax (configure.ac): ... to here.
13548
13549 2011-05-22  Bruno Haible  <bruno@clisp.org>
13550
13551         strtoimax: Move AC_LIBOBJ invocations to module description.
13552         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13554         from here...
13555         * modules/strtoimax (configure.ac): ... to here.
13556
13557 2011-05-22  Bruno Haible  <bruno@clisp.org>
13558
13559         strtoull: Move AC_LIBOBJ invocations to module description.
13560         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13561         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13562         from here...
13563         * modules/strtoull (configure.ac): ... to here.
13564
13565 2011-05-22  Bruno Haible  <bruno@clisp.org>
13566
13567         strtoll: Move AC_LIBOBJ invocations to module description.
13568         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13569         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13570         here...
13571         * modules/strtoll (configure.ac): ... to here.
13572
13573 2011-05-22  Bruno Haible  <bruno@clisp.org>
13574
13575         strtoul: Move AC_LIBOBJ invocations to module description.
13576         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13577         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13578         * modules/strtoul (configure.ac): ... to here.
13579
13580 2011-05-22  Bruno Haible  <bruno@clisp.org>
13581
13582         strtol: Move AC_LIBOBJ invocations to module description.
13583         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13584         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13585         * modules/strtol (configure.ac): ... to here.
13586
13587 2011-05-22  Bruno Haible  <bruno@clisp.org>
13588
13589         strtod: Move AC_LIBOBJ invocations to module description.
13590         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13591         invocations from here...
13592         * modules/strtod (configure.ac): ... to here.
13593
13594 2011-05-22  Bruno Haible  <bruno@clisp.org>
13595
13596         strstr*: Move AC_LIBOBJ invocations to module description.
13597         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13598         invocations from here...
13599         * modules/strstr-simple (configure.ac): ... to here.
13600         * modules/strstr (configure.ac): ... and here.
13601
13602 2011-05-22  Bruno Haible  <bruno@clisp.org>
13603
13604         strsignal: Move AC_LIBOBJ invocations to module description.
13605         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13606         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13607         * modules/strsignal (configure.ac): ... to here.
13608         (Depends-on): Update conditions.
13609
13610 2011-05-22  Bruno Haible  <bruno@clisp.org>
13611
13612         strsep: Move AC_LIBOBJ invocations to module description.
13613         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13615         here...
13616         * modules/strsep (configure.ac): ... to here.
13617
13618 2011-05-22  Bruno Haible  <bruno@clisp.org>
13619
13620         strptime: Move AC_LIBOBJ invocations to module description.
13621         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13622         gl_PREREQ_STRPTIME invocations from here...
13623         * modules/strptime (configure.ac): ... to here.
13624
13625 2011-05-22  Bruno Haible  <bruno@clisp.org>
13626
13627         strpbrk: Move AC_LIBOBJ invocations to module description.
13628         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13629         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13630         here...
13631         * modules/strpbrk (configure.ac): ... to here.
13632
13633 2011-05-22  Bruno Haible  <bruno@clisp.org>
13634
13635         strnlen: Move AC_LIBOBJ invocations to module description.
13636         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13637         invocations from here...
13638         * modules/strnlen (configure.ac): ... to here.
13639
13640 2011-05-22  Bruno Haible  <bruno@clisp.org>
13641
13642         strndup: Move AC_LIBOBJ invocations to module description.
13643         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13644         invocations from here...
13645         * modules/strndup (configure.ac): ... to here.
13646         (Depends-on): Update conditions.
13647
13648 2011-05-22  Bruno Haible  <bruno@clisp.org>
13649
13650         strncat: Move AC_LIBOBJ invocations to module description.
13651         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13652         invocations from here...
13653         * modules/strncat (configure.ac): ... to here.
13654
13655 2011-05-22  Bruno Haible  <bruno@clisp.org>
13656
13657         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13658         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13659         invocations from here...
13660         * modules/strdup (configure.ac): ... to here.
13661         * modules/strdup-posix (configure.ac): ... and here.
13662
13663 2011-05-22  Bruno Haible  <bruno@clisp.org>
13664
13665         strcspn: Move AC_LIBOBJ invocations to module description.
13666         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13667         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13668         here...
13669         * modules/strcspn (configure.ac): ... to here.
13670
13671 2011-05-22  Bruno Haible  <bruno@clisp.org>
13672
13673         strchrnul: Move AC_LIBOBJ invocations to module description.
13674         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13675         gl_PREREQ_STRCHRNUL invocations from here...
13676         * modules/strchrnul (configure.ac): ... to here.
13677
13678 2011-05-22  Bruno Haible  <bruno@clisp.org>
13679
13680         strcasestr*: Move AC_LIBOBJ invocations to module description.
13681         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13682         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13683         * modules/strcasestr-simple (configure.ac): ... to here.
13684         * modules/strcasestr (configure.ac): ... and here.
13685
13686 2011-05-22  Bruno Haible  <bruno@clisp.org>
13687
13688         strcase: Move AC_LIBOBJ invocations to module description.
13689         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13690         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13691         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13692         gl_PREREQ_STRNCASECMP invocations from here...
13693         * modules/strcase (configure.ac): ... to here.
13694
13695 2011-05-22  Bruno Haible  <bruno@clisp.org>
13696
13697         stpncpy: Move AC_LIBOBJ invocations to module description.
13698         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13699         here...
13700         * modules/stpncpy (configure.ac): ... to here.
13701
13702 2011-05-22  Bruno Haible  <bruno@clisp.org>
13703
13704         stpcpy: Move AC_LIBOBJ invocations to module description.
13705         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13706         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13707         here...
13708         * modules/stpcpy (configure.ac): ... to here.
13709
13710 2011-05-21  Bruno Haible  <bruno@clisp.org>
13711
13712         stat: Move AC_LIBOBJ invocations to module description.
13713         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13714         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13715         here...
13716         * modules/stat (configure.ac): ... to here.
13717
13718 2011-05-21  Bruno Haible  <bruno@clisp.org>
13719
13720         sleep: Move AC_LIBOBJ invocations to module description.
13721         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13722         * modules/sleep (configure.ac): ... to here.
13723
13724 2011-05-21  Bruno Haible  <bruno@clisp.org>
13725
13726         signbit: Move AC_LIBOBJ invocations to module description.
13727         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13728         * modules/signbit (configure.ac): ... to here.
13729
13730 2011-05-21  Bruno Haible  <bruno@clisp.org>
13731
13732         sigprocmask: Move AC_LIBOBJ invocations to module description.
13733         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13734         gl_PREREQ_SIGPROMASK invocations from here...
13735         * modules/sigprocmask (configure.ac): ... to here.
13736
13737 2011-05-21  Bruno Haible  <bruno@clisp.org>
13738
13739         sigaction: Move AC_LIBOBJ invocations to module description.
13740         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13741         gl_PREREQ_SIGACTION invocations from here...
13742         * modules/sigaction (configure.ac): ... to here.
13743
13744 2011-05-21  Bruno Haible  <bruno@clisp.org>
13745
13746         sig2str: Move AC_LIBOBJ invocations to module description.
13747         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13748         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13749         here...
13750         * modules/sig2str (configure.ac): ... to here.
13751
13752 2011-05-21  Bruno Haible  <bruno@clisp.org>
13753
13754         setlocale: Move AC_LIBOBJ invocations to module description.
13755         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13756         gl_PREREQ_SETLOCALE invocations from here...
13757         * modules/setlocale (configure.ac): ... to here.
13758
13759 2011-05-21  Bruno Haible  <bruno@clisp.org>
13760
13761         unsetenv: Move AC_LIBOBJ invocations to module description.
13762         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13763         and gl_PREREQ_UNSETENV invocations from here...
13764         * modules/unsetenv (configure.ac): ... to here.
13765         (Depends-on): Update.
13766
13767 2011-05-21  Bruno Haible  <bruno@clisp.org>
13768
13769         setenv: Move AC_LIBOBJ invocations to module description.
13770         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13771         here...
13772         * modules/setenv (configure.ac): ... to here.
13773
13774 2011-05-21  Bruno Haible  <bruno@clisp.org>
13775
13776         selinux-h: Move AC_LIBOBJ invocations to module description.
13777         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13778         AC_LIBOBJ invocation from here...
13779         * modules/selinux-h (configure.ac): ... to here.
13780
13781 2011-05-21  Bruno Haible  <bruno@clisp.org>
13782
13783         select: Respect rules for use of AC_LIBOBJ.
13784         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13785         here...
13786         * modules/select (configure.ac): ... to here.
13787
13788 2011-05-21  Bruno Haible  <bruno@clisp.org>
13789
13790         scandir: Move AC_LIBOBJ invocations to module description.
13791         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13792         invocations from here...
13793         * modules/scandir (configure.ac): ... to here.
13794
13795 2011-05-21  Bruno Haible  <bruno@clisp.org>
13796
13797         rpmatch: Move AC_LIBOBJ invocations to module description.
13798         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13799         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13800         here...
13801         * modules/rpmatch (configure.ac): ... to here.
13802
13803 2011-05-21  Bruno Haible  <bruno@clisp.org>
13804
13805         rmdir: Respect rules for use of AC_LIBOBJ.
13806         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13807         * modules/rmdir (configure.ac): ... to here.
13808
13809 2011-05-21  Bruno Haible  <bruno@clisp.org>
13810
13811         renameat: Move AC_LIBOBJ invocations to module description.
13812         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13813         here...
13814         * modules/renameat (configure.ac): ... to here.
13815
13816 2011-05-21  Bruno Haible  <bruno@clisp.org>
13817
13818         rename: Respect rules for use of AC_LIBOBJ.
13819         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13820         here...
13821         * modules/rename (configure.ac): ... to here.
13822
13823 2011-05-21  Bruno Haible  <bruno@clisp.org>
13824
13825         remove: Move AC_LIBOBJ invocations to module description.
13826         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13827         here...
13828         * modules/remove (configure.ac): ... to here.
13829
13830 2011-05-21  Bruno Haible  <bruno@clisp.org>
13831
13832         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13833         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13834         macro.
13835         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13836         * modules/relocatable-lib (configure.ac): ... to here.
13837         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13838         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13839
13840 2011-05-21  Bruno Haible  <bruno@clisp.org>
13841
13842         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13843         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13844         here...
13845         * modules/relocatable-prog (configure.ac): ... to here.
13846
13847 2011-05-21  Bruno Haible  <bruno@clisp.org>
13848
13849         regex: Move AC_LIBOBJ invocations to module description.
13850         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13851         invocations from here...
13852         * modules/regex (configure.ac): ... to here.
13853
13854 2011-05-21  Bruno Haible  <bruno@clisp.org>
13855
13856         realloc-*: Move AC_LIBOBJ invocations to module description.
13857         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13858         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13859         AC_LIBOBJ invocations from here...
13860         * modules/realloc-gnu (configure.ac): ... to here.
13861         * modules/realloc-posix (configure.ac): ... and here.
13862
13863 2011-05-21  Bruno Haible  <bruno@clisp.org>
13864
13865         readutmp: Move AC_LIBOBJ invocations to module description.
13866         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13867         * modules/readutmp (configure.ac): ... to here.
13868
13869 2011-05-21  Bruno Haible  <bruno@clisp.org>
13870
13871         readlinkat: Move AC_LIBOBJ invocations to module description.
13872         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13873         here...
13874         * modules/readlinkat (configure.ac): ... to here.
13875
13876 2011-05-21  Bruno Haible  <bruno@clisp.org>
13877
13878         readlink: Move AC_LIBOBJ invocations to module description.
13879         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13880         gl_PREREQ_READLINK invocations from here...
13881         * modules/readlink (configure.ac): ... to here.
13882
13883 2011-05-21  Bruno Haible  <bruno@clisp.org>
13884
13885         readline: Move AC_LIBOBJ invocations to module description.
13886         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13887         gl_PREREQ_READLINE invocations from here...
13888         * modules/readline (configure.ac): ... to here.
13889
13890 2011-05-21  Bruno Haible  <bruno@clisp.org>
13891
13892         read: Move AC_LIBOBJ invocations to module description.
13893         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13894         * modules/read (configure.ac): ... to here.
13895
13896 2011-05-21  Bruno Haible  <bruno@clisp.org>
13897
13898         rawmemchr: Move AC_LIBOBJ invocations to module description.
13899         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13900         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13901         from here...
13902         * modules/rawmemchr (configure.ac): ... to here.
13903
13904 2011-05-21  Bruno Haible  <bruno@clisp.org>
13905
13906         random_r: Move AC_LIBOBJ invocations to module description.
13907         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
13908         gl_PREREQ_RANDOM_R invocations from here...
13909         * modules/random_r (configure.ac): ... to here.
13910
13911 2011-05-21  Bruno Haible  <bruno@clisp.org>
13912
13913         pwrite: Move AC_LIBOBJ invocations to module description.
13914         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
13915         * modules/pwrite (configure.ac): ... to here.
13916
13917 2011-05-21  Bruno Haible  <bruno@clisp.org>
13918
13919         putenv: Move AC_LIBOBJ invocations to module description.
13920         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
13921         * modules/putenv (configure.ac): ... to here.
13922
13923 2011-05-21  Bruno Haible  <bruno@clisp.org>
13924
13925         login_tty: Move AC_LIBOBJ invocations to module description.
13926         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
13927         * modules/login_tty (configure.ac): ... to here.
13928
13929 2011-05-21  Bruno Haible  <bruno@clisp.org>
13930
13931         openpty: Move AC_LIBOBJ invocations to module description.
13932         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
13933         * modules/openpty (configure.ac): ... to here.
13934
13935 2011-05-21  Bruno Haible  <bruno@clisp.org>
13936
13937         forkpty: Move AC_LIBOBJ invocations to module description.
13938         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
13939         * modules/forkpty (configure.ac): ... to here.
13940
13941 2011-05-21  Bruno Haible  <bruno@clisp.org>
13942
13943         ptsname: Move AC_LIBOBJ invocations to module description.
13944         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
13945         invocations from here...
13946         * modules/ptsname (configure.ac): ... to here.
13947
13948 2011-05-21  Bruno Haible  <bruno@clisp.org>
13949
13950         pread: Move AC_LIBOBJ invocations to module description.
13951         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
13952         * modules/pread (configure.ac): ... to here.
13953
13954 2011-05-21  Bruno Haible  <bruno@clisp.org>
13955
13956         posix_spawn*: Move AC_LIBOBJ invocations to module description.
13957         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
13958         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
13959         * modules/posix_spawn (configure.ac): ... to here.
13960         * modules/posix_spawnp (configure.ac): ... and here.
13961
13962 2011-05-21  Bruno Haible  <bruno@clisp.org>
13963
13964         popen: Move AC_LIBOBJ invocations to module description.
13965         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
13966         invocations from here...
13967         * modules/popen (configure.ac): ... to here.
13968
13969 2011-05-21  Bruno Haible  <bruno@clisp.org>
13970
13971         poll: Move AC_LIBOBJ invocations to module description.
13972         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
13973         invocations from here...
13974         * modules/poll (configure.ac): ... to here.
13975
13976 2011-05-21  Bruno Haible  <bruno@clisp.org>
13977
13978         pipe-posix: Move AC_LIBOBJ invocations to module description.
13979         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
13980         * modules/pipe-posix (configure.ac): ... to here.
13981
13982 2011-05-21  Bruno Haible  <bruno@clisp.org>
13983
13984         openat: Respect rules for use of AC_LIBOBJ.
13985         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
13986         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13987         * modules/openat (configure.ac): ... to here.
13988
13989 2011-05-21  Bruno Haible  <bruno@clisp.org>
13990
13991         obstack-printf*: Move AC_LIBOBJ invocations to module description.
13992         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
13993         invocation from here...
13994         * modules/obstack-printf (configure.ac): ... to here.
13995         * modules/obstack-printf-posix (configure.ac): ... and here.
13996
13997 2011-05-21  Bruno Haible  <bruno@clisp.org>
13998
13999         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14000         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14001         from here...
14002         * modules/nl_langinfo (configure.ac): ... to here.
14003
14004 2011-05-21  Bruno Haible  <bruno@clisp.org>
14005
14006         nanosleep: Move AC_LIBOBJ invocations to module description.
14007         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14008         gl_PREREQ_NANOSLEEP invocations from here...
14009         * modules/nanosleep (configure.ac): ... to here.
14010
14011 2011-05-21  Bruno Haible  <bruno@clisp.org>
14012
14013         mountlist: Move AC_LIBOBJ invocations to module description.
14014         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14015         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14016         * modules/mountlist (configure.ac): ... to here.
14017
14018 2011-05-21  Bruno Haible  <bruno@clisp.org>
14019
14020         mktime: Respect rules for use of AC_LIBOBJ.
14021         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14022         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14023         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14024         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14025         * modules/mktime (configure.ac): ... to here.
14026         * modules/mktime-internal (configure.ac): ... and here.
14027         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14028
14029 2011-05-21  Bruno Haible  <bruno@clisp.org>
14030
14031         mkstemps: Move AC_LIBOBJ invocations to module description.
14032         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14033         here...
14034         * modules/mkstemps (configure.ac): ... to here.
14035
14036 2011-05-21  Bruno Haible  <bruno@clisp.org>
14037
14038         mkstemp: Move AC_LIBOBJ invocations to module description.
14039         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14040         gl_PREREQ_MKSTEMP invocations from here...
14041         * modules/mkstemp (configure.ac): ... to here.
14042
14043 2011-05-21  Bruno Haible  <bruno@clisp.org>
14044
14045         mkostemps: Move AC_LIBOBJ invocations to module description.
14046         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14047         here...
14048         * modules/mkostemps (configure.ac): ... to here.
14049
14050 2011-05-21  Bruno Haible  <bruno@clisp.org>
14051
14052         mkostemp: Move AC_LIBOBJ invocations to module description.
14053         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14054         gl_PREREQ_MKOSTEMP invocations from here...
14055         * modules/mkostemp (configure.ac): ... to here.
14056
14057 2011-05-21  Bruno Haible  <bruno@clisp.org>
14058
14059         mknod: Move AC_LIBOBJ invocations to module description.
14060         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14061         * modules/mknod (configure.ac): ... to here.
14062
14063 2011-05-21  Bruno Haible  <bruno@clisp.org>
14064
14065         mkfifoat: Move AC_LIBOBJ invocations to module description.
14066         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14067         here...
14068         * modules/mkfifoat (configure.ac): ... to here.
14069
14070 2011-05-21  Bruno Haible  <bruno@clisp.org>
14071
14072         mkfifo: Respect rules for use of AC_LIBOBJ.
14073         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14074         here...
14075         * modules/mkfifo (configure.ac): ... to here.
14076
14077 2011-05-21  Bruno Haible  <bruno@clisp.org>
14078
14079         mkdtemp: Move AC_LIBOBJ invocations to module description.
14080         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14081         invocations from here...
14082         * modules/mkdtemp (configure.ac): ... to here.
14083
14084 2011-05-21  Bruno Haible  <bruno@clisp.org>
14085
14086         mkdir: Move AC_LIBOBJ invocations to module description.
14087         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14088         * modules/mkdir (configure.ac): ... to here.
14089
14090 2011-05-21  Bruno Haible  <bruno@clisp.org>
14091
14092         memset: Move AC_LIBOBJ invocations to module description.
14093         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14094         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14095         here...
14096         * modules/memset (configure.ac): ... to here.
14097
14098 2011-05-21  Bruno Haible  <bruno@clisp.org>
14099
14100         memrchr: Move AC_LIBOBJ invocations to module description.
14101         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14102         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14103         here...
14104         * modules/memrchr (configure.ac): ... to here.
14105
14106 2011-05-21  Bruno Haible  <bruno@clisp.org>
14107
14108         mempcpy: Move AC_LIBOBJ invocations to module description.
14109         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14110         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14111         here...
14112         * modules/mempcpy (configure.ac): ... to here.
14113
14114 2011-05-21  Bruno Haible  <bruno@clisp.org>
14115
14116         memmove: Move AC_LIBOBJ invocations to module description.
14117         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14118         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14119         here...
14120         * modules/memmove (configure.ac): ... to here.
14121
14122 2011-05-21  Bruno Haible  <bruno@clisp.org>
14123
14124         memmem*: Move AC_LIBOBJ invocations to module description.
14125         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14126         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14127         here...
14128         (gl_FUNC_MEMMEM): ... and here...
14129         * modules/memmem-simple (configure.ac): ... to here.
14130         * modules/memmem (configure.ac): ... and here.
14131
14132 2011-05-21  Bruno Haible  <bruno@clisp.org>
14133
14134         memcpy: Move AC_LIBOBJ invocations to module description.
14135         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14136         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14137         here...
14138         * modules/memcpy (configure.ac): ... to here.
14139
14140 2011-05-21  Bruno Haible  <bruno@clisp.org>
14141
14142         memcmp: Simplify autoconf macro.
14143         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14144         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14145         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14146
14147 2011-05-21  Bruno Haible  <bruno@clisp.org>
14148
14149         memcmp: Move AC_LIBOBJ invocations to module description.
14150         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14151         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14152         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14153         * modules/memcmp (configure.ac): ... to here.
14154         (Depends-on): Update conditions.
14155
14156 2011-05-21  Bruno Haible  <bruno@clisp.org>
14157
14158         memchr: Respect rules for use of AC_LIBOBJ.
14159         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14160         invocations from here...
14161         * modules/memchr (configure.ac): ... to here.
14162
14163 2011-05-21  Bruno Haible  <bruno@clisp.org>
14164
14165         mbtowc: Move AC_LIBOBJ invocations to module description.
14166         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14167         invocations from here...
14168         * modules/mbtowc (configure.ac): ... to here.
14169
14170 2011-05-21  Bruno Haible  <bruno@clisp.org>
14171
14172         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14173         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14174         gl_PREREQ_MBSRTOWCS invocations from here...
14175         * modules/mbsrtowcs (configure.ac): ... to here.
14176
14177 2011-05-21  Bruno Haible  <bruno@clisp.org>
14178
14179         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14180         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14181         gl_PREREQ_MBSNRTOWCS invocations from here...
14182         * modules/mbsnrtowcs (configure.ac): ... to here.
14183
14184 2011-05-21  Bruno Haible  <bruno@clisp.org>
14185
14186         mbsinit: Move AC_LIBOBJ invocations to module description.
14187         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14188         invocations from here...
14189         * modules/mbsinit (configure.ac): ... to here.
14190
14191 2011-05-21  Bruno Haible  <bruno@clisp.org>
14192
14193         mbrlen: Move AC_LIBOBJ invocations to module description.
14194         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14195         invocations from here...
14196         * modules/mbrlen (configure.ac): ... to here.
14197
14198 2011-05-21  Bruno Haible  <bruno@clisp.org>
14199
14200         mbrtowc: Respect rules for use of AC_LIBOBJ.
14201         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14202         invocations from here...
14203         * modules/mbrtowc (configure.ac): ... to here.
14204
14205 2011-05-21  Bruno Haible  <bruno@clisp.org>
14206
14207         malloc-*: Move AC_LIBOBJ invocations to module description.
14208         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14209         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14210         AC_LIBOBJ invocations from here...
14211         * modules/malloc-gnu (configure.ac): ... to here.
14212         * modules/malloc-posix (configure.ac): ... and here.
14213
14214 2011-05-21  Bruno Haible  <bruno@clisp.org>
14215
14216         lstat, openat: Respect rules for use of AC_LIBOBJ.
14217         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14218         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14219         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14220         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14221         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14222         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14223         here.
14224         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14225
14226 2011-05-21  Bruno Haible  <bruno@clisp.org>
14227
14228         lseek: Move AC_LIBOBJ invocations to module description.
14229         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14230         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14231         * modules/lseek (configure.ac): ... to here.
14232
14233 2011-05-21  Bruno Haible  <bruno@clisp.org>
14234
14235         linkat: Move AC_LIBOBJ invocations to module description.
14236         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14237         here...
14238         * modules/linkat (configure.ac): ... to here.
14239
14240 2011-05-21  Bruno Haible  <bruno@clisp.org>
14241
14242         link: Respect rules for use of AC_LIBOBJ.
14243         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14244         * modules/link (configure.ac): ... to here.
14245
14246 2011-05-21  Bruno Haible  <bruno@clisp.org>
14247
14248         lchown: Move AC_LIBOBJ invocations to module description.
14249         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14250         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14251         * modules/lchown (configure.ac): ... to here.
14252
14253 2011-05-21  Bruno Haible  <bruno@clisp.org>
14254
14255         iswctype: Move AC_LIBOBJ invocations to module description.
14256         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14257         here...
14258         * modules/iswctype (configure.ac): ... to here.
14259
14260 2011-05-21  Bruno Haible  <bruno@clisp.org>
14261
14262         iswblank: Move AC_LIBOBJ invocations to module description.
14263         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14264         here...
14265         * modules/iswblank (configure.ac): ... to here.
14266
14267 2011-05-21  Bruno Haible  <bruno@clisp.org>
14268
14269         atanl: Move AC_LIBOBJ invocations to module description.
14270         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14271         * modules/atanl (configure.ac): ... to here.
14272
14273 2011-05-21  Bruno Haible  <bruno@clisp.org>
14274
14275         acosl: Move AC_LIBOBJ invocations to module description.
14276         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14277         * modules/acosl (configure.ac): ... to here.
14278
14279 2011-05-21  Bruno Haible  <bruno@clisp.org>
14280
14281         asinl: Respect rules for use of AC_LIBOBJ.
14282         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14283         * modules/asinl (configure.ac): ... to here.
14284
14285 2011-05-21  Bruno Haible  <bruno@clisp.org>
14286
14287         tanl: Move AC_LIBOBJ invocations to module description.
14288         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14289         * modules/tanl (configure.ac): ... to here.
14290
14291 2011-05-21  Bruno Haible  <bruno@clisp.org>
14292
14293         cosl: Move AC_LIBOBJ invocations to module description.
14294         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14295         * modules/cosl (configure.ac): ... to here.
14296
14297 2011-05-21  Bruno Haible  <bruno@clisp.org>
14298
14299         sinl: Move AC_LIBOBJ invocations to module description.
14300         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14301         * modules/sinl (configure.ac): ... to here.
14302
14303 2011-05-21  Bruno Haible  <bruno@clisp.org>
14304
14305         logl: Move AC_LIBOBJ invocations to module description.
14306         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14307         * modules/logl (configure.ac): ... to here.
14308
14309 2011-05-21  Bruno Haible  <bruno@clisp.org>
14310
14311         expl: Move AC_LIBOBJ invocations to module description.
14312         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14313         * modules/expl (configure.ac): ... to here.
14314
14315 2011-05-21  Bruno Haible  <bruno@clisp.org>
14316
14317         roundl: Move AC_LIBOBJ invocations to module description.
14318         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14319         * modules/roundl (configure.ac): ... to here.
14320
14321 2011-05-21  Bruno Haible  <bruno@clisp.org>
14322
14323         round: Move AC_LIBOBJ invocations to module description.
14324         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14325         * modules/round (configure.ac): ... to here.
14326
14327 2011-05-21  Bruno Haible  <bruno@clisp.org>
14328
14329         roundf: Move AC_LIBOBJ invocations to module description.
14330         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14331         * modules/roundf (configure.ac): ... to here.
14332
14333 2011-05-21  Bruno Haible  <bruno@clisp.org>
14334
14335         truncl: Move AC_LIBOBJ invocations to module description.
14336         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14337         * modules/truncl (configure.ac): ... to here.
14338
14339 2011-05-21  Bruno Haible  <bruno@clisp.org>
14340
14341         trunc: Move AC_LIBOBJ invocations to module description.
14342         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14343         * modules/trunc (configure.ac): ... to here.
14344
14345 2011-05-21  Bruno Haible  <bruno@clisp.org>
14346
14347         truncf: Move AC_LIBOBJ invocations to module description.
14348         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14349         * modules/truncf (configure.ac): ... to here.
14350
14351 2011-05-21  Bruno Haible  <bruno@clisp.org>
14352
14353         ceill: Move AC_LIBOBJ invocations to module description.
14354         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14355         * modules/ceill (configure.ac): ... to here.
14356
14357 2011-05-21  Bruno Haible  <bruno@clisp.org>
14358
14359         ceil: Move AC_LIBOBJ invocations to module description.
14360         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14361         * modules/ceil (configure.ac): ... to here.
14362
14363 2011-05-21  Bruno Haible  <bruno@clisp.org>
14364
14365         ceilf: Move AC_LIBOBJ invocations to module description.
14366         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14367         * modules/ceilf (configure.ac): ... to here.
14368
14369 2011-05-21  Bruno Haible  <bruno@clisp.org>
14370
14371         floorl: Respect rules for use of AC_LIBOBJ.
14372         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14373         * modules/floorl (configure.ac): ... to here.
14374
14375 2011-05-21  Bruno Haible  <bruno@clisp.org>
14376
14377         floor: Respect rules for use of AC_LIBOBJ.
14378         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14379         * modules/floor (configure.ac): ... to here.
14380
14381 2011-05-21  Bruno Haible  <bruno@clisp.org>
14382
14383         floorf: Move AC_LIBOBJ invocations to module description.
14384         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14385         * modules/floorf (configure.ac): ... to here.
14386
14387 2011-05-20  Bruno Haible  <bruno@clisp.org>
14388
14389         sqrtl: Respect rules for use of AC_LIBOBJ.
14390         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14391         * modules/sqrtl (configure.ac): ... to here.
14392
14393 2011-05-20  Bruno Haible  <bruno@clisp.org>
14394
14395         ldexpl: Respect rules for use of AC_LIBOBJ.
14396         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
14397         * modules/ldexpl (configure.ac): ... to here.
14398
14399 2011-05-20  Bruno Haible  <bruno@clisp.org>
14400
14401         frexpl*: Respect rules for use of AC_LIBOBJ.
14402         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
14403         invocation from here...
14404         * modules/frexpl (configure.ac): ... to here.
14405         * modules/frexpl-nolibm (configure.ac): ... and here.
14406
14407 2011-05-20  Bruno Haible  <bruno@clisp.org>
14408
14409         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
14410         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
14411         invocation from here...
14412         * modules/frexp (configure.ac): ... to here.
14413         * modules/frexp-nolibm (configure.ac): ... and here.
14414
14415 2011-05-20  Bruno Haible  <bruno@clisp.org>
14416
14417         isnan: Respect rules for use of AC_LIBOBJ.
14418         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
14419         invocations here.
14420         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
14421         REPLACE_ISNAN.
14422         * modules/isnand (configure.ac): Likewise.
14423         * modules/isnanl (configure.ac): Likewise.
14424
14425 2011-05-20  Bruno Haible  <bruno@clisp.org>
14426
14427         isnanl*: Respect rules for use of AC_LIBOBJ.
14428         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
14429         invocation from here...
14430         * modules/isnanl (configure.ac): ... to here.
14431         * modules/isnanl-nolibm (configure.ac): ... and here.
14432
14433 2011-05-20  Bruno Haible  <bruno@clisp.org>
14434
14435         isnand*: Move AC_LIBOBJ invocations to module description.
14436         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
14437         invocation from here...
14438         * modules/isnand (configure.ac): ... to here.
14439         * modules/isnand-nolibm (configure.ac): ... and here.
14440
14441 2011-05-20  Bruno Haible  <bruno@clisp.org>
14442
14443         isnanf*: Move AC_LIBOBJ invocations to module description.
14444         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
14445         invocation from here...
14446         * modules/isnanf (configure.ac): ... to here.
14447         * modules/isnanf-nolibm (configure.ac): ... and here.
14448
14449 2011-05-20  Bruno Haible  <bruno@clisp.org>
14450
14451         isnan*: Separate the AC_LIBOBJ invocations.
14452         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
14453         AC_LIBOBJ invocation.
14454         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
14455         here.
14456         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
14457         AC_LIBOBJ invocation.
14458         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
14459         here.
14460         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
14461         AC_LIBOBJ invocation.
14462         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
14463         here.
14464         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
14465
14466 2011-05-08  Bruno Haible  <bruno@clisp.org>
14467
14468         isinf: Move AC_LIBOBJ invocations to module description.
14469         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
14470         * modules/isinf (configure.ac): ... to here.
14471
14472 2011-05-08  Bruno Haible  <bruno@clisp.org>
14473
14474         isfinite: Move AC_LIBOBJ invocations to module description.
14475         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
14476         * modules/isfinite (configure.ac): ... to here.
14477
14478 2011-05-08  Bruno Haible  <bruno@clisp.org>
14479
14480         isblank: Move AC_LIBOBJ invocations to module description.
14481         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
14482         here...
14483         * modules/isblank (configure.ac): ... to here.
14484
14485 2011-05-08  Bruno Haible  <bruno@clisp.org>
14486
14487         isapipe: Move AC_LIBOBJ invocations to module description.
14488         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
14489         gl_PREREQ_ISAPIPE invocations from here...
14490         * modules/isapipe (configure.ac): ... to here.
14491         (Depends-on): Update condition.
14492
14493 2011-05-08  Bruno Haible  <bruno@clisp.org>
14494
14495         ioctl: Move AC_LIBOBJ invocations to module description.
14496         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
14497         invocations from here...
14498         * modules/ioctl (configure.ac): ... to here.
14499         (Depends-on): Update condition.
14500
14501 2011-05-08  Bruno Haible  <bruno@clisp.org>
14502
14503         imaxdiv: Move AC_LIBOBJ invocations to module description.
14504         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
14505         invocations from here...
14506         * modules/imaxdiv (configure.ac): ... to here.
14507
14508 2011-05-08  Bruno Haible  <bruno@clisp.org>
14509
14510         imaxabs: Move AC_LIBOBJ invocations to module description.
14511         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
14512         invocations from here...
14513         * modules/imaxabs (configure.ac): ... to here.
14514
14515 2011-05-08  Bruno Haible  <bruno@clisp.org>
14516
14517         getaddrinfo: Move AC_LIBOBJ invocations to module description.
14518         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
14519         AC_LIBOBJ invocations from here...
14520         * modules/getaddrinfo (configure.ac): ... to here.
14521         (Depends-on): Add conditions.
14522
14523 2011-05-08  Bruno Haible  <bruno@clisp.org>
14524
14525         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14526         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
14527         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14528         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
14529         (gl_PREREQ_INET_PTON): ... from here.
14530         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
14531         gl_PREREQ_INET_PTON here.
14532         (Depends-on): Update condition.
14533
14534 2011-05-08  Bruno Haible  <bruno@clisp.org>
14535
14536         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14537         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14538         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14539         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14540         (gl_PREREQ_INET_NTOP): ... from here.
14541         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14542         gl_PREREQ_INET_NTOP here.
14543         (Depends-on): Update condition.
14544
14545 2011-05-08  Bruno Haible  <bruno@clisp.org>
14546
14547         iconv_open: Move AC_LIBOBJ invocations to module description.
14548         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14549         AC_LIBOBJ invocations from here...
14550         * modules/iconv_open (configure.ac): ... to here.
14551
14552 2011-05-08  Bruno Haible  <bruno@clisp.org>
14553
14554         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14555         If module 'iconv_open' is among the main modules and module
14556         'iconv_open-utf' is among the tests dependencies, then
14557         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14558         return the special iconv_t values. Therefore iconv() and iconv_close()
14559         must support these special iconv_t values, already in lib, not only in
14560         tests.
14561         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14562         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14563         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14564         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14565         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14566         (Depends-on): Add the dependencies of iconv_open-utf.
14567         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14568         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14569         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14570
14571 2011-05-08  Bruno Haible  <bruno@clisp.org>
14572
14573         group-member: Move AC_LIBOBJ invocations to module description.
14574         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14575         gl_PREREQ_GROUP_MEMBER invocations from here...
14576         * modules/group-member (configure.ac): ... to here.
14577
14578 2011-05-08  Bruno Haible  <bruno@clisp.org>
14579
14580         grantpt: Move AC_LIBOBJ invocations to module description.
14581         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14582         invocations from here...
14583         * modules/grantpt (configure.ac): ... to here.
14584
14585 2011-05-08  Bruno Haible  <bruno@clisp.org>
14586
14587         glob: Move AC_LIBOBJ invocations to module description.
14588         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14589         from here...
14590         * modules/glob (configure.ac): ... to here.
14591
14592 2011-05-08  Bruno Haible  <bruno@clisp.org>
14593
14594         getusershell: Move AC_LIBOBJ invocations to module description.
14595         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14596         Move AC_LIBOBJ invocation from here...
14597         * modules/getusershell (configure.ac): ... to here.
14598         (Depends-on): Update condition.
14599
14600 2011-05-08  Bruno Haible  <bruno@clisp.org>
14601
14602         gettimeofday: Move AC_LIBOBJ invocations to module description.
14603         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14604         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14605         gl_PREREQ_GETTIMEOFDAY invocations from here...
14606         * modules/gettimeofday (configure.ac): ... to here.
14607
14608 2011-05-08  Bruno Haible  <bruno@clisp.org>
14609
14610         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14611         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14612         just gl_FUNC_TZSET.
14613         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14614         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14616         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14617
14618 2011-05-08  Bruno Haible  <bruno@clisp.org>
14619
14620         getsubopt: Move AC_LIBOBJ invocations to module description.
14621         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14622         gl_PREREQ_GETSUBOPT invocations from here...
14623         * modules/getsubopt (configure.ac): ... to here.
14624
14625 2011-05-08  Bruno Haible  <bruno@clisp.org>
14626
14627         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14628         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14629         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14630         * modules/getpass-gnu (configure.ac): ... to here.
14631
14632 2011-05-08  Bruno Haible  <bruno@clisp.org>
14633
14634         getpass: Move AC_LIBOBJ invocations to module description.
14635         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14636         gl_PREREQ_GETPASS invocations from here...
14637         * modules/getpass (configure.ac): ... to here.
14638
14639 2011-05-08  Bruno Haible  <bruno@clisp.org>
14640
14641         getpagesize: Move AC_LIBOBJ invocations to module description.
14642         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14643         from here...
14644         * modules/getpagesize (configure.ac): ... to here.
14645
14646 2011-05-08  Bruno Haible  <bruno@clisp.org>
14647
14648         getopt: Move AC_LIBOBJ invocations to module description.
14649         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14650         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14651         invocations from here...
14652         * modules/getopt-gnu (configure.ac): ... to here.
14653         * modules/getopt-posix (configure.ac): ... and here.
14654         (Depends-on): Update condition.
14655
14656 2011-05-08  Bruno Haible  <bruno@clisp.org>
14657
14658         getopt, argp: Respect rules for use of AC_LIBOBJ.
14659         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14660         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14661         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14662         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14663
14664 2011-05-08  Bruno Haible  <bruno@clisp.org>
14665
14666         getlogin_r: Move AC_LIBOBJ invocations to module description.
14667         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14668         gl_PREREQ_GETLOGIN_R invocations from here...
14669         * modules/getlogin_r (configure.ac): ... to here.
14670
14671 2011-05-08  Bruno Haible  <bruno@clisp.org>
14672
14673         getlogin: Move AC_LIBOBJ invocations to module description.
14674         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14675         here...
14676         * modules/getlogin (configure.ac): ... to here.
14677
14678 2011-05-08  Bruno Haible  <bruno@clisp.org>
14679
14680         getloadavg: Move AC_LIBOBJ invocations to module description.
14681         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14682         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14683         * modules/getloadavg (configure.ac): ... to here.
14684
14685 2011-05-08  Bruno Haible  <bruno@clisp.org>
14686
14687         gethrxtime: Move AC_LIBOBJ invocations to module description.
14688         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14689         LIB_GETHRXTIME from here...
14690         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14691         invocations from here...
14692         * modules/gethrxtime (configure.ac): ... to here.
14693
14694 2011-05-08  Bruno Haible  <bruno@clisp.org>
14695
14696         gethostname: Move AC_LIBOBJ invocations to module description.
14697         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14698         gl_PREREQ_GETHOSTNAME invocations from here...
14699         * modules/gethostname (configure.ac): ... to here.
14700
14701 2011-05-08  Bruno Haible  <bruno@clisp.org>
14702
14703         getgroups: Move AC_LIBOBJ invocations to module description.
14704         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14705         here...
14706         * modules/getgroups (configure.ac): ... to here.
14707
14708 2011-05-08  Bruno Haible  <bruno@clisp.org>
14709
14710         getdtablesize: Move AC_LIBOBJ invocations to module description.
14711         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14712         invocation from here...
14713         * modules/getdtablesize (configure.ac): ... to here.
14714
14715 2011-05-08  Bruno Haible  <bruno@clisp.org>
14716
14717         getdomainname: Move AC_LIBOBJ invocations to module description.
14718         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14719         gl_PREREQ_GETDOMAINNAME invocations from here...
14720         * modules/getdomainname (configure.ac): ... to here.
14721
14722 2011-05-08  Bruno Haible  <bruno@clisp.org>
14723
14724         getline: Move AC_LIBOBJ invocations to module description.
14725         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14726         invocations from here...
14727         * modules/getline (configure.ac): ... to here.
14728
14729 2011-05-08  Bruno Haible  <bruno@clisp.org>
14730
14731         getline: Simplify.
14732         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14733         It's already handled through the module dependency.
14734
14735 2011-05-08  Bruno Haible  <bruno@clisp.org>
14736
14737         getdelim: Move AC_LIBOBJ invocations to module description.
14738         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14739         and gl_PREREQ_GETDELIM invocations from here...
14740         * modules/getdelim (configure.ac): ... to here.
14741         (Depends-on): Fix condition.
14742
14743 2011-05-08  Bruno Haible  <bruno@clisp.org>
14744
14745         getcwd: Move AC_LIBOBJ invocations to module description.
14746         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14747         invocations from here...
14748         * modules/getcwd (configure.ac): ... to here.
14749
14750 2011-05-08  Bruno Haible  <bruno@clisp.org>
14751
14752         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14753         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14754         here...
14755         * modules/getcwd-lgpl (configure.ac): ... to here.
14756
14757 2011-05-07  Bruno Haible  <bruno@clisp.org>
14758
14759         crypto/gc: Move AC_LIBOBJ invocations to module description.
14760         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14761         * modules/crypto/gc (configure.ac): ... to here.
14762
14763 2011-05-07  Bruno Haible  <bruno@clisp.org>
14764
14765         fwriting: Move AC_LIBOBJ invocations to module description.
14766         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14767         here...
14768         * modules/fwriting (configure.ac): ... to here.
14769
14770 2011-05-07  Bruno Haible  <bruno@clisp.org>
14771
14772         fwritable: Move AC_LIBOBJ invocations to module description.
14773         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14774         here...
14775         * modules/fwritable (configure.ac): ... to here.
14776
14777 2011-05-07  Bruno Haible  <bruno@clisp.org>
14778
14779         futimens: Move AC_LIBOBJ invocations to module description.
14780         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14781         here...
14782         * modules/futimens (configure.ac): ... to here.
14783
14784 2011-05-07  Bruno Haible  <bruno@clisp.org>
14785
14786         ftruncate: Move AC_LIBOBJ invocations to module description.
14787         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14788         gl_PREREQ_FTRUNCATE invocations from here...
14789         * modules/ftruncate (configure.ac): ... to here.
14790
14791 2011-05-07  Bruno Haible  <bruno@clisp.org>
14792
14793         fsync: Move AC_LIBOBJ invocations to module description.
14794         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14795         invocations from here...
14796         * modules/fsync (configure.ac): ... to here.
14797
14798 2011-05-07  Bruno Haible  <bruno@clisp.org>
14799
14800         fsusage: Move AC_LIBOBJ invocations to module description.
14801         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14802         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14803         * modules/fsusage (configure.ac): ... to here.
14804
14805 2011-05-07  Bruno Haible  <bruno@clisp.org>
14806
14807         freopen: Move AC_LIBOBJ invocations to module description.
14808         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14809         invocations from here...
14810         * modules/freopen (configure.ac): ... to here.
14811
14812 2011-05-07  Bruno Haible  <bruno@clisp.org>
14813
14814         free: Move AC_LIBOBJ invocations to module description.
14815         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14816         invocations from here...
14817         * modules/free (configure.ac): ... to here.
14818
14819 2011-05-07  Bruno Haible  <bruno@clisp.org>
14820
14821         freadable: Move AC_LIBOBJ invocations to module description.
14822         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14823         here...
14824         * modules/freadable (configure.ac): ... to here.
14825
14826 2011-05-07  Bruno Haible  <bruno@clisp.org>
14827
14828         fpurge: Move AC_LIBOBJ invocations to module description.
14829         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14830         invocations from here...
14831         * modules/fpurge (configure.ac): ... to here.
14832
14833 2011-05-07  Bruno Haible  <bruno@clisp.org>
14834
14835         fpending: Move AC_LIBOBJ invocations to module description.
14836         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14837         gl_FUNC_FPENDING.
14838         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14839         invocations from here...
14840         * modules/fpending (configure.ac): ... to here.
14841
14842 2011-05-07  Bruno Haible  <bruno@clisp.org>
14843
14844         fopen: Move AC_LIBOBJ invocations to module description.
14845         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14846         invocations from here...
14847         * modules/fopen (configure.ac): ... to here.
14848
14849 2011-05-07  Bruno Haible  <bruno@clisp.org>
14850
14851         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14852         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14853         gl_FUNC_FNMATCH_POSIX.
14854         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14855         invocations from here...
14856         * modules/fnmatch (configure.ac): ... to here.
14857         * modules/fnmatch-gnu (configure.ac): ... and here.
14858
14859 2011-05-07  Bruno Haible  <bruno@clisp.org>
14860
14861         flock: Move AC_LIBOBJ invocations to module description.
14862         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14863         invocations from here...
14864         * modules/flock (configure.ac): ... to here.
14865
14866 2011-05-07  Bruno Haible  <bruno@clisp.org>
14867
14868         fileblocks: Move AC_LIBOBJ invocations to module description.
14869         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14870         gl_PREREQ_FILEBLOCKS invocations from here...
14871         * modules/fileblocks (configure.ac): ... to here.
14872
14873 2011-05-06  Bruno Haible  <bruno@clisp.org>
14874
14875         fflush: Move AC_LIBOBJ invocations to module description.
14876         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14877         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14878         invocations from here...
14879         * modules/fflush (configure.ac): ... to here.
14880
14881 2011-05-06  Bruno Haible  <bruno@clisp.org>
14882
14883         fdopendir: Move AC_LIBOBJ invocations to module description.
14884         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14885         here...
14886         * modules/fdopendir (configure.ac): ... to here.
14887         (Depends-on): Improve conditions.
14888
14889 2011-05-06  Bruno Haible  <bruno@clisp.org>
14890
14891         _Exit: Move AC_LIBOBJ invocations to module description.
14892         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14893         invocations from here...
14894         * modules/_Exit (configure.ac): ... to here.
14895
14896 2011-05-21  Bruno Haible  <bruno@clisp.org>
14897
14898         euidaccess: Respect rules for use of AC_LIBOBJ.
14899         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14900         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14901         from here...
14902         * modules/euidaccess (configure.ac): ... to here.
14903
14904 2011-05-06  Bruno Haible  <bruno@clisp.org>
14905
14906         error: Move AC_LIBOBJ invocations to module description.
14907         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
14908         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
14909         invocations from here...
14910         * modules/error (configure.ac): ... to here.
14911
14912 2011-05-06  Bruno Haible  <bruno@clisp.org>
14913
14914         duplocale: Move AC_LIBOBJ invocations to module description.
14915         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
14916         gl_PREREQ_DUPLOCALE invocations from here...
14917         * modules/duplocale (configure.ac): ... to here.
14918
14919 2011-05-05  Bruno Haible  <bruno@clisp.org>
14920
14921         dirfd: Move AC_LIBOBJ invocations to module description.
14922         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
14923         gl_FUNC_DIRFD.
14924         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
14925         here...
14926         * modules/dirfd (configure.ac): ... to here.
14927         (Depends-on): Fix condition.
14928
14929 2011-05-05  Bruno Haible  <bruno@clisp.org>
14930
14931         chown: Respect rules for use of AC_LIBOBJ.
14932         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
14933         * modules/chown (configure.ac): ... to here.
14934
14935 2011-05-05  Bruno Haible  <bruno@clisp.org>
14936
14937         chdir-long: Move AC_LIBOBJ invocations to module description.
14938         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
14939         gl_PREREQ_CHDIR_LONG invocations from here...
14940         * modules/chdir-long (configure.ac): ... to here.
14941
14942 2011-05-05  Bruno Haible  <bruno@clisp.org>
14943
14944         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
14945         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
14946         from here...
14947         * modules/canonicalize-lgpl (configure.ac): ... to here.
14948
14949 2011-05-05  Bruno Haible  <bruno@clisp.org>
14950
14951         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
14952         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
14953         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
14954         REPLACE_CALLOC.
14955         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
14956         * modules/calloc-gnu (configure.ac): Likewise.
14957
14958 2011-05-05  Bruno Haible  <bruno@clisp.org>
14959
14960         btowc: Move AC_LIBOBJ invocations to module description.
14961         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
14962         invocations from here...
14963         * modules/btowc (configure.ac): ... to here.
14964
14965 2011-05-21  Bruno Haible  <bruno@clisp.org>
14966
14967         atexit: Move AC_LIBOBJ invocations to module description.
14968         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
14969         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
14970         here...
14971         * modules/atexit (configure.ac): ... to here.
14972
14973 2011-05-05  Bruno Haible  <bruno@clisp.org>
14974
14975         atoll: Move AC_LIBOBJ invocations to module description.
14976         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
14977         invocations from here...
14978         * modules/atoll (configure.ac): ... to here.
14979
14980 2011-05-05  Bruno Haible  <bruno@clisp.org>
14981
14982         argz: Move AC_LIBOBJ invocations to module description.
14983         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
14984         * modules/argz (configure.ac): ... to here.
14985
14986 2011-05-05  Bruno Haible  <bruno@clisp.org>
14987
14988         alphasort: Move AC_LIBOBJ invocations to module description.
14989         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
14990         gl_PREREQ_ALPHASORT invocations from here...
14991         * modules/alphasort (configure.ac): ... to here.
14992
14993 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
14994
14995         verify: new macro verify_expr; verify_true deprecated
14996         * NEWS: Mention this.
14997         * doc/verify.texi (Compile-time Assertions): Document this.
14998         * lib/verify.h (verify_true): Deprecate.
14999         (verify_expr): New macro.
15000         * tests/test-verify.c (function): Test verify_expr.
15001
15002 2011-06-14  Jim Meyering  <meyering@redhat.com>
15003
15004         init.sh: give more portable redirection-related advice in a comment
15005         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15006         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15007         for lots of discussion.  Stefano Lattarini suggested the solution
15008         of putting "9>&2" after the command.  Reported by Bruno Haible.
15009
15010 2011-06-13  Bruno Haible  <bruno@clisp.org>
15011
15012         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15013         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15014         'none'.
15015
15016 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15017
15018         ftoastr: use strtof only if HAVE_STRTOF
15019         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15021         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15022         * modules/ftoastr (configure.ac): Check for strtof.
15023
15024 2011-06-13  Bruno Haible  <bruno@clisp.org>
15025
15026         gnulib-tool: Addendum to 2011-06-08 commit.
15027         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15028         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15029
15030 2011-06-13  Bruno Haible  <bruno@clisp.org>
15031
15032         fseeko: Provide a non-inline replacement of fseek().
15033         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15034         * modules/fseeko (Depends-on): Add fseek.
15035         * modules/fseek (License): Change to LGPLv2+.
15036
15037 2011-06-13  Bruno Haible  <bruno@clisp.org>
15038
15039         ftello: Provide a non-inline replacement of ftell().
15040         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15041         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15042         not have ftello() (such as on mingw).
15043         * modules/ftello (Depends-on): Add ftell.
15044         * modules/ftell (License): Change to LGPLv2+.
15045
15046 2011-05-07  Bruno Haible  <bruno@clisp.org>
15047
15048         ftell: Move AC_LIBOBJ invocations to module description.
15049         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15050         * modules/ftell (configure.ac): ... to here.
15051
15052 2011-05-07  Bruno Haible  <bruno@clisp.org>
15053
15054         ftello: Respect rules for use of AC_LIBOBJ.
15055         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15056         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15057         here...
15058         * modules/ftello (configure.ac): ... to here.
15059
15060 2011-05-07  Bruno Haible  <bruno@clisp.org>
15061
15062         fseeko: Simplify.
15063         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15064         (gl_FUNC_FSEEKO): Inline it here.
15065
15066 2011-05-07  Bruno Haible  <bruno@clisp.org>
15067
15068         fseek: Move AC_LIBOBJ invocations to module description.
15069         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15070         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15071         * modules/fseek (configure.ac): ... to here.
15072
15073 2011-05-07  Bruno Haible  <bruno@clisp.org>
15074
15075         fseek: Respect rules for use of AC_LIBOBJ.
15076         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15077         here...
15078         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15079
15080 2011-05-07  Bruno Haible  <bruno@clisp.org>
15081
15082         fseeko: Respect rules for use of AC_LIBOBJ.
15083         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15084         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15085         here...
15086         * modules/fseeko (configure.ac): ... to here.
15087
15088 2011-06-13  Bruno Haible  <bruno@clisp.org>
15089
15090         gnulib-tool: Allow comments in the 'Depends-on' section.
15091         * doc/gnulib.texi (Module description): Mention comment syntax in the
15092         Depends-on section.
15093         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15094
15095 2011-06-13  Bruno Haible  <bruno@clisp.org>
15096
15097         file-set.h: guard __attibute__ use, now that it's not always defined
15098         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15099         versions that support it.  This fixes a coreutils build failure with
15100         the vendor cc on HP-UX 11.31.
15101
15102 2011-06-12  Bruno Haible  <bruno@clisp.org>
15103
15104         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15105         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15106         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15107         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15108         (acl, aclsort): New declarations.
15109         (aclv_nontrivial): New declaration.
15110         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15111         (file_has_acl): Read also the second kind of HP-UX ACLs.
15112         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15113         kind of HP-UX ACLs if the first kind fails.
15114         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15115         second kind of HP-UX ACLs.
15116         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15117         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15118         agree.
15119         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15120         hpuxjfs.
15121         Handle hpuxjfs.
15122         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15123         hpuxjfs.
15124         Handle hpuxjfs.
15125         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15126         (func_test_same_acls): Use both lsacl and getacl.
15127         Handle hpuxjfs.
15128         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15129         (func_test_same_acls): Use both lsacl and getacl.
15130         Handle hpuxjfs.
15131
15132 2011-06-12  Bruno Haible  <bruno@clisp.org>
15133
15134         acl: Complete the 2010-08-10 fix.
15135         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15136         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15137         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15138         explicitly.
15139         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15140         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15141
15142 2011-06-12  Bruno Haible  <bruno@clisp.org>
15143
15144         spawn-pipe tests: Comments.
15145         * tests/test-spawn-pipe-child.c (main): Update comment.
15146         Reported by James Youngman <jay@gnu.org>.
15147
15148 2011-06-11  James Youngman  <jay@gnu.org>
15149
15150         New module 'stat-size'.
15151         * modules/stat-size: New module.  Provides macros for accessing
15152         file size information in instances of struct stat.  Depends on the
15153         fileblocks module because it calls st_blocks.
15154         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15155         * doc/gnulib.texi: Include stat-size.texi.
15156         * doc/stat-size.texi: Documentation for this module.
15157         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15158         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15159         AC_STRUCT_ST_BLOCKS.
15160
15161 2011-06-09  Bruno Haible  <bruno@clisp.org>
15162
15163         thread: Support pthreads-win32.
15164         * lib/glthread/thread.h (gl_thread_self): Define differently on
15165         pthreads-win32.
15166         (gl_null_thread): New declaration.
15167         (gl_thread_self_pointer): New macro.
15168         * lib/glthread/thread.c (gl_null_thread): New constant.
15169         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15170         gl_thread_self.
15171         * tests/test-tls.c: Likewise.
15172         Suggested by Paul Eggert. Reported by Eric Blake.
15173
15174 2011-06-09  Bruno Haible  <bruno@clisp.org>
15175
15176         thread: Fix confusion between NULL and 0.
15177         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15178         Reported by Paul Eggert.
15179
15180 2011-06-09  Bruno Haible  <bruno@clisp.org>
15181
15182         spawn-pipe tests: Avoid test failure on HP-UX 11.
15183         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15184         is closed.
15185
15186 2011-06-09  Bruno Haible  <bruno@clisp.org>
15187
15188         acl tests: Fix compilation error on HP-UX 11.
15189         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15190
15191 2011-06-09  Bruno Haible  <bruno@clisp.org>
15192
15193         rmdir: Avoid test failure on HP-UX 10.20.
15194         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15195         EEXIST.
15196
15197 2011-06-08  Eric Blake  <eblake@redhat.com>
15198
15199         perror: fix test on mingw
15200         * modules/perror-tests (Depends-on): Add dup2.
15201
15202         strerror_r-posix: fix on MacOS
15203         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15205         logic bug.
15206         * lib/strerror_r.c (strerror_r): Fix the bug.
15207         * lib/strerror.c (strerror): Likewise.
15208         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15209         problem.
15210         * doc/posix-functions/strerror.texi (strerror): Likewise.
15211         * doc/posix-functions/perror.texi (perror): Likewise.
15212         * tests/test-strerror.c (main): Enhance test.
15213         * tests/test-strerror_r.c (main): Likewise.
15214
15215 2011-06-08  Bruno Haible  <bruno@clisp.org>
15216
15217         gnulib-tool: Better isolation between different gnulib-tool invocations.
15218         * gnulib-tool: New option --witness-c-macro.
15219         (witness_c_macro): New variable.
15220         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15221         AM_CPPFLAGS define it as a C macro.
15222         (func_emit_tests_Makefile_am): Likewise.
15223         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15224         read it from there.
15225         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15226         m4_define, not AC_DEFUN.
15227         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15228         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15229         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15230         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15231         s|...|...|, to substitute the values of the GNULIB_* module indicator
15232         variables.
15233         * modules/dirent (Makefile.am): Likewise.
15234         * modules/fcntl-h (Makefile.am): Likewise.
15235         * modules/iconv-h (Makefile.am): Likewise.
15236         * modules/langinfo (Makefile.am): Likewise.
15237         * modules/locale (Makefile.am): Likewise.
15238         * modules/math (Makefile.am): Likewise.
15239         * modules/netdb (Makefile.am): Likewise.
15240         * modules/poll-h (Makefile.am): Likewise.
15241         * modules/pty (Makefile.am): Likewise.
15242         * modules/search (Makefile.am): Likewise.
15243         * modules/signal (Makefile.am): Likewise.
15244         * modules/spawn (Makefile.am): Likewise.
15245         * modules/stdio (Makefile.am): Likewise.
15246         * modules/stdlib (Makefile.am): Likewise.
15247         * modules/string (Makefile.am): Likewise.
15248         * modules/sys_ioctl (Makefile.am): Likewise.
15249         * modules/sys_select (Makefile.am): Likewise.
15250         * modules/sys_socket (Makefile.am): Likewise.
15251         * modules/sys_stat (Makefile.am): Likewise.
15252         * modules/sys_times (Makefile.am): Likewise.
15253         * modules/sys_utsname (Makefile.am): Likewise.
15254         * modules/sys_wait (Makefile.am): Likewise.
15255         * modules/termios (Makefile.am): Likewise.
15256         * modules/time (Makefile.am): Likewise.
15257         * modules/unistd (Makefile.am): Likewise.
15258         * modules/wchar (Makefile.am): Likewise.
15259
15260 2011-06-08  Eric Blake  <eblake@redhat.com>
15261
15262         strerror: simplify replacement
15263         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15264         * modules/strerror (configure.ac): No prereqs needed here...
15265         * modules/strerror-override (configure.ac): ...but this needs it.
15266         (Files): Add file for needed prereq macro.
15267
15268 2011-06-08  Bruno Haible  <bruno@clisp.org>
15269
15270         strerror_r-posix: Tweaks.
15271         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15272         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15273         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15274         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15275         (gl_FUNC_STRERROR_R): ... to here.
15276         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15277
15278 2011-06-07  Eric Blake  <eblake@redhat.com>
15279
15280         perror: document fixed bugs
15281         * doc/posix-functions/perror.texi (perror): Document recent
15282         patches.
15283
15284 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15285
15286         stat-time: get_stat_birthtime failure is better-defined
15287         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15288         return a timestamp whose tv_sec and tv_nsec values are both -1.
15289         Previously, the spec said only that the tv_nsec value was negative.
15290         This upward-compatible change simplifies GNU tar a bit.
15291
15292 2011-06-07  Eric Blake  <eblake@redhat.com>
15293
15294         strerror_r-posix: work around cygwin 1.7.9
15295         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15296         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15297         bug without replacing strerror_r.
15298         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15299         strerror_r is buggy, but without requiring strerror_r compilation.
15300         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15301
15302         test-perror: relax test to ignore cygwin bug
15303         * tests/test-perror2.c (main): Relax test on requiring detection
15304         of stream errors, and use unbuffered stream.
15305         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15306         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15307         * doc/posix-functions/fputc.texi (fputc): Likewise.
15308         * doc/posix-functions/fputs.texi (fputs): Likewise.
15309         * doc/posix-functions/fputws.texi (fputws): Likewise.
15310         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15311         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15312         * doc/posix-functions/getopt.texi (getopt): Likewise.
15313         * doc/posix-functions/perror.texi (perror): Likewise.
15314         * doc/posix-functions/printf.texi (printf): Likewise.
15315         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15316         * doc/posix-functions/psignal.texi (psignal): Likewise.
15317         * doc/posix-functions/putc.texi (putc): Likewise.
15318         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15319         Likewise.
15320         * doc/posix-functions/putchar.texi (putchar): Likewise.
15321         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15322         Likewise.
15323         * doc/posix-functions/puts.texi (puts): Likewise.
15324         * doc/posix-functions/putwc.texi (putwc): Likewise.
15325         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15326         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15327         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15328         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15329         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15330         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15331         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15332         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15333
15334 2011-05-22  Bruno Haible  <bruno@clisp.org>
15335
15336         strerror: Move AC_LIBOBJ invocations to module description.
15337         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15338         gl_PREREQ_STRERROR invocations from here...
15339         * modules/strerror (configure.ac): ... to here.
15340
15341 2011-05-21  Bruno Haible  <bruno@clisp.org>
15342
15343         perror: Use common idiom.
15344         * modules/perror (configure.ac): Reorder statements.
15345
15346 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15347
15348         tests: fix usage message in 'mktempd_'
15349         * tests/init.sh (mktempd_): In the usage message, use literal
15350         'mktempd_', not '$ME' (which is even undefined), as the name of
15351         the subroutine.
15352
15353 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15354
15355         tests init: new function 'fatal_', for hard errors
15356         Before this patch, the only way offered by tests/init.sh to
15357         properly signal a hard error was the `framework_failure_'
15358         function.  But the error message issued by that function,
15359         as its name would suggest, refers to a set-up failure in the
15360         testsuite, while hard errors can obviously also be due to
15361         other reasons.  The best way to fix this inconsistency is to
15362         introduce a new function with a more general error message.
15363         * tests/init.sh (fatal_): New function.
15364
15365 2011-06-06  Eric Blake  <eblake@redhat.com>
15366
15367         canonicalize-lgpl: use common idiom
15368         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15369         over newer POSIX -Rf.
15370         Reported by Bruno Haible.
15371
15372         canonicalize-lgpl: work around AIX realpath bug
15373         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15374         * doc/posix-functions/realpath.texi (realpath): Document it.
15375         Reported by Bruno Haible.
15376
15377         strerror: work around FreeBSD bug
15378         * lib/strerror.c (strerror): Special case 0.
15379         Reported by Bruno Haible.
15380
15381         strerror-override: avoid bloating errno module
15382         * modules/errno (Files, configure.ac): Move replacement strings...
15383         * modules/strerror-override: ...to new module.
15384         * modules/strerror (Depends-on): Add strerror-override.
15385         * modules/strerror_r-posix (Depends-on): Likewise.
15386         * MODULES.html.sh: Document new module.
15387         Reported by Bruno Haible.
15388
15389 2011-06-06  Bruno Haible  <bruno@clisp.org>
15390
15391         spawn-pipe tests: Rename program.
15392         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15393         * tests/test-spawn-pipe-child.c: Update comment.
15394         * tests/test-spawn-pipe.sh: Update.
15395         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
15396
15397         spawn-pipe tests: Link the child program only against libc.
15398         * tests/test-spawn-pipe-child.c: New file, extracted from
15399         tests/test-spawn-pipe.c.
15400         (main): Expect only one argument.
15401         (is_open): New function, copied from tests/test-pipe.c.
15402         * tests/test-spawn-pipe.c: Don't include <errno.h>.
15403         (child_main): Remove function.
15404         (test_pipe): Pass only one argument to the child program.
15405         (main): Remove child process code. Expect the child program's name as
15406         first argument.
15407         * tests/test-spawn-pipe.sh: Pass the child program's name as first
15408         argument.
15409         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
15410         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
15411         test-spawn-pipe-child against no libraries.
15412
15413 2011-06-06  Bruno Haible  <bruno@clisp.org>
15414
15415         careadlinkat: Avoid mismatch between ssize_t and int.
15416         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
15417         * lib/careadlinkat.c (careadlinkatcwd): Define always.
15418
15419 2011-06-06  Jim Meyering  <meyering@redhat.com>
15420
15421         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
15422         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
15423         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
15424
15425 2011-06-05  Bruno Haible  <bruno@clisp.org>
15426
15427         ansi-c++-opt: Interoperability with libtool.
15428         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
15429         set the variable to "no", not to ":".
15430         * NEWS: Mention the change.
15431
15432 2011-06-05  Bruno Haible  <bruno@clisp.org>
15433
15434         acl: Fix test failure on AIX 7.
15435         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
15436         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
15437
15438 2011-06-05  Bruno Haible  <bruno@clisp.org>
15439
15440         pipe-filter-ii: Fix test failure on AIX and IRIX.
15441         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
15442         with EAGAIN, retry with a smaller buffer size.
15443
15444 2011-06-05  Bruno Haible  <bruno@clisp.org>
15445
15446         localename: Fix link dependencies.
15447         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
15448         * modules/localename-tests (Makefile.am): Link test-localename with
15449         $(LIBTHREAD).
15450
15451 2011-06-05  Bruno Haible  <bruno@clisp.org>
15452
15453         error: Avoid gcc warning.
15454         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
15455
15456 2011-06-05  Bruno Haible  <bruno@clisp.org>
15457
15458         unsetenv: Avoid gcc warning.
15459         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
15460
15461 2011-06-05  Bruno Haible  <bruno@clisp.org>
15462
15463         setenv: Avoid gcc warning.
15464         * lib/setenv.c (setenv): Provide declaration if system lacks it.
15465
15466 2011-06-05  Bruno Haible  <bruno@clisp.org>
15467
15468         sys_select: Ensure memset is declared also on AIX 7.
15469         * lib/sys_select.in.h: Include <string.h> also on AIX.
15470         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
15471         self-contained also on AIX 7.1.
15472
15473 2011-06-04  Jim Meyering  <meyering@redhat.com>
15474
15475         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
15476         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
15477         function name, "error".
15478         (_gl_translatable_diag_func_re): New configurable variable.
15479
15480 2011-06-04  Bruno Haible  <bruno@clisp.org>
15481
15482         getopt: Avoid gcc warning.
15483         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
15484
15485 2011-06-04  Bruno Haible  <bruno@clisp.org>
15486
15487         strerror_r: Fix comments.
15488         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
15489         commit.
15490
15491 2011-06-04  Bruno Haible  <bruno@clisp.org>
15492
15493         perror: Fix compilation error.
15494         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
15495         Undefine fprintf, not sprintf.
15496         * modules/perror (Depends-on): Remove intprops, verify.
15497
15498 2011-06-04  Bruno Haible  <bruno@clisp.org>
15499
15500         setlocale: Enable replacement on Cygwin 1.5.
15501         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
15502         Cygwin 1.5.x.
15503         * doc/posix-functions/setlocale.texi: Mention that the problem with the
15504         LC_CTYPE category also exists on Cygwin 1.5.x.
15505
15506 2011-06-04  Bruno Haible  <bruno@clisp.org>
15507
15508         strerror-override: Don't disable symbol renamings.
15509         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
15510         * lib/strerror-override.c: Include config.h.
15511         (strerror_override): Don't undefine.
15512
15513 2011-06-03  Bruno Haible  <bruno@clisp.org>
15514
15515         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
15516         * lib/localename.h: Update copyright header.
15517         * lib/localename.c: Likewise.
15518         * lib/relocatable.h: Likewise.
15519         * lib/relocatable.c: Likewise.
15520
15521 2011-06-02  Bruno Haible  <bruno@clisp.org>
15522
15523         doc: Fix a module name.
15524         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
15525
15526 2011-06-02  Bruno Haible  <bruno@clisp.org>
15527
15528         pipe2: Remove dependency on 'nonblocking' module.
15529         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
15530         O_NONBLOCK is defined by gnulib.
15531         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
15532         is zero.
15533         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15534         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15535         defined by gnulib.
15536         (get_nonblocking_flag): New function.
15537         (main): Test O_NONBLOCK flag only if it is nonzero.
15538         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15539
15540 2011-06-03  Jim Meyering  <meyering@redhat.com>
15541
15542         maint: three new prohibit-header-without-use rules
15543         Prohibit use of cloexec.h, posixver.h, same.h without use.
15544         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15545         (sc_prohibit_posixver_without_use): Likewise.
15546         (sc_prohibit_same_without_use): Likewise.
15547
15548 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15549
15550         allocator: 'die' routine is now given requested size
15551         * lib/allocator.h (struct allocator.die): New size arg.
15552         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15553         If the actual problem is an ssize_t limitation, not a size_t or
15554         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15555
15556 2011-06-01  Eric Blake  <eblake@redhat.com>
15557
15558         strerror: drop strerror_r dependency
15559         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15560         * lib/strerror-override.c (strerror_override): ...to new file.
15561         * lib/strerror-override.h: Add prototype.
15562         * lib/strerror-impl.h: Delete.
15563         * lib/strerror.c (strerror): New implementation.
15564         * modules/errno (Files): Add new files.
15565         (configure.ac): Compile new file as appropriate.
15566         * modules/strerror (Files): Drop unused file.
15567         (Depends-on): Drop strerror_r-posix.
15568         * MODULES.html.sh: Document strerror_r-posix.
15569         Requested by Sam Steingold.
15570
15571         perror: call strerror_r directly
15572         * modules/perror (Files): Drop strerror-impl.h.
15573         * lib/perror.c (perror): Use our own stack buffer, rather than
15574         calling a wrapper that uses static storage.
15575         * doc/posix-functions/perror.texi (perror): Document a limitation
15576         of our replacement.
15577
15578         strerror_r: fix includes for FreeBSD
15579         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15580         since we use abort on some platforms.
15581         Reported by Matthias Bolte.
15582
15583 2011-05-31  Bruno Haible  <bruno@clisp.org>
15584
15585         Fix link errors in tests: openat-die uses gettext-h.
15586         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15587         against $(LIBINTL).
15588         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15589         against $(LIBINTL).
15590         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15591         $(LIBINTL).
15592         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15593         against $(LIBINTL).
15594         * modules/linkat-tests (Makefile.am): Link test-linkat against
15595         $(LIBINTL).
15596         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15597         $(LIBINTL).
15598         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15599         against $(LIBINTL).
15600         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15601         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15602         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15603         $(LIBINTL).
15604         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15605         $(LIBINTL).
15606         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15607         $(LIBINTL).
15608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15609
15610 2011-05-31  Bruno Haible  <bruno@clisp.org>
15611
15612         Fix link errors in tests: wait-process uses gettext-h.
15613         * modules/nonblocking-pipe-tests (Makefile.am): Set
15614         test_nonblocking_pipe_main_LDADD.
15615         * modules/nonblocking-socket-tests (Makefile.am): Link
15616         test-nonblocking-socket-main against $(LIBINTL).
15617         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15618
15619 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15620
15621         assert-h: work around 'verify' incompatibility
15622         * lib/verify.h: Use @...@ directives, not ifdef.
15623         * modules/assert-h (assert.h): Implement the directives.
15624         (assert.h): Substitute the symbol-prefix more consistently.
15625
15626 2011-05-29  Jim Meyering  <meyering@redhat.com>
15627
15628         trim: remove three superfluous assignments
15629         * lib/trim.c (trim2): Remove three superfluous assignments
15630         and correct brace positioning.
15631
15632 2011-05-29  Bruno Haible  <bruno@clisp.org>
15633
15634         wctype-h: Avoid namespace pollution on Solaris 2.6.
15635         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15636         identifiers.
15637         * doc/posix-headers/wctype.texi: Mention the problem.
15638         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15639
15640 2011-05-28  Jim Meyering  <meyering@redhat.com>
15641
15642         parse-datetime.y: accommodate -Wstrict-overflow
15643         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15644         placate -Wstrict-overflow.
15645
15646         trim: avoid a warning from -O2 -Wstrict-overflow
15647         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15648
15649 2011-05-29  Bruno Haible  <bruno@clisp.org>
15650
15651         gnulib-tool: Fix bug in yesterday's commit.
15652         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15653         twice.
15654
15655 2011-05-29  Bruno Haible  <bruno@clisp.org>
15656
15657         Allow multiple gnulib generated include files to be combined.
15658         * gnulib-tool (func_compute_include_guard_prefix): New function.
15659         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15660         ${gl_include_guard_prefix} references.
15661         (func_import, func_create_testdir): Invoke
15662         func_compute_include_guard_prefix.
15663         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15664         * lib/ctype.in.h: Likewise.
15665         * lib/dirent.in.h: Likewise.
15666         * lib/errno.in.h: Likewise.
15667         * lib/fcntl.in.h: Likewise.
15668         * lib/float.in.h: Likewise.
15669         * lib/getopt.in.h: Likewise.
15670         * lib/iconv.in.h: Likewise.
15671         * lib/langinfo.in.h: Likewise.
15672         * lib/locale.in.h: Likewise.
15673         * lib/math.in.h: Likewise.
15674         * lib/netdb.in.h: Likewise.
15675         * lib/netinet_in.in.h: Likewise.
15676         * lib/poll.in.h: Likewise.
15677         * lib/pthread.in.h: Likewise.
15678         * lib/pty.in.h: Likewise.
15679         * lib/sched.in.h: Likewise.
15680         * lib/se-selinux.in.h: Likewise.
15681         * lib/search.in.h: Likewise.
15682         * lib/signal.in.h: Likewise.
15683         * lib/spawn.in.h: Likewise.
15684         * lib/stdarg.in.h: Likewise.
15685         * lib/stddef.in.h: Likewise.
15686         * lib/stdint.in.h: Likewise.
15687         * lib/stdio.in.h: Likewise.
15688         * lib/stdlib.in.h: Likewise.
15689         * lib/string.in.h: Likewise.
15690         * lib/strings.in.h: Likewise.
15691         * lib/sys_file.in.h: Likewise.
15692         * lib/sys_ioctl.in.h: Likewise.
15693         * lib/sys_select.in.h: Likewise.
15694         * lib/sys_socket.in.h: Likewise.
15695         * lib/sys_stat.in.h: Likewise.
15696         * lib/sys_time.in.h: Likewise.
15697         * lib/sys_times.in.h: Likewise.
15698         * lib/sys_uio.in.h: Likewise.
15699         * lib/sys_utsname.in.h: Likewise.
15700         * lib/sys_wait.in.h: Likewise.
15701         * lib/sysexits.in.h: Likewise.
15702         * lib/termios.in.h: Likewise.
15703         * lib/time.in.h: Likewise.
15704         * lib/unistd.in.h: Likewise.
15705         * lib/wchar.in.h: Likewise.
15706         * lib/wctype.in.h: Likewise.
15707         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15708         * modules/ctype (Makefile.am): Likewise.
15709         * modules/dirent (Makefile.am): Likewise.
15710         * modules/errno (Makefile.am): Likewise.
15711         * modules/fcntl-h (Makefile.am): Likewise.
15712         * modules/float (Makefile.am): Likewise.
15713         * modules/getopt-posix (Makefile.am): Likewise.
15714         * modules/iconv-h (Makefile.am): Likewise.
15715         * modules/langinfo (Makefile.am): Likewise.
15716         * modules/locale (Makefile.am): Likewise.
15717         * modules/math (Makefile.am): Likewise.
15718         * modules/netdb (Makefile.am): Likewise.
15719         * modules/netinet_in (Makefile.am): Likewise.
15720         * modules/poll-h (Makefile.am): Likewise.
15721         * modules/pthread (Makefile.am): Likewise.
15722         * modules/pty (Makefile.am): Likewise.
15723         * modules/sched (Makefile.am): Likewise.
15724         * modules/search (Makefile.am): Likewise.
15725         * modules/selinux-h (Makefile.am): Likewise.
15726         * modules/signal (Makefile.am): Likewise.
15727         * modules/spawn (Makefile.am): Likewise.
15728         * modules/stdarg (Makefile.am): Likewise.
15729         * modules/stddef (Makefile.am): Likewise.
15730         * modules/stdint (Makefile.am): Likewise.
15731         * modules/stdio (Makefile.am): Likewise.
15732         * modules/stdlib (Makefile.am): Likewise.
15733         * modules/string (Makefile.am): Likewise.
15734         * modules/strings (Makefile.am): Likewise.
15735         * modules/sys_file (Makefile.am): Likewise.
15736         * modules/sys_ioctl (Makefile.am): Likewise.
15737         * modules/sys_select (Makefile.am): Likewise.
15738         * modules/sys_socket (Makefile.am): Likewise.
15739         * modules/sys_stat (Makefile.am): Likewise.
15740         * modules/sys_time (Makefile.am): Likewise.
15741         * modules/sys_times (Makefile.am): Likewise.
15742         * modules/sys_uio (Makefile.am): Likewise.
15743         * modules/sys_utsname (Makefile.am): Likewise.
15744         * modules/sys_wait (Makefile.am): Likewise.
15745         * modules/sysexits (Makefile.am): Likewise.
15746         * modules/termios (Makefile.am): Likewise.
15747         * modules/time (Makefile.am): Likewise.
15748         * modules/unistd (Makefile.am): Likewise.
15749         * modules/wchar (Makefile.am): Likewise.
15750         * modules/wctype-h (Makefile.am): Likewise.
15751         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15752
15753 2011-05-29  Bruno Haible  <bruno@clisp.org>
15754
15755         assert-h: Allow multiple gnulib generated replacements to coexist.
15756         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15757
15758 2011-05-29  Bruno Haible  <bruno@clisp.org>
15759
15760         argp: Allow coexistence with strerror_r-posix module.
15761         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15762         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15763         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15764         not the glibc signature.
15765
15766 2011-05-28  Bruno Haible  <bruno@clisp.org>
15767
15768         gnulib-tool: Alternative structure of testdirs, similar to --import.
15769         * gnulib-tool: New option --single-configure.
15770         (func_usage): Document it.
15771         (single_configure): New variable.
15772         (func_modules_transitive_closure_separately,
15773         func_modules_transitive_closure_separately,
15774         func_determine_use_libtests, func_modules_add_dummy_separately,
15775         func_modules_to_filelist_separately): New functions, extracted from
15776         func_import.
15777         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15778         (func_import): Use the new functions.
15779         (func_create_testdir): Set final_modules. Handle $single_configure =
15780         true case.
15781
15782 2011-05-28  Bruno Haible  <bruno@clisp.org>
15783
15784         getloadavg: Remove an unreliable safety check.
15785         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15786         getloadavg.c is in place.
15787         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15788         Reported by Sam Steingold <sds@gnu.org>.
15789
15790 2011-05-28  Bruno Haible  <bruno@clisp.org>
15791
15792         doc: Cleanup yet another file produced by texinfo.tex.
15793         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15794
15795 2011-05-28  Bruno Haible  <bruno@clisp.org>
15796
15797         Finish the conditional dependencies mechanism.
15798         * gnulib-tool: New option --no-conditional-dependencies.
15799         (func_usage): Document it. Don't mark --conditional-dependencies as
15800         experimental.
15801         (cond_dependencies): The possible values can now be true, false, empty.
15802         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15803         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15804         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15805
15806 2011-05-28  Bruno Haible  <bruno@clisp.org>
15807
15808         doc: Use a recent texinfo.tex.
15809         * doc/Makefile (tex_opts): New variable.
15810         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15811
15812 2011-05-28  Jim Meyering  <meyering@redhat.com>
15813
15814         intprops.h: adjust comment to match code change
15815         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15816         only once, it *may* have side effects.  Also fix an unrelated typo.
15817         (_GL_INT_SIGNED): Likewise.
15818
15819 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15820
15821         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15822
15823 2011-05-26  Bruno Haible  <bruno@clisp.org>
15824
15825         mbsrchr: Avoid collision with system function on Interix.
15826         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15827         Reported by Markus Duft <mduft@gentoo.org>.
15828
15829 2011-05-15  James Youngman  <jay@gnu.org>
15830
15831         getopt: for ambiguous options, enumerate the possibilities.
15832         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15833         the ambiguous options when an ambiguous prefix is given. This was
15834         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15835         glibc change was
15836         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15837
15838 2011-05-25  Eric Blake  <eblake@redhat.com>
15839
15840         getcwd: work around mingw bug
15841         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15842         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15843         Reported by Matthias Bolte.
15844
15845 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15846
15847         test-intprops: disable -Wtype-limits diagnostics
15848         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15849         diagnostics.  Otherwise, the integer overflow macros generate many
15850         diagnostics.  Reported by Jim Meyering in
15851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15852
15853         intprops: shorten, to pacify gcc -Woverlength-strings
15854         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15855         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15856         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15857         likely to run afoul of C compiler limits for string constant lengths.
15858         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15859
15860 2011-05-24  Eric Blake  <eblake@redhat.com>
15861
15862         docs: document recently fixed glibc printf bug
15863         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15864         * doc/posix-functions/printf.texi (printf): Likewise.
15865         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15866         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15867
15868         closein-tests: convert to init.sh
15869         * modules/closein-tests (Files): Add init.sh
15870         * tests/test-closein.sh Use it.
15871
15872         yesno-tests: convert to init.sh
15873         * modules/yesno-tests (Files): Add init.sh.
15874         * tests/test-yesno.sh: Use it.
15875
15876         atexit-tests: ensure reliable exit status
15877         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15878         Reported by Bruno Haible.
15879
15880 2011-05-24  Bruno Haible  <bruno@clisp.org>
15881
15882         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15883         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15884         gl_PREREQ_STRERROR_R invocations from here...
15885         * modules/strerror_r-posix (configure.ac): ... to here.
15886
15887 2011-05-24  Eric Blake  <eblake@redhat.com>
15888
15889         strerror_r: fix missing header
15890         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15891
15892         strerror_r: fix AIX test failures
15893         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15894         ERANGE failure.
15895
15896         strerror_r: fix Solaris test failures
15897         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15898         failures.
15899         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15900
15901         strerror_r: enforce POSIX recommendations
15902         * lib/strerror_r.c (safe_copy): New helper method.
15903         (strerror_r): Guarantee a non-empty string.
15904         * tests/test-strerror_r.c (main): Enhance tests to incorporate
15905         recent POSIX rulings and to match our strerror guarantees.
15906         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15907
15908 2011-05-24  Jim Meyering  <meyering@redhat.com>
15909
15910         test-perror2.c: avoid warning about unused variable
15911         * tests/test-perror2.c (main): Remove declaration of unused "fp".
15912
15913 2011-05-24  Eric Blake  <eblake@redhat.com>
15914
15915         perror: avoid spurious test failure on HP-UX
15916         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
15917
15918         tests: fix logic bug in init.sh
15919         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
15920         shell.
15921
15922 2011-05-24  Jim Meyering  <meyering@redhat.com>
15923
15924         utimensat: do not reference an out-of-scope buffer
15925         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
15926         declared in an inner scope, yet "times" would be dereferenced outside
15927         the scope in which "ts" was valid.
15928         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
15929         of ts[2] "out/up", so that the use of aliased "times" (via
15930         "times = ts;") does not end up referencing an out-of-scope "ts"
15931
15932         opendir-safer.c: don't clobber errno; don't close negative FD
15933         * lib/opendir-safer.c (opendir_safer):
15934         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
15935         file descriptor, and more importantly, don't clobber the
15936         offending errno value with EINVAL.  Before, upon failure
15937         of dup_safer, we would pass the negative file descriptor to
15938         fdopendir, which would clobber errno.
15939
15940 2011-05-23  Bruno Haible  <bruno@clisp.org>
15941
15942         idcache: Fix module description.
15943         * modules/idcache (Include): Set to "idcache.h".
15944
15945 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
15946
15947         gnulib-tool: fix portability problem with MacOS sed
15948         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
15949         before the "}".  Problem reported by Leo in
15950         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
15951         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
15952         sed_extract_condition1, sed_extract_condition2.
15953
15954 2011-05-23  Bruno Haible  <bruno@clisp.org>
15955
15956         hash: Simplify autoconf macro.
15957         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
15958
15959 2011-05-23  Bruno Haible  <bruno@clisp.org>
15960
15961         getugroups: Fix module description.
15962         * modules/getugroups (Include): Set to "getugroups.h".
15963
15964 2011-05-23  Bruno Haible  <bruno@clisp.org>
15965
15966         linkat: Simplify autoconf macro.
15967         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
15968
15969 2011-05-23  Bruno Haible  <bruno@clisp.org>
15970             Eric Blake  <eblake@redhat.com>
15971
15972         linkat, renameat: Update dependencies.
15973         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
15974         * modules/linkat (Depends-on): Likewise. Remove also readlink,
15975         symlinkat.
15976
15977 2011-05-23  Jim Meyering  <meyering@redhat.com>
15978
15979         maint.mk: more tight_scope improvements
15980         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
15981         (_gl_TS_headers): Define only in if-0'd block.
15982         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
15983         sometimes we must *not* use it.  Adjust uses accordingly.
15984         (sc_tight_scope): Use much simpler grep-based test to determine
15985         whether we skip this rule.
15986
15987         maint.mk: generalize/improve the tight-scope rule
15988         * top/maint.mk: Emit a warning when the test is skipped.
15989         (_gl_TS_dir): Add $(srcdir)/ prefix.
15990         (_gl_TS_function_match): Simplify, rather than trying
15991         to enumerate common types.  Otherwise, it would fail to match an
15992         "extern unsigned char const *" declaration in idutils.
15993         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
15994         a way to support use of that type of macro.
15995         (_gl_TS_var_match): Simplify regexp.
15996         (_gl_TS_obj_files): New configurable variable.
15997         (_gl_TS_headers): Likewise.
15998
15999 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16000
16001         verify: fix bug when gnulib <assert.h> is also included
16002         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16003         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16004         Perhaps there's a better way, but this fixes the immediate problem.
16005         Problem reported by Bruno Haible in
16006         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16007
16008 2011-05-22  Bruno Haible  <bruno@clisp.org>
16009
16010         xgetcwd: Simplify autoconf macro.
16011         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16012
16013 2011-05-22  Bruno Haible  <bruno@clisp.org>
16014
16015         New module 'mktime-internal'.
16016         * modules/mktime-internal: New file.
16017         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16018         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16019         mktime_internal as a C macro if libc has __mktime_internal.
16020         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16021         conditions.
16022         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16023
16024 2011-05-22  Bruno Haible  <bruno@clisp.org>
16025
16026         timegm: Correct mktime replacement statements.
16027         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16028         defining mktime as a C macro. This completes a 2009-07-28 commit.
16029
16030 2011-05-22  Bruno Haible  <bruno@clisp.org>
16031
16032         timegm: Simplify autoconf macro.
16033         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16034
16035 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16036
16037         clock-time: change to LGPLv2+.
16038         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16039         BSD-like but we have no mark for that; this is good enough for now.
16040
16041 2011-05-21  Bruno Haible  <bruno@clisp.org>
16042
16043         strerror_r: Fix comments.
16044         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16045
16046 2011-05-21  Bruno Haible  <bruno@clisp.org>
16047
16048         relocatable-prog-wrapper: Fix possible link error.
16049         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16050         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16051         (gl_FUNC_SETENV): ... to here.
16052         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16053         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16054
16055 2011-05-21  Bruno Haible  <bruno@clisp.org>
16056
16057         relocatable-prog-wrapper: Assume strerror() exists.
16058         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16059         m4/strerror.m4.
16060         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16061         * lib/relocwrapper.c: Remove mention of strerror module.
16062         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16063         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16064         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16065         C macro.
16066
16067 2011-05-21  Bruno Haible  <bruno@clisp.org>
16068
16069         select: Simplify replacement idiom.
16070         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16071         Win32 platforms.
16072         * lib/sys_select.in.h (select): Simplify accordingly.
16073         * modules/select (Depends-on): Likewise.
16074
16075 2011-05-21  Bruno Haible  <bruno@clisp.org>
16076
16077         mkdir-p: Simplify autoconf macro.
16078         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16079         gl_FUNC_LCHOWN.
16080
16081 2011-05-21  Eric Blake  <eblake@redhat.com>
16082
16083         strerror_r: avoid clobbering strerror on cygwin
16084         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16085         fall back instead to sys_errlist.
16086         * modules/strerror (configure.ac): Add witness.
16087         * tests/test-strerror_r.c (main): Enhance test.
16088         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16089         * tests/test-perror2.c (main): Free memory before exit.
16090
16091 2011-05-21  Bruno Haible  <bruno@clisp.org>
16092
16093         mkdtemp: Use gnulib naming conventions.
16094         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16095         * modules/mkdtemp (configure.ac): Update.
16096
16097 2011-05-20  Eric Blake  <eblake@redhat.com>
16098
16099         strerror_r: avoid corrupting errno on Solaris
16100         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16101         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16102
16103         strerror_r: avoid compiler warning
16104         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16105
16106         strerror_r: simplify AIX code
16107         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16108
16109         test-perror: avoid spurious failure on FreeBSD
16110         * modules/perror-tests (Depends-on): Add strerror, now that
16111         strerror_r no longer pulls it in.
16112
16113 2011-05-20  Bruno Haible  <bruno@clisp.org>
16114
16115         strerror_r-posix: Remove unused dependencies.
16116         * modules/strerror_r-posix (Depends-on): Remove strerror.
16117         Reported by Eric Blake.
16118
16119 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16120
16121         intprops: remove assumption about A|B representation
16122         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16123         is a valid integer if both A and B are.  Although this is true for
16124         all known practical hosts, the C standard doesn't guarantee it,
16125         and the code need not assume it.  Also, this change may work around
16126         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16128
16129 2011-05-20  Eric Blake  <eblake@redhat.com>
16130
16131         perror: work around FreeBSD bug
16132         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16133         is broken.  Move AC_LIBOBJ...
16134         * modules/perror (configure.ac): Here.
16135         * doc/posix-functions/perror.texi (perror): Document this.
16136         * tests/test-perror2.c (main): Enhance test.
16137
16138         test-perror: check for strerror interactions
16139         * tests/macros.h (STREQ): Add macro.
16140         * modules/perror-tests (Files): Add second test.
16141         * tests/test-perror2.c (main): New file.
16142         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16143
16144         test-perror: rewrite to use init script
16145         * modules/perror-tests (Files): Add init.sh.
16146         * tests/test-perror.sh: Use temporary directory.
16147
16148 2011-05-20  Jim Meyering  <meyering@redhat.com>
16149
16150         maint: replace misused "a" with "an"
16151         * doc/intprops.texi: "a integer"
16152         * doc/regex.texi: "a explanation"
16153         * lib/alignof.h: "a object"
16154         * lib/argmatch.h: "a explanation"
16155         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16156         * lib/stdint.in.h: "a integer"
16157         * lib/userspec.c: "a owner"
16158         * doc/gnulib.texi: Fix "a idea", and reword.
16159
16160 2011-05-19  Jim Meyering  <meyering@redhat.com>
16161
16162         maint: correct misuse of "a" and "an"
16163         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16164         * lib/argp-help.c: "an docum...": s/an/a/
16165         * lib/argp-parse.c: "An vector": s/An/A/
16166         * lib/execute.c: "an native": s/an/a/
16167         * lib/spawn-pipe.c: Likewise.
16168         * lib/gc.h: "an Gc_rc": s/an/a/
16169         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16170         * lib/fts.c: "an stat.st_dev": s/an/a/
16171
16172 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16173
16174         intprops-tests: work around HP-UX 11.23 cc bug with constants
16175         * tests/test-intprops.c (VERIFY): New macro.
16176         (main): Use it, instead of verify, to work around the compiler bug; see
16177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16178
16179         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16180         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16181         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16182         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16183         (_GL_REMAINDER_OVERFLOW): Use it.
16184
16185         intprops-tests: revert unsigned part of previous change
16186         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16187         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16188         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16190
16191 2011-05-19  Bruno Haible  <bruno@clisp.org>
16192
16193         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16194         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16195         strerror_r() returned without filling the buffer.
16196         Reported by Eric Blake.
16197
16198 2011-05-19  Eric Blake  <eblake@redhat.com>
16199
16200         strerror_r: guarantee unchanged errno
16201         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16202         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16203         failure.
16204         * tests/test-strerror_r.c (main): Enhance test.
16205
16206 2011-05-19  Bruno Haible  <bruno@clisp.org>
16207
16208         strerror_r: Reorder #if blocks.
16209         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16210         for consistency with the previous commit.
16211
16212 2011-05-19  Bruno Haible  <bruno@clisp.org>
16213
16214         perror: Avoid clobbering the strerror buffer when possible.
16215         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16216         * lib/strerror.c: Include it.
16217         * modules/strerror (Files): Add lib/strerror-impl.h.
16218         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16219         (my_strerror): New function, defined through lib/strerror-impl.h.
16220         (perror): Use it instead of strerror.
16221         * modules/perror (Files): Add lib/strerror-impl.h.
16222         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16223
16224 2011-05-19  Eric Blake  <eblake@redhat.com>
16225
16226         strerror_r: fix on newer cygwin
16227         * lib/strerror_r.c (strerror_r): Cygwin now has
16228         __xpg_strerror_r, use it.
16229
16230 2011-05-19  Bruno Haible  <bruno@clisp.org>
16231
16232         strerror_r: Avoid clobbering the strerror buffer when possible.
16233         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16234         (sys_nerr, sys_errlist): New declarations.
16235         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16236         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16237         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16238
16239 2011-05-19  Bruno Haible  <bruno@clisp.org>
16240
16241         strerror_r: Fix test failure on mingw.
16242         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16243         EXTEND_STRERROR_R.
16244         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16245         macros from errno.in.h instead.
16246
16247 2011-05-19  Eric Blake  <eblake@redhat.com>
16248
16249         strerror: relax test for Solaris
16250         * tests/test-strerror.c (main): Permit Solaris behavior.
16251         * tests/test-strerror_r.c (main): Likewise.
16252
16253         strerror: enforce POSIX ruling on strerror(0)
16254         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16255         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16256         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16257         * doc/posix-functions/strerror.texi (strerror): Document it.
16258         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16259         * tests/test-strerror.c (main): Strengthen test.
16260         * tests/test-strerror_r.c (main): Likewise.
16261
16262 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16263
16264         intprop-tests: port to older and more-pedantic compilers
16265         * modules/intprops-tests (Files): Add tests/macros.h.
16266         * tests/test-intprops.c: Include macros.h.
16267         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16268         it's no longer documented to expand to an integer constant expression.
16269         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16270         argument is floating point, as it's no longer documented to expand
16271         to an integer constant expression in that case.
16272         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16273         compiler bugs reported by Bruno Haible.  See
16274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16275         (U0, U1): New constants, to work around the same bugs.  Also,
16276         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16277
16278         intprops: work around C compiler bugs
16279         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16280         bug in Sun C 5.11 2010/08/13 and other compilers; see
16281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16282
16283         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16284         * doc/intprops.texi (Integer Type Determination): Fix
16285         documentation for TYPE_IS_INTEGER: it returns an constant
16286         expression, not an integer constant expression.  Fix doc for
16287         TYPE_SIGNED: it returns an integer constant expression only if its
16288         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16289         hardly worth documented that way....)
16290
16291 2011-05-18  Bruno Haible  <bruno@clisp.org>
16292
16293         strerror_r: Avoid clobbering the strerror buffer when possible.
16294         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16295         Handle gnulib defined errno values here. When strerror() returns NULL
16296         or an empty string, return EINVAL.
16297         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16298         gnulib defined errno values here.
16299         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16300
16301 2011-05-18  Eric Blake  <eblake@redhat.com>
16302
16303         fnmatch: avoid compiler warning
16304         * lib/fnmatch_loop.c (FCT): Use correct type.
16305         Reported by Matthias Bolte.
16306
16307 2011-05-13  Jim Meyering  <meyering@redhat.com>
16308
16309         maint.mk: three new prohibit_<HDR>_without_use rules
16310         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16311         (sc_prohibit_stdio-safer_without_use): Likewise.
16312         (sc_prohibit_xfreopen_without_use): Likewise.
16313
16314 2011-05-17  Jim Meyering  <meyering@redhat.com>
16315
16316         announce-gen: fail if the NEWS delta is empty
16317         If there's nothing noteworthy in NEWS, then either you forgot
16318         or you shouldn't be releasing.
16319         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16320
16321 2011-05-17  Pádraig Brady <P@draigBrady.com>
16322
16323         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16324         reserved symbols starting with double underscore from the check.
16325
16326 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16327
16328         intprops: add doc
16329         * doc/intprops.texi: New file, documenting intprops.
16330         * doc/gnulib.texi (Particular Modules): Include it.
16331
16332         verify: add doc to gnulib manual and fix example
16333         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16334         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16335         (Compile-time Assertions): Fix example so it can't overflow.
16336
16337 2011-05-17  Jim Meyering  <meyering@redhat.com>
16338
16339         warnings.m4: don't usurp save_CPPFLAGS variable name
16340         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16341
16342         doc: fix typo
16343         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16344
16345 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16346             Bruno Haible  <bruno@clisp.org>
16347
16348         doc: Tweak recent change.
16349         * README (Portability guidelines): Tweak new text.
16350         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16351         Interix 6.1.
16352
16353 2011-05-16  Eric Blake  <eblake@redhat.com>
16354
16355         inttypes: avoid autoconf warning
16356         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16357         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16358
16359 2011-05-16  Sam Steingold <sds@gnu.org>
16360         and Eric Blake  <eblake@redhat.com>
16361
16362         vc-list-files: accept multiple directory operands
16363         * build-aux/vc-list-files: Iterate over all remaining operands.
16364
16365 2011-05-16  Bruno Haible  <bruno@clisp.org>
16366
16367         Fix confusion regarding deprecated modules.
16368         * modules/calloc (Status, Notice): Mark module as deprecated, not
16369         obsolete.
16370         * modules/fnmatch-posix (Status, Notice): Likewise.
16371         * modules/getdate (Status, Notice): Likewise.
16372         * modules/getopt (Status, Notice): Likewise.
16373         * modules/malloc (Status, Notice): Likewise.
16374         * modules/pipe (Status, Notice): Likewise.
16375         * modules/realloc (Status, Notice): Likewise.
16376         * modules/rename-dest-slash (Status, Notice): Likewise.
16377         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16378         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16379         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16380         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16381         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16382
16383 2011-05-16  Bruno Haible  <bruno@clisp.org>
16384
16385         doc: List the target platforms.
16386         * doc/gnulib-intro.texi (Target Platforms): New section.
16387         * doc/gnulib.texi (Introduction): Update menu.
16388         * README (Portability guidelines): Refer to the new section. Update
16389         statement about oldest supported environment. Remove rationale why
16390         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16391         unportable C89 function.
16392         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16393         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
16394
16395 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16396
16397         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
16398
16399 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16400
16401         intprops-tests: new module
16402         * modules/intprops-tests, tests/test-intprops.c: New files.
16403
16404         intprops: add safe, portable integer overflow checking
16405         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
16406         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
16407         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
16408         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
16409         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
16410         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
16411         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
16412         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
16413         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
16414         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
16415         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
16416
16417 2011-05-12  James Youngman  <jay@gnu.org>
16418
16419         Add a test for glibc's Bugzilla bug #12378.
16420         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
16421         doesn't allow the literal matching of a lone "[" (which is
16422         required by POSIX).
16423         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
16424
16425 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
16426
16427         Sync glibc change fixing Bugzilla bug #12378.
16428         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
16429         beginning and fall back to matching as normal character if the
16430         string ends before the matching ']' is found.  This is what POSIX
16431         requires.
16432
16433 2011-05-13  Eric Blake  <eblake@redhat.com>
16434
16435         getcwd-lgpl: relax test for FreeBSD
16436         * doc/posix-functions/getcwd.texi (getcwd): Document portability
16437         issue.
16438         * tests/test-getcwd-lgpl.c (main): Relax test.
16439         Reported by Matthias Bolte.
16440
16441 2011-05-11  Eric Blake  <eblake@redhat.com>
16442
16443         test-fflush: silence compiler warning
16444         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
16445
16446 2011-05-11  Bruno Haible  <bruno@clisp.org>
16447
16448         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
16449         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
16450         * modules/canonicalize (Depends-on): Add 'nocrash'.
16451         * modules/canonicalize-lgpl (Depends-on): Likewise.
16452         * doc/posix-functions/realpath.texi: Update platforms list.
16453         Reported by Ryan Schmidt <ryandesign@macports.org>.
16454
16455 2011-05-11  Bruno Haible  <bruno@clisp.org>
16456
16457         group-member: Declare function in <unistd.h>.
16458         * lib/unistd.in.h (group_member): New declaration.
16459         * lib/group-member.h: Remove file.
16460         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
16461         * tests/test-unistd-c++.cc: Check signature of group_member.
16462         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
16463         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
16464         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
16465         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
16466         HAVE_GROUP_MEMBER.
16467         * modules/group-member (Files): Remove lib/group-member.h.
16468         (Depends-on): Add unistd. Specify conditions.
16469         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16470         (Include): Change to <unistd.h>.
16471         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
16472         HAVE_GROUP_MEMBER.
16473         * NEWS: Mention the change.
16474         * lib/euidaccess.c: Don't include group-member.h.
16475
16476 2011-05-11  Bruno Haible  <bruno@clisp.org>
16477
16478         group-member: Document module.
16479         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
16480         module.
16481
16482 2011-05-11  Bruno Haible  <bruno@clisp.org>
16483
16484         fclose: Fix mistake earlier today.
16485         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
16486
16487 2011-05-11  Eric Blake  <eblake@redhat.com>
16488
16489         fclose: preserve fflush errors
16490         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
16491         Reported by Jim Meyering.
16492
16493         bootstrap: support a prereq of 'rpcgen -' on RHEL5
16494         * build-aux/bootstrap (check_versions): When no specific version
16495         is required, merely check that the app produces an exit status
16496         that indicates its existence.
16497
16498         maint.mk: drop redundant check
16499         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
16500         the same but better.
16501
16502 2011-05-11  Bruno Haible  <bruno@clisp.org>
16503
16504         fclose: Fix possible link error.
16505         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
16506         unregister_shadow_fd. Improve comments.
16507         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
16508         Eric Blake.
16509
16510 2011-05-11  Jim Meyering  <meyering@redhat.com>
16511
16512         maint.mk: improve "can not" detection and generalize rule name
16513         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
16514         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
16515         Use the same technique as in sc_prohibit_doubled_word, so that
16516         we recognize "can not" also when the words are separated by a newline.
16517         Suggested by Eric Blake.
16518         (perl_filename_lineno_text_): Define.  Factored out of...
16519         (prohibit_doubled_word_): ...here.  Use the new definition.
16520         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
16521         (prohibit_undesirable_word_seq_RE_): New overridable variable.
16522         (ignore_undesirable_word_sequence_RE_): New overridable variable.
16523
16524 2011-05-10  Eric Blake  <eblake@redhat.com>
16525
16526         fclose: avoid double close race when possible
16527         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
16528         all but WINDOWS_SOCKETS.
16529
16530 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
16531
16532         openat: correct new comment
16533         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16534
16535 2011-05-10  Jim Meyering  <meyering@redhat.com>
16536
16537         openat: add comments
16538         * lib/openat-proc.c (openat_proc_name): Add comments,
16539         mostly from Eric Blake.
16540
16541 2011-05-09  Eric Blake  <eblake@redhat.com>
16542
16543         openat: reduce syscalls in first probe of /proc
16544         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16545         be a directory.  Simplify the probe for .. bugs.
16546         * modules/openat (Depends-on): Drop same-inode.
16547         Reported by Bastien ROUCARIES.
16548
16549 2011-05-09  Jim Meyering  <meyering@redhat.com>
16550
16551         maint.mk: change semantics/name of tight_scope variables
16552         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16553         Rename variables to align with semantics that make them more useful.
16554
16555         maint.mk: tweak new rule's name not to impinge
16556         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16557         (sc_tight_scope): Use new rule name rather than $@-0.
16558
16559         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16560         * top/maint.mk (sc_tight_scope): New rule.
16561         (sc_tight_scope-0): New rule, ifdef'd out.
16562         (_gl_TS_dir): Default.
16563         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16564         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16565
16566 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16567
16568         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16569         Haible <bruno@clisp.org>.
16570
16571 2011-05-08  Bruno Haible  <bruno@clisp.org>
16572
16573         Comments.
16574         * m4/isnanf.m4: Add comment.
16575         * m4/isnanl.m4: Likewise.
16576
16577 2011-05-08  Bruno Haible  <bruno@clisp.org>
16578
16579         glob: Remove obsolete macro.
16580         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16581
16582 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16583
16584         intprops: Sun C 5.11 supports __typeof__
16585         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16586         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16587         which is new.
16588         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16589
16590         intprops: switch to usual gnulib indenting and naming
16591         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16592         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16593
16594         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16595
16596 2011-05-08  Jim Meyering  <meyering@redhat.com>
16597
16598         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16599         * top/maint.mk (release-prep): Use make's --no-print-directory
16600         option when generating the announcement.  This eliminates the
16601         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16602         generated announcement template.
16603
16604 2011-05-08  Bruno Haible  <bruno@clisp.org>
16605
16606         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16607         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16608         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16609
16610 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16611
16612         ignore-value, verify: Omit include files from lib_SOURCES.
16613         * modules/ignore-value, modules/verify (Makefile.am):
16614         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16615         that leads Automake to duplicate use of am__objects_... variables
16616         in Makefile.in.  See
16617         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16618
16619 2011-05-07  Bruno Haible  <bruno@clisp.org>
16620
16621         fclose: Simplify autoconf macro.
16622         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16623         defined.
16624
16625 2011-05-07  Bruno Haible  <bruno@clisp.org>
16626
16627         canonicalize-lgpl: Fix autoconf macro ordering bug.
16628         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16629         gl_STDLIB_H_DEFAULTS.
16630
16631 2011-05-06  Eric Blake  <eblake@redhat.com>
16632
16633         maintainer-makefile: make sc_po_check easier to tune
16634         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16635         to probe for strings, such as an alternate location for gnulib.
16636
16637         fclose: guarantee behavior on seekable stdin
16638         * modules/fclose (Depends-on): Add fflush.
16639         * doc/posix-functions/fclose.texi (fclose): Document this.
16640         * tests/test-fclose.c (main): Make test for this unconditional.
16641
16642 2011-05-06  Bruno Haible  <bruno@clisp.org>
16643
16644         fflush, fpurge: Relicense under LGPLv2+.
16645         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16646         * modules/fpurge (License): Likewise.
16647         With permission from Eric Blake and Jim Meyering.
16648         Suggested by Eric Blake.
16649
16650 2011-05-06  Karl Berry  <karl@gnu.org>
16651
16652         * MODULES.html.sh (func_all_modules): remove exit.
16653
16654 2011-05-06  Jim Meyering  <meyering@redhat.com>
16655
16656         maint.mk: use info-gnu@ as the default only for a stable release
16657         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16658         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16659         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16660         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16661
16662 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16663
16664         assert-h: new module, which supports C1X-style static_assert
16665         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16666         * lib/verify.h: Revamp so that this can be copied into assert.h,
16667         while retaining the ability to use it standalone as before.
16668         Rename private identifiers so as not to encroach on the
16669         standard C namespace, since this is now used by assert.h.
16670         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16671         the old verify_true.
16672         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16673         the old verify_true.  Use _GL_VERIFY_TYPE.
16674         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16675         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16676         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16677         defined when this file is copied into the replacement assert.h.
16678         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16679         and _Static_assert is not built in.
16680         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16681         defined, and use the new macros mentioned above.
16682         * doc/posix-headers/assert.texi: Document this.
16683
16684 2011-05-05  Bruno Haible  <bruno@clisp.org>
16685
16686         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16687         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16688         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16689         gl_REPLACE_FCLOSE here.
16690         * modules/fflush (Depends-on): Remove fclose.
16691         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16692         combination with module 'fclose'.
16693
16694 2011-05-05  Bruno Haible  <bruno@clisp.org>
16695
16696         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16697         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16698         gl_FUNC_FFLUSH.
16699         (gl_FUNC_FFLUSH): Use it.
16700         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16701         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16702         gl_REPLACE_FSEEKO here.
16703
16704 2011-05-05  Bruno Haible  <bruno@clisp.org>
16705
16706         tzset: Relicense under LGPL.
16707         * modules/tzset (License): Change to LGPL.
16708         No agreement needed; it's a no-op.
16709
16710         strtoimax, strtoumax: Relicense under LGPL.
16711         * modules/strtoimax (License): Change to LGPL.
16712         * modules/strtoumax (License): Likewise.
16713         With permission from Jim Meyering, Paul Eggert:
16714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16716
16717         getgroups: Relicense under LGPL.
16718         * modules/getgroups (License): Change to LGPL.
16719         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16721         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16722         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16723
16724         nanosleep: Relicense under LGPL.
16725         * modules/nanosleep (License): Change to LGPL.
16726         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16727         Haible:
16728         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16732
16733         futimens: Relicense under LGPL.
16734         * modules/futimens (License): Change to LGPL.
16735         With permission from Eric Blake:
16736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16737
16738         fflush: Relicense under LGPL.
16739         * modules/fflush (License): Change to LGPL.
16740         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16741         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16742         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16744
16745         tmpfile: Relicense under LGPL.
16746         * modules/tmpfile (License): Change to LGPL.
16747         With permission from Ben Pfaff:
16748         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16749
16750         isfinite: Relicense under LGPL.
16751         * modules/isfinite (License): Change to LGPL.
16752         With permission from Ben Pfaff, Bruno Haible:
16753         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16754         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16755
16756         acosl..tanl: Relicense under LGPL.
16757         * modules/acosl (License): Change to LGPL.
16758         * modules/asinl (License): Likewise.
16759         * modules/atanl (License): Likewise.
16760         * modules/cosl (License): Likewise.
16761         * modules/expl (License): Likewise.
16762         * modules/logl (License): Likewise.
16763         * modules/sinl (License): Likewise.
16764         * modules/sqrtl (License): Likewise.
16765         * modules/tanl (License): Likewise.
16766         Source code originally from glibc and Paolo Bonzini. Agreements:
16767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16769
16770 2011-05-05  Bruno Haible  <bruno@clisp.org>
16771
16772         signal: Define sighandler_t.
16773         * lib/signal.in.h (sighandler_t): New type.
16774         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16775         whether sighandler_t is defined.
16776         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16777         * modules/signal (Depends-on): Add extensions.
16778         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16779         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16780         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16781
16782 2011-05-05  Eric Blake  <eblake@redhat.com>
16783
16784         maint: remove useless REPLACE_*_H macros
16785         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16786         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16787         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16788         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16789         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16790         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16791         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16792         * m4/btowc.m4: Update callers.
16793         * m4/dirfd.m4: Likewise.
16794         * m4/duplocale.m4: Likewise.
16795         * m4/fchdir.m4: Likewise.
16796         * m4/fdopendir.m4: Likewise.
16797         * m4/inet_ntop.m4: Likewise.
16798         * m4/inet_pton.m4: Likewise.
16799         * m4/ioctl.m4: Likewise.
16800         * m4/mbrlen.m4: Likewise.
16801         * m4/mbrtowc.m4: Likewise.
16802         * m4/mbsinit.m4: Likewise.
16803         * m4/mbsnrtowcs.m4: Likewise.
16804         * m4/mbsrtowcs.m4: Likewise.
16805         * m4/poll.m4: Likewise.
16806         * m4/setlocale.m4: Likewise.
16807         * m4/wcrtomb.m4: Likewise.
16808         * m4/wcsnrtombs.m4: Likewise.
16809         * m4/wcsrtombs.m4: Likewise.
16810         * m4/wctob.m4: Likewise.
16811         * m4/wcwidth.m4: Likewise.
16812         * modules/posix_spawn: Likewise.
16813         * modules/posix_spawn_file_actions_addclose: Likewise.
16814         * modules/posix_spawn_file_actions_adddup2: Likewise.
16815         * modules/posix_spawn_file_actions_addopen: Likewise.
16816         * modules/posix_spawn_file_actions_destroy: Likewise.
16817         * modules/posix_spawn_file_actions_init: Likewise.
16818         * modules/posix_spawnattr_destroy: Likewise.
16819         * modules/posix_spawnattr_getflags: Likewise.
16820         * modules/posix_spawnattr_getpgroup: Likewise.
16821         * modules/posix_spawnattr_getschedparam: Likewise.
16822         * modules/posix_spawnattr_getschedpolicy: Likewise.
16823         * modules/posix_spawnattr_getsigdefault: Likewise.
16824         * modules/posix_spawnattr_getsigmask: Likewise.
16825         * modules/posix_spawnattr_init: Likewise.
16826         * modules/posix_spawnattr_setflags: Likewise.
16827         * modules/posix_spawnattr_setpgroup: Likewise.
16828         * modules/posix_spawnattr_setschedparam: Likewise.
16829         * modules/posix_spawnattr_setschedpolicy: Likewise.
16830         * modules/posix_spawnattr_setsigdefault: Likewise.
16831         * modules/posix_spawnattr_setsigmask: Likewise.
16832         * modules/posix_spawnp: Likewise.
16833
16834 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16835
16836         Add option to do-release-commit-and-tag to specify branch.
16837         * build-aux/do-release-commit-and-tag: Add --branch.
16838
16839 2011-05-03  Bruno Haible  <bruno@clisp.org>
16840
16841         Avoid unnecessary compilation units, through conditional dependencies.
16842         * modules/accept (Depends-on): Add conditions to the dependencies.
16843         * modules/acosl (Depends-on): Likewise.
16844         * modules/argz (Depends-on): Likewise.
16845         * modules/asinl (Depends-on): Likewise.
16846         * modules/atanl (Depends-on): Likewise.
16847         * modules/atoll (Depends-on): Likewise.
16848         * modules/bind (Depends-on): Likewise.
16849         * modules/btowc (Depends-on): Likewise.
16850         * modules/canonicalize-lgpl (Depends-on): Likewise.
16851         * modules/ceil (Depends-on): Likewise.
16852         * modules/ceilf (Depends-on): Likewise.
16853         * modules/ceill (Depends-on): Likewise.
16854         * modules/chdir-long (Depends-on): Likewise.
16855         * modules/chown (Depends-on): Likewise.
16856         * modules/close (Depends-on): Likewise.
16857         * modules/connect (Depends-on): Likewise.
16858         * modules/cosl (Depends-on): Likewise.
16859         * modules/dirfd (Depends-on): Likewise.
16860         * modules/dprintf (Depends-on): Likewise.
16861         * modules/dprintf-posix (Depends-on): Likewise.
16862         * modules/error (Depends-on): Likewise.
16863         * modules/euidaccess (Depends-on): Likewise.
16864         * modules/expl (Depends-on): Likewise.
16865         * modules/faccessat (Depends-on): Likewise.
16866         * modules/fchdir (Depends-on): Likewise.
16867         * modules/fclose (Depends-on): Likewise.
16868         * modules/fcntl (Depends-on): Likewise.
16869         * modules/fdopendir (Depends-on): Likewise.
16870         * modules/fflush (Depends-on): Likewise.
16871         * modules/floor (Depends-on): Likewise.
16872         * modules/floorf (Depends-on): Likewise.
16873         * modules/floorl (Depends-on): Likewise.
16874         * modules/fnmatch (Depends-on): Likewise.
16875         * modules/fopen (Depends-on): Likewise.
16876         * modules/fprintf-posix (Depends-on): Likewise.
16877         * modules/frexp (Depends-on): Likewise.
16878         * modules/frexp-nolibm (Depends-on): Likewise.
16879         * modules/frexpl (Depends-on): Likewise.
16880         * modules/frexpl-nolibm (Depends-on): Likewise.
16881         * modules/fseek (Depends-on): Likewise.
16882         * modules/fsusage (Depends-on): Likewise.
16883         * modules/ftell (Depends-on): Likewise.
16884         * modules/ftello (Depends-on): Likewise.
16885         * modules/futimens (Depends-on): Likewise.
16886         * modules/getcwd (Depends-on): Likewise.
16887         * modules/getcwd-lgpl (Depends-on): Likewise.
16888         * modules/getdelim (Depends-on): Likewise.
16889         * modules/getdomainname (Depends-on): Likewise.
16890         * modules/getgroups (Depends-on): Likewise.
16891         * modules/gethostname (Depends-on): Likewise.
16892         * modules/getline (Depends-on): Likewise.
16893         * modules/getlogin_r (Depends-on): Likewise.
16894         * modules/getopt-posix (Depends-on): Likewise.
16895         * modules/getpeername (Depends-on): Likewise.
16896         * modules/getsockname (Depends-on): Likewise.
16897         * modules/getsockopt (Depends-on): Likewise.
16898         * modules/getsubopt (Depends-on): Likewise.
16899         * modules/getusershell (Depends-on): Likewise.
16900         * modules/glob (Depends-on): Likewise.
16901         * modules/grantpt (Depends-on): Likewise.
16902         * modules/iconv_open (Depends-on): Likewise.
16903         * modules/iconv_open-utf (Depends-on): Likewise.
16904         * modules/inet_ntop (Depends-on): Likewise.
16905         * modules/inet_pton (Depends-on): Likewise.
16906         * modules/ioctl (Depends-on): Likewise.
16907         * modules/isapipe (Depends-on): Likewise.
16908         * modules/isfinite (Depends-on): Likewise.
16909         * modules/isinf (Depends-on): Likewise.
16910         * modules/lchown (Depends-on): Likewise.
16911         * modules/ldexpl (Depends-on): Likewise.
16912         * modules/link (Depends-on): Likewise.
16913         * modules/linkat (Depends-on): Likewise.
16914         * modules/listen (Depends-on): Likewise.
16915         * modules/logl (Depends-on): Likewise.
16916         * modules/lstat (Depends-on): Likewise.
16917         * modules/mbrlen (Depends-on): Likewise.
16918         * modules/mbrtowc (Depends-on): Likewise.
16919         * modules/mbsinit (Depends-on): Likewise.
16920         * modules/mbsnrtowcs (Depends-on): Likewise.
16921         * modules/mbsrtowcs (Depends-on): Likewise.
16922         * modules/mbtowc (Depends-on): Likewise.
16923         * modules/memcmp (Depends-on): Likewise.
16924         * modules/mkdir (Depends-on): Likewise.
16925         * modules/mkdtemp (Depends-on): Likewise.
16926         * modules/mkfifo (Depends-on): Likewise.
16927         * modules/mkfifoat (Depends-on): Likewise.
16928         * modules/mknod (Depends-on): Likewise.
16929         * modules/mkostemp (Depends-on): Likewise.
16930         * modules/mkostemps (Depends-on): Likewise.
16931         * modules/mkstemp (Depends-on): Likewise.
16932         * modules/mkstemps (Depends-on): Likewise.
16933         * modules/mktime (Depends-on): Likewise.
16934         * modules/nanosleep (Depends-on): Likewise.
16935         * modules/open (Depends-on): Likewise.
16936         * modules/openat (Depends-on): Likewise.
16937         * modules/perror (Depends-on): Likewise.
16938         * modules/poll (Depends-on): Likewise.
16939         * modules/popen (Depends-on): Likewise.
16940         * modules/posix_spawn (Depends-on): Likewise.
16941         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
16942         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16943         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16944         * modules/posix_spawnp (Depends-on): Likewise.
16945         * modules/pread (Depends-on): Likewise.
16946         * modules/printf-posix (Depends-on): Likewise.
16947         * modules/ptsname (Depends-on): Likewise.
16948         * modules/putenv (Depends-on): Likewise.
16949         * modules/pwrite (Depends-on): Likewise.
16950         * modules/readline (Depends-on): Likewise.
16951         * modules/readlink (Depends-on): Likewise.
16952         * modules/readlinkat (Depends-on): Likewise.
16953         * modules/recv (Depends-on): Likewise.
16954         * modules/recvfrom (Depends-on): Likewise.
16955         * modules/regex (Depends-on): Likewise.
16956         * modules/remove (Depends-on): Likewise.
16957         * modules/rename (Depends-on): Likewise.
16958         * modules/renameat (Depends-on): Likewise.
16959         * modules/rmdir (Depends-on): Likewise.
16960         * modules/round (Depends-on): Likewise.
16961         * modules/roundf (Depends-on): Likewise.
16962         * modules/roundl (Depends-on): Likewise.
16963         * modules/rpmatch (Depends-on): Likewise.
16964         * modules/select (Depends-on): Likewise.
16965         * modules/send (Depends-on): Likewise.
16966         * modules/sendto (Depends-on): Likewise.
16967         * modules/setenv (Depends-on): Likewise.
16968         * modules/setlocale (Depends-on): Likewise.
16969         * modules/setsockopt (Depends-on): Likewise.
16970         * modules/shutdown (Depends-on): Likewise.
16971         * modules/sigaction (Depends-on): Likewise.
16972         * modules/signbit (Depends-on): Likewise.
16973         * modules/sigprocmask (Depends-on): Likewise.
16974         * modules/sinl (Depends-on): Likewise.
16975         * modules/sleep (Depends-on): Likewise.
16976         * modules/snprintf (Depends-on): Likewise.
16977         * modules/snprintf-posix (Depends-on): Likewise.
16978         * modules/socket (Depends-on): Likewise.
16979         * modules/sprintf-posix (Depends-on): Likewise.
16980         * modules/sqrtl (Depends-on): Likewise.
16981         * modules/stat (Depends-on): Likewise.
16982         * modules/strchrnul (Depends-on): Likewise.
16983         * modules/strdup-posix (Depends-on): Likewise.
16984         * modules/strerror (Depends-on): Likewise.
16985         * modules/strerror_r-posix (Depends-on): Likewise.
16986         * modules/strndup (Depends-on): Likewise.
16987         * modules/strnlen (Depends-on): Likewise.
16988         * modules/strptime (Depends-on): Likewise.
16989         * modules/strsep (Depends-on): Likewise.
16990         * modules/strsignal (Depends-on): Likewise.
16991         * modules/strstr-simple (Depends-on): Likewise.
16992         * modules/strtod (Depends-on): Likewise.
16993         * modules/strtoimax (Depends-on): Likewise.
16994         * modules/strtok_r (Depends-on): Likewise.
16995         * modules/strtoumax (Depends-on): Likewise.
16996         * modules/symlink (Depends-on): Likewise.
16997         * modules/symlinkat (Depends-on): Likewise.
16998         * modules/tanl (Depends-on): Likewise.
16999         * modules/tcgetsid (Depends-on): Likewise.
17000         * modules/tmpfile (Depends-on): Likewise.
17001         * modules/trunc (Depends-on): Likewise.
17002         * modules/truncf (Depends-on): Likewise.
17003         * modules/truncl (Depends-on): Likewise.
17004         * modules/uname (Depends-on): Likewise.
17005         * modules/unlink (Depends-on): Likewise.
17006         * modules/unlockpt (Depends-on): Likewise.
17007         * modules/unsetenv (Depends-on): Likewise.
17008         * modules/usleep (Depends-on): Likewise.
17009         * modules/utimensat (Depends-on): Likewise.
17010         * modules/vasprintf (Depends-on): Likewise.
17011         * modules/vdprintf (Depends-on): Likewise.
17012         * modules/vdprintf-posix (Depends-on): Likewise.
17013         * modules/vfprintf-posix (Depends-on): Likewise.
17014         * modules/vprintf-posix (Depends-on): Likewise.
17015         * modules/vsnprintf (Depends-on): Likewise.
17016         * modules/vsnprintf-posix (Depends-on): Likewise.
17017         * modules/vsprintf-posix (Depends-on): Likewise.
17018         * modules/wcrtomb (Depends-on): Likewise.
17019         * modules/wcscasecmp (Depends-on): Likewise.
17020         * modules/wcscspn (Depends-on): Likewise.
17021         * modules/wcsdup (Depends-on): Likewise.
17022         * modules/wcsncasecmp (Depends-on): Likewise.
17023         * modules/wcsnrtombs (Depends-on): Likewise.
17024         * modules/wcspbrk (Depends-on): Likewise.
17025         * modules/wcsrtombs (Depends-on): Likewise.
17026         * modules/wcsspn (Depends-on): Likewise.
17027         * modules/wcsstr (Depends-on): Likewise.
17028         * modules/wcstok (Depends-on): Likewise.
17029         * modules/wcswidth (Depends-on): Likewise.
17030         * modules/wctob (Depends-on): Likewise.
17031         * modules/wctomb (Depends-on): Likewise.
17032         * modules/wctype (Depends-on): Likewise.
17033         * modules/wcwidth (Depends-on): Likewise.
17034         * modules/write (Depends-on): Likewise.
17035
17036 2011-05-03  Bruno Haible  <bruno@clisp.org>
17037
17038         Support for conditional dependencies.
17039         * doc/gnulib.texi (Module description): Document the syntax of
17040         conditional dependencies.
17041         * gnulib-tool: New option --conditional-dependencies.
17042         (func_usage): Document it.
17043         (cond_dependencies): New variable.
17044         (func_get_automake_snippet_conditional,
17045         func_get_automake_snippet_unconditional): New functions, extracted from
17046         func_get_automake_snippet.
17047         (func_get_automake_snippet): Use them.
17048         (sed_first_32_chars): New variable.
17049         (func_module_shellfunc_name): New function.
17050         (func_module_shellvar_name): New function.
17051         (func_module_conditional_name): New function.
17052         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17053         func_cond_module_condition): New functions.
17054         (func_modules_transitive_closure): Add support for conditional
17055         dependencies.
17056         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17057         conditional automake snippet in an automake conditional.
17058         (func_emit_autoconf_snippets): Emit shell functions that contain the
17059         code for conditional modules.
17060         (func_import, func_create_testdir): Update specification.
17061
17062 2011-05-03  Eric Blake  <eblake@redhat.com>
17063
17064         test-getaddrinfo: report error information
17065         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17066
17067 2011-05-03  Jim Meyering  <meyering@redhat.com>
17068
17069         bootstrap: avoid build failure when $GZIP is set
17070         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17071         program name.  If defined at all, it is supposed to list gzip options.
17072         Reported by Alan Curry in http://debbugs.gnu.org/8609
17073
17074 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17075
17076         readme-release: new module with release instructions
17077         * modules/readme-release: New module.
17078         * top/README-release: New file, from coreutils, grep, diffutils.
17079         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17080
17081 2011-05-02  Eric Blake  <eblake@redhat.com>
17082
17083         fflush: also replace fclose when fixing fflush
17084         * modules/fflush (Depends-on): Add fclose.
17085         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17086         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17087         memstreams with no backing fd.
17088         * doc/posix-functions/fclose.texi (fclose): Document the use of
17089         fflush module to fix the bug.
17090         * tests/test-fclose.c (main): Relax test when fclose is used in
17091         isolation.
17092
17093         fclose: add some tests
17094         * modules/fclose-tests: New test module.
17095         * tests/test-fclose.c: New file.
17096         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17097
17098         fclose: reduced dependencies
17099         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17100         simpler lseek.
17101         * lib/fclose.c (rpl_fclose): Likewise.
17102         Reported by Simon Josefsson.
17103
17104         exit: drop remaining clients
17105         * modules/argmatch (Depends-on): Replace exit with stdlib.
17106         * modules/copy-file (Depends-on): Likewise.
17107         * modules/execute (Depends-on): Likewise.
17108         * modules/exitfail (Depends-on): Likewise.
17109         * modules/obstack (Depends-on): Likewise.
17110         * modules/pagealign_alloc (Depends-on): Likewise.
17111         * modules/pipe-filter-gi (Depends-on): Likewise.
17112         * modules/pipe-filter-ii (Depends-on): Likewise.
17113         * modules/savewd (Depends-on): Likewise.
17114         * modules/spawn-pipe (Depends-on): Likewise.
17115         * modules/wait-process (Depends-on): Likewise.
17116         * modules/xsetenv (Depends-on): Likewise.
17117         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17118         * modules/git-merge-changelog (Depends-on): Likewise.
17119         * modules/long-options (Depends-on): Likewise.
17120         * modules/pt_chown (Depends-on): Likewise.
17121         * modules/sysexits (Depends-on): Likewise.
17122
17123         freading: relax license from LGPLv3+ to LGPLv2+
17124         * modules/freading (License): Relax LGPL version.
17125
17126 2011-05-02  Bruno Haible  <bruno@clisp.org>
17127
17128         fchdir: Remove unused dependencies.
17129         * modules/fchdir (Depends-on): Remove include_next.
17130
17131 2011-05-02  Bruno Haible  <bruno@clisp.org>
17132
17133         gnulib-tool: Refactor.
17134         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17135         from func_emit_autoconf_snippets.
17136         (func_emit_autoconf_snippets): Use it.
17137
17138 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17139
17140         * NEWS: Document removal of 'exit'.
17141         * modules/exit: Remove file.
17142
17143 2011-05-01  Bruno Haible  <bruno@clisp.org>
17144
17145         Update DEPENDENCIES.
17146         * DEPENDENCIES (gettext): Recommend the newest release.
17147         Reported by Simon Josefsson.
17148
17149 2011-05-01  Bruno Haible  <bruno@clisp.org>
17150
17151         gnulib-tool: Reduce code duplication.
17152         * gnulib-tool (func_emit_autoconf_snippets): New function.
17153         (func_import, func_create_testdir): Use it.
17154
17155 2011-04-30  Eric Blake  <eblake@redhat.com>
17156
17157         fclose: don't fail on non-seekable input stream
17158         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17159         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17160         since fflush is allowed to fail in that case.
17161
17162 2011-04-30  Bruno Haible  <bruno@clisp.org>
17163
17164         dup3: cleanup
17165         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17166
17167 2011-04-30  Bruno Haible  <bruno@clisp.org>
17168
17169         netdb: Make it work in C++ mode.
17170         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17171         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17172         module.
17173         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17174         gl_MODULE_INDICATOR_FOR_TESTS.
17175         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17176         * modules/netdb-c++-tests: New file.
17177         * tests/test-netdb-c++.cc: New file.
17178
17179 2011-04-30  Bruno Haible  <bruno@clisp.org>
17180
17181         New modules 'vfscanf', 'vscanf'.
17182         * modules/vfscanf: New file.
17183         * modules/vscanf: New file.
17184         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17185         here.
17186         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17187         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17188
17189 2011-04-30  Bruno Haible  <bruno@clisp.org>
17190
17191         passfd: Add comments.
17192         * lib/passfd.c: Add comments about platforms.
17193
17194 2011-04-30  Bruno Haible  <bruno@clisp.org>
17195
17196         sys_uio: Make <sys/uio.h> self-contained.
17197         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17198         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17199
17200 2011-04-30  Bruno Haible  <bruno@clisp.org>
17201
17202         sys_socket: Ensure 'struct iovec' definition.
17203         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17204         <sys/socket.h>.
17205         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17206
17207 2011-04-30  Bruno Haible  <bruno@clisp.org>
17208
17209         sys_uio: Protect definition of 'struct iovec'.
17210         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17211         it as a C struct.
17212
17213 2011-04-30  Bruno Haible  <bruno@clisp.org>
17214
17215         manywarnings: fix indentation
17216         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17217
17218 2011-04-30  Pádraig Brady <P@draigBrady.com>
17219
17220         manywarnings: add -Wno-missing-field-initializers if needed.
17221         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17222         option if it's needed to allow initialization with { 0, }
17223
17224 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17225
17226         announce-gen: cosmetic improvement
17227         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17228
17229 2011-04-29  Jim Meyering  <meyering@redhat.com>
17230
17231         vc-list-files: indent with spaces, not TABs
17232         * build-aux/vc-list-files: Convert leading TABs to spaces,
17233         to match the style of most other files in gnulib.
17234
17235         announce-gen: indent with spaces, not TABs
17236         * build-aux/announce-gen: Convert all TABs to spaces, to match
17237         the style of most other files in gnulib.
17238
17239 2011-04-29  Eric Blake  <eblake@redhat.com>
17240
17241         quotearg: avoid uninitialized variable use
17242         * lib/quotearg.c (quoting_options_from_style): Initialize
17243         remaining fields, and ensure that custom styles are only used via
17244         quoting_options rather than quoting_style.
17245
17246 2011-04-29  Jim Meyering  <meyering@redhat.com>
17247
17248         maint.mk: remove unused VC-tag variable
17249         * top/maint.mk (VC-tag): Remove unused variable.
17250
17251 2011-04-29  Bruno Haible  <bruno@clisp.org>
17252
17253         netdb: fix gai_strerror replacements
17254         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17255         * modules/netdb: Substitute it.
17256
17257 2011-04-29  Jim Meyering  <meyering@redhat.com>
17258
17259         test-getcwd.c: avoid new set-but-not-used warning
17260         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17261         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17262         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17263         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17264
17265         test-hash.c: avoid a new shadowing warning
17266         * tests/test-hash.c (main): Don't shadow "dup".
17267
17268 2011-04-28  Eric Blake  <eblake@redhat.com>
17269
17270         getaddrinfo: fix gai_strerror signature
17271         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17272         and work around mingw with UNICODE defined.
17273         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17274         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17275         * modules/netdb (Makefile.am): Substitute it.
17276         * lib/netdb.in.h (gai_strerror): Declare replacement.
17277         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17278         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17279         the fix.
17280
17281         getsockopt: avoid compiler warning
17282         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17283         Reported by Matthias Bolte.
17284
17285         tests: drop unused link dependency
17286         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17287         * modules/dirent-safer-tests (Makefile.am): Likewise.
17288         * modules/fdopendir-tests (Makefile.am): Likewise.
17289         * modules/mkfifoat-tests (Makefile.am): Likewise.
17290         * modules/openat-safer-tests (Makefile.am): Likewise.
17291         * modules/openat-tests (Makefile.am): Likewise.
17292         * modules/readlinkat-tests (Makefile.am): Likewise.
17293         * modules/symlinkat-tests (Makefile.am): Likewise.
17294         * modules/linkat-tests (Makefile.am): Likewise.
17295         (Depends-on): Switch to filenamecat-lgpl.
17296         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17297         LIBINTL.
17298         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17299         * tests/test-linkat.c (main): Don't require xalloc.
17300
17301         hash, mgetgroups: drop xalloc dependency
17302         * lib/hash.c (includes): Adjust includes.
17303         * lib/mgetgroups.c (includes): Likewise.
17304         (xgetgroups): Move...
17305         * lib/xgetgroups.c: ...to new file.
17306         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17307         * modules/xgetgroups: New file, split from...
17308         * modules/mgetgroups: ...here.
17309         (Depends-on): Add xalloc-oversized.
17310         * modules/hash (Depends-on): Likewise.
17311         * modules/hash-tests (Depends-on): Drop xalloc.
17312         (test_hash_LDADD): Drop unused library.
17313         * tests/test-hash.c (main): Break xalloc dependency.
17314         (includes): Drop unused include.
17315
17316         xalloc-oversized: new module
17317         * modules/xalloc-oversized: New module.
17318         * modules/xalloc (Depends-on): Add it.
17319         * lib/xalloc.h (xalloc_oversized): Move...
17320         * lib/xalloc-oversized.h: ...into new file.
17321
17322         utimecmp: drop dependency on xmalloc
17323         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17324         due to memory pressure.
17325         * modules/utimecmp (Depends-on): Drop xalloc.
17326
17327 2011-04-27  Eric Blake  <eblake@redhat.com>
17328
17329         getcwd: fix mingw bugs
17330         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17331         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17332         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17333
17334 2011-04-27  Bruno Haible  <bruno@clisp.org>
17335
17336         mkstemps: Ensure declaration on MacOS X 10.5.
17337         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17338         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17339         MacOS X.
17340
17341 2011-04-27  Bruno Haible  <bruno@clisp.org>
17342
17343         mkstemp: More documentation.
17344         * doc/posix-functions/mkstemp.texi: Document header file problem on
17345         MacOS X.
17346
17347 2011-04-27  Bruno Haible  <bruno@clisp.org>
17348
17349         mkstemp: Tweak configure message when cross-compiling.
17350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17351         result as a guess.
17352
17353 2011-04-27  Bruno Haible  <bruno@clisp.org>
17354
17355         clean-temp: Clarify what it does.
17356         * lib/clean-temp.h: Add more comments.
17357         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17358         module.
17359         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17360         * doc/glibc-functions/mkstemps.texi: Likewise.
17361         * doc/glibc-functions/mkostemps.texi: Likewise.
17362
17363 2011-04-27  Eric Blake  <eblake@redhat.com>
17364
17365         fchdir: avoid extra chdir and fix test
17366         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17367         getcwd-lgpl.
17368         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17369         have to be canonical.
17370         (canonicalize_file_name): Drop unused macro.
17371         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17372
17373         filenamecat-lgpl: fix licence
17374         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17375         when it was first created.
17376
17377         linkat, renameat: add missing dependency
17378         * modules/linkat (Depends-on): Require getcwd-lgpl.
17379         * modules/renameat (Depends-on): Likewise.
17380
17381         tests: reduce dependencies
17382         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17383         * tests/test-renameat.c (main): Likewise.
17384         * modules/linkat-tests (Depends-on): Relax dependency.
17385         * modules/renameat-tests (Depends-on): Likewise.
17386         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17387         dependency explicit.
17388
17389         save-cwd: reduce default dependency
17390         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17391         * lib/save-cwd.c: Update comments.
17392         * NEWS: Document the semantic change.
17393
17394         getcwd: enhance tests
17395         * tests/test-getcwd-lgpl.c: New file, taken from...
17396         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
17397         repeat long path stress tests from m4 probe.
17398         * modules/getcwd-lgpl-tests: New module.
17399         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
17400         * m4/getcwd-abort-bug.m4: Update comment.
17401         * m4/getcwd-path-max.m4: Likewise.
17402
17403         getcwd-lgpl: new module
17404         * modules/getcwd-lgpl: New module.
17405         * lib/getcwd-lgpl.c: New file.
17406         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17407         * MODULES.html.sh (lacking POSIX:2008): Likewise.
17408         * modules/getcwd (configure.ac): Set C witness.
17409         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
17410
17411         getcwd: tweak comments
17412         * m4/getcwd-abort-bug.m4: Fix comments.
17413         * m4/getcwd-path-max.m4: Likewise.
17414         * m4/getcwd.m4: Likewise.
17415
17416 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17417         and Eric Blake  <eblake@redhat.com>
17418
17419         mkstemp: replace if system version uses wrong permissions
17420         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
17421         read/write mode bits set in file created by mkstemp.
17422         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
17423
17424 2011-04-27  Eric Blake  <eblake@redhat.com>
17425
17426         passfd: avoid compiler warning
17427         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
17428         Reported by Laine Stump.
17429
17430 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
17431
17432         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
17433         required by the NetBSD (and perhaps other 4.4BSD derived) join.
17434
17435 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17436         and Eric Blake  <eblake@redhat.com>
17437
17438         mkstemp: mention clean-temp module
17439         * lib/mkstemp.c: Add comment.
17440         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
17441
17442 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17443
17444         inttypes: also provide default values for 32-bit tests
17445         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
17446         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
17447
17448 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17449
17450         strtoumax: remove dependency on strtoimax
17451         This is like the strtoull change of yesterday.
17452         * modules/strtoumax (Files): Add lib/strtoimax.c.
17453         (Depends-on): Remove strtoimax and add verify.
17454
17455         inttypes-incomplete: new module
17456         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
17457         all but the PRI* and SCN* parts of gl_INTTYPES_H.
17458         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
17459         of gl_INTTYPES_H.
17460         (gl_INTTYPES_H): Rewrite in terms of these new macros.
17461         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
17462         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
17463         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
17464         * modules/strtoumax, modules/xstrtol (Depends-on):
17465         Depend on inttypes-incomplete, not inttypes.
17466         * modules/inttypes-incomplete: New module, containing the contents
17467         of the old modules/inttypes module, except that the Files: section
17468         omits m4/inttypes-pri.m4, and the configure.ac section invokes
17469         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
17470         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
17471         (Depends-on): Depend only on inttypes-incomplete.
17472         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
17473
17474         inttypes: omit now-redundant strtoimax and strtoumax work
17475         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
17476         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
17477
17478         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
17479         This supports apps that need pointers to strtoimax and strtoumax,
17480         and ports to HP-UX 11.00 64.bit, which has macros that expand to
17481         nonexistent functions.  See
17482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
17483         et seq.
17484         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
17485         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
17486         a macro.
17487         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17488
17489 2011-04-25  Simon Josefsson  <simon@josefsson.org>
17490
17491         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
17492
17493 2011-04-25  Bruno Haible  <bruno@clisp.org>
17494
17495         strtol, strtoul: Mark modules as obsolete.
17496         * modules/strtol (Status, Notice): New sections.
17497         * modules/strtoul (Status, Notice): New sections.
17498
17499 2011-04-25  Bruno Haible  <bruno@clisp.org>
17500
17501         strtod: Remove check for strtod, unless supporting old platforms.
17502         * modules/strtod-obsolete: New file.
17503         * m4/strtod-obsolete.m4: New file.
17504         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
17505         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
17506         * modules/strtod (Depends-on): Add strtod-obsolete.
17507         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
17508
17509 2011-04-25  Bruno Haible  <bruno@clisp.org>
17510
17511         strcase: Make module obsolete.
17512         * modules/strcase (Status, Notice): New sections.
17513
17514 2011-04-25  Bruno Haible  <bruno@clisp.org>
17515
17516         dup2: Remove check for dup2, unless supporting old obsolete platforms.
17517         * modules/dup2-obsolete: New file.
17518         * m4/dup2-obsolete.m4: New file.
17519         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
17520         gl_FUNC_DUP2_OBSOLETE is not also defined.
17521         * modules/dup2 (Depends-on): Add dup2-obsolete.
17522         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
17523
17524 2011-04-25  Bruno Haible  <bruno@clisp.org>
17525
17526         strnlen: Avoid memchr related link error on old obsolete platforms.
17527         * modules/memchr-obsolete: New file.
17528         * m4/memchr-obsolete.m4: New file.
17529         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
17530         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
17531         * modules/memchr (Depends-on): Add memchr-obsolete.
17532         * modules/strnlen (Depends-on): Likewise.
17533         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17534
17535 2011-04-25  Jim Meyering  <meyering@redhat.com>
17536
17537         maint.mk: makefile_at_at_check extend and clean up
17538         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17539         in addition to */Makefile.am.
17540         Exempt legitimate uses of @VAR@ notation, e.g.,
17541         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17542         Remove obsolete coreutils-specific comment.
17543         Prompted by discussion here:
17544         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17545
17546 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17547
17548         strtoul: remove dependency on strtol
17549         This is so that 'configure' need not check for strtol merely because
17550         the application needs strtoul.
17551         * modules/strtoul (Files): Add lib/strtol.c.
17552         (Depends-on): Remove strtol.
17553
17554         strtoull: remove dependency on strtoul
17555         This is like the strtoll change.
17556         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17557         (Depends-on): Remove strtoul.
17558
17559         strtoll: remove dependency on strtol
17560         This is so that 'configure' need not check for strtol merely because
17561         the application needs strtoll.
17562         * modules/strtoll (Files): Add lib/strtol.c.
17563         (Depends-on): Remove strtol.
17564
17565 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17566
17567         inttypes: Move some configure check to module 'imaxdiv'.
17568         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17569         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17570         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17571
17572 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17573
17574         inttypes: Move some configure check to module 'imaxabs'.
17575         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17576         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17577         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17578
17579 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17580
17581         inttypes: Remove configure tests that are not needed since 2009-12-31.
17582         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17583         gl_cv_header_working_inttypes_h.
17584
17585 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17586
17587         * modules/strnlen (Depends-on): Remove memchr.
17588         The strnlen implementation doesn't need the memchr module's fixes; see
17589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17590
17591         strtol: remove dependency on wchar
17592         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17593         * modules/strtol (Depends-on): Remove wchar.
17594
17595 2011-04-21  Eric Blake  <eblake@redhat.com>
17596
17597         passfd: fix test regression on Linux
17598         * modules/passfd-tests (configure.ac): Correct socketpair check.
17599
17600         passfd: speed up configure and drop unused code
17601         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17602         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17603         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17604         Instead of probing at configure for unix_scm_rights_bsd44_way,
17605         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17606         check to a struct member probe.
17607         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17608         (sendfd, recvfd): Update preprocessor checks.
17609         * modules/passfd (Files): Reflect rename, and drop unused file.
17610         (Depends-on): Drop unused dependency.
17611
17612         passfd: allow compilation on mingw
17613         * modules/sys_socket (Depends-on): Add sys_uio.
17614         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17615         iovec and a minimal struct msghdr.
17616         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17617         * tests/test-sys_socket.c (main): Enhance test.
17618         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17619         guaranteed to provide what we need.
17620         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17621         * modules/passfd-tests (Depends-on): Add sys_wait.
17622         * tests/test-passfd.c (main): Skip test on mingw, for now.
17623         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17624         partial 'struct msghdr' implementation.
17625
17626         sys_uio: new module
17627         * modules/sys_uio: New module.
17628         * modules/sys_uio-tests: Likewise.
17629         * lib/sys_uio.in.h: New file.
17630         * m4/sys_uio_h.m4: Likewise.
17631         * tests/test-sys_uio.c: Likewise.
17632         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17633         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17634
17635 2011-04-20  Jim Meyering  <meyering@redhat.com>
17636
17637         useless-if-before-free: avoid false-positive
17638         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17639         disjunct so that it too requires a terminating ";".  Without that,
17640         this script would identify as useless one statement from gcc that
17641         was not:
17642           if (aligned_ptr)
17643             free (((void **) aligned_ptr) [-1]);
17644
17645 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17646
17647         doc: update users.txt.
17648         * users.txt: Add barcode.
17649
17650 2011-04-19  Bruno Haible  <bruno@clisp.org>
17651
17652         ioctl: Remove link dependency on native Windows.
17653         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17654         (gl_close_fn, gl_ioctl_fn): New types.
17655         (struct fd_hook): Renamed from struct close_hook. Change type of
17656         private_close_fn field. Add private_ioctl_fn field.
17657         (close_hook_fn): Add parameter for primary close method.
17658         (execute_close_hooks, execute_all_close_hooks): Likewise.
17659         (ioctl_hook_fn): New type.
17660         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17661         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17662         argument.
17663         (unregister_fd_hook): Renamed from unregister_close_hook.
17664         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17665         Don't include <unistd.h>.
17666         (close): Remove undef.
17667         (anchor): Update.
17668         (execute_close_hooks): Add argument for primary close method.
17669         (execute_all_close_hooks): Likewise.
17670         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17671         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17672         argument. Allow each argument to be NULL.
17673         (unregister_fd_hook): Renamed from unregister_close_hook.
17674         * lib/close.c (rpl_close): Pass 'close' function pointer to
17675         execute_all_close_hooks.
17676         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17677         (primary_ioctl): New function.
17678         (ioctl): Don't call ioctlsocket here. Instead, call
17679         execute_all_ioctl_hooks.
17680         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17681         close method.
17682         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17683         (fd_sockets_hook): Renamed from close_sockets_hook.
17684         (gl_sockets_startup, gl_sockets_cleanup): Update.
17685         * modules/fd-hook: Renamed from modules/close-hook. Update.
17686         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17687         * modules/sockets (Depends-on): Likewise.
17688         * modules/ioctl (Depends-on): Add fd-hook.
17689         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17690         GNULIB_SOCKET.
17691
17692 2011-04-19  Bruno Haible  <bruno@clisp.org>
17693
17694         Move the support of O_NONBLOCK in open() to the 'open' module.
17695         * modules/nonblocking (Depends-on): Remove 'open'.
17696         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17697         gl_cv_have_open_O_NONBLOCK.
17698         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17699         O_NONBLOCK support.
17700         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17701
17702 2011-04-17  Bruno Haible  <bruno@clisp.org>
17703
17704         pipe2: Simplify code.
17705         * lib/pipe2.c (pipe2): Reduce code duplication.
17706
17707 2011-04-17  Bruno Haible  <bruno@clisp.org>
17708
17709         nonblocking: Add comment.
17710         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17711
17712 2011-04-17  Bruno Haible  <bruno@clisp.org>
17713
17714         nonblocking: Add tests for sockets.
17715         * tests/test-nonblocking-socket.sh: New file.
17716         * tests/test-nonblocking-socket-main.c: New file.
17717         * tests/test-nonblocking-socket-child.c: New file.
17718         * tests/test-nonblocking-socket.h: New file.
17719         * tests/socket-server.h: New file.
17720         * tests/socket-client.h: New file.
17721         * modules/nonblocking-socket-tests: New file.
17722         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17723
17724 2011-04-17  Bruno Haible  <bruno@clisp.org>
17725
17726         nonblocking: Add tests for pipes.
17727         * tests/test-nonblocking-pipe.sh: New file.
17728         * tests/test-nonblocking-pipe-main.c: New file.
17729         * tests/test-nonblocking-pipe-child.c: New file.
17730         * tests/test-nonblocking-pipe.h: New file.
17731         * tests/test-nonblocking-writer.h: New file.
17732         * tests/test-nonblocking-reader.h: New file.
17733         * tests/test-nonblocking-misc.h: New file.
17734         * modules/nonblocking-pipe-tests: New file.
17735         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17736
17737 2011-04-16  Bruno Haible  <bruno@clisp.org>
17738
17739         gettext: Clarify the needed programmer actions.
17740         * modules/gettext (Notice): New field.
17741         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17742
17743 2011-04-16  Bruno Haible  <bruno@clisp.org>
17744
17745         strchrnul: Tweak last commit.
17746         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17747         bug.
17748         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17749         as in _GL_FUNCDECL_SYS.
17750         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17751         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17752
17753 2011-04-15  Eric Blake  <eblake@redhat.com>
17754
17755         strchrnul: work around cygwin bug
17756         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17757         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17758         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17759         * modules/string (Makefile.am): Substitute it.
17760         * lib/string.in.h (strchrnul): Use it.
17761
17762 2011-04-15  Bruno Haible  <bruno@clisp.org>
17763
17764         Don't require lib/stdio-write.c when only module 'stdio' is used.
17765         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17766         invocation.
17767         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17768
17769 2011-04-14  Bruno Haible  <bruno@clisp.org>
17770
17771         Support non-blocking pipe I/O in read() on native Windows.
17772         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17773         (read): New declaration.
17774         * lib/read.c: New file.
17775         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17776         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17777         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17778         vscanf): New declarations.
17779         * lib/stdio-read.c: New file.
17780         * m4/read.m4: New file.
17781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17782         REPLACE_READ.
17783         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17784         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17785         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17786         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17787         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17788         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17789         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17790         * modules/read: New file.
17791         * modules/nonblocking (Files): Add lib/stdio-read.c.
17792         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17793         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17794         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17795         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17796         * modules/pread (Depends-on): Add read.
17797         * modules/safe-read (Depends-on): Likewise.
17798         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17799         gets, scanf, vfscanf, vscanf): Verify signatures.
17800         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17801         problem with non-blocking pipes.
17802         * doc/posix-functions/fgetc.texi: Likewise.
17803         * doc/posix-functions/fgets.texi: Likewise.
17804         * doc/posix-functions/fread.texi: Likewise.
17805         * doc/posix-functions/fscanf.texi: Likewise.
17806         * doc/posix-functions/getc.texi: Likewise.
17807         * doc/posix-functions/getchar.texi: Likewise.
17808         * doc/posix-functions/gets.texi: Likewise.
17809         * doc/posix-functions/scanf.texi: Likewise.
17810         * doc/posix-functions/vfscanf.texi: Likewise.
17811         * doc/posix-functions/vscanf.texi: Likewise.
17812
17813 2011-04-14  Bruno Haible  <bruno@clisp.org>
17814
17815         Support non-blocking pipe I/O in write() on native Windows.
17816         * lib/write.c (rpl_write): Split a write request that failed merely
17817         because the byte count was larger than the pipe buffer's size.
17818         * doc/posix-functions/write.texi: Mention the problem with large byte
17819         counts.
17820
17821 2011-04-14  Bruno Haible  <bruno@clisp.org>
17822
17823         wchar: Ensure that wchar_t gets defined on uClibc.
17824         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17825         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17826
17827 2011-04-13  Bruno Haible  <bruno@clisp.org>
17828
17829         safe-write, full-read: Avoid unnecessary compilation units.
17830         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17831         (Depends-on): Remove safe-read. Add ssize_t.
17832         * modules/full-read (Files): Add lib/full-write.c.
17833         (Depends-on): Add full-write.
17834
17835 2011-04-13  Bruno Haible  <bruno@clisp.org>
17836
17837         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17838         * modules/pwrite (Depends-on): Add 'write'.
17839
17840 2011-04-13  Bruno Haible  <bruno@clisp.org>
17841
17842         Support non-blocking pipe I/O in write() on native Windows.
17843         * lib/unistd.in.h (write): Enable replacement also if
17844         GNULIB_UNISTD_H_NONBLOCKING is 1.
17845         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17846         (rpl_write): When failing to write on a non-blocking pipe, change
17847         errno from ENOSPC to EAGAIN.
17848         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17849         putchar, puts, vfprintf, vprintf): Enable replacement also if
17850         GNULIB_STDIO_H_NONBLOCKING is 1.
17851         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17852         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17853         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17854         CALL_WITH_SIGPIPE_EMULATION.
17855         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17856         * m4/nonblocking.m4: New file.
17857         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17858         for non-blocking I/O support.
17859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17860         GNULIB_UNISTD_H_NONBLOCKING.
17861         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17862         required for non-blocking I/O support.
17863         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17864         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17865         lib/stdio-write.c, m4/asm-underscore.m4.
17866         (Depends-on): Add stdio, unistd.
17867         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17868         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17869         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17870         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17871         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17872         problem with non-blocking pipes.
17873         * doc/posix-functions/fputc.texi: Likewise.
17874         * doc/posix-functions/fputs.texi: Likewise.
17875         * doc/posix-functions/fwrite.texi: Likewise.
17876         * doc/posix-functions/printf.texi: Likewise.
17877         * doc/posix-functions/putc.texi: Likewise.
17878         * doc/posix-functions/putchar.texi: Likewise.
17879         * doc/posix-functions/puts.texi: Likewise.
17880         * doc/posix-functions/vfprintf.texi: Likewise.
17881         * doc/posix-functions/vprintf.texi: Likewise.
17882         * doc/posix-functions/write.texi: Likewise.
17883
17884 2011-04-10  Jim Meyering  <meyering@redhat.com>
17885
17886         maint.mk: prohibit doubled words
17887         Detect them also when they're separated by a newline.
17888         There are 3 ways to customize it:
17889           - disable the test on a per file basis, as usual with rules using
17890             $(VC_LIST_EXCEPT)
17891           - replace the default doubled-word-selecting regexp (affects all files)
17892           - ignore a particular file-vs-doubled-word match
17893         I nearly used that last one to ignore the "is is" match in
17894         coreutils' NEWS file, since the text was "ls -is is ..."
17895         To do that, I would have added this line to cfg.mk:
17896           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17897         but it would have ignored any "is is" match in NEWS.
17898         Low probability, but still...
17899         Instead, I changed the text, slightly:
17900           -  ls -is is now consistent with ls -lis in ignoring values returned
17901           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17902         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17903         (prohibit_doubled_word_): Define.
17904         (sc_prohibit_doubled_word): New rule.
17905         (sc_prohibit_the_the): Remove.  Subsumed by the above.
17906
17907 2011-04-10  Jim Meyering  <meyering@redhat.com>
17908
17909         maint: fix doubled-word typo in comment
17910         * m4/gethostname.m4: s/is is/it is/
17911         * m4/getdomainname.m4: Likewise.
17912
17913 2011-04-10  Jim Meyering  <meyering@redhat.com>
17914
17915         maint: remove doubled word: s/it it/it/
17916         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
17917
17918 2011-04-10  Jim Meyering  <meyering@redhat.com>
17919
17920         maint.mk: remove useless semicolon and backslash
17921         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
17922         semicolon and backslash.
17923
17924 2011-04-10  Bruno Haible  <bruno@clisp.org>
17925
17926         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
17927         * modules/stdint-tests (Depends-on): Add wchar.
17928
17929 2011-04-10  Jim Meyering  <meyering@redhat.com>
17930
17931         maint: remove doubled words in comments, e.g., s/a a/a/
17932         * lib/strptime.c (day_of_the_week): s/the the/the/
17933         * tests/test-chown.h (test_chown): s/a a/a/
17934
17935         test-chown.h: correct a cast
17936         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
17937         when the destination is a stat.st_gid.
17938
17939 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17940
17941         getaddrinfo: Fix test for sa_len member.
17942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
17943         include <sys/types.h> before <sys/socket.h>.
17944
17945 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17946
17947         maint: change "can not" to "cannot"
17948         * doc/posix-functions/iconv.texi (iconv): This one crossed line
17949         boundaries.
17950
17951 2011-04-09  Jim Meyering  <meyering@redhat.com>
17952
17953         maint: change "a a" to "a"
17954         * tests/test-lchown.h (test_lchown): s/a a/a/
17955
17956         maint.mk: prohibit \<the the\>
17957         * top/maint.mk (sc_prohibit_the_the): New rule.
17958
17959         maint: fix "the the" in comment
17960         * lib/count-one-bits.h: s/the the/the/
17961
17962         maint: change "can not" to "cannot"
17963         But do not change the occurrences in maintain.texi or in
17964         build-aux/po/Makefile.in.in, which I presume comes from gettext.
17965         * doc/gnulib-tool.texi: s/can not/cannot/
17966         * doc/posix-functions/accept.texi (accept): Likewise.
17967         * doc/posix-functions/socket.texi (socket): Likewise.
17968         * lib/mbrtowc.c: Likewise.
17969
17970         maint.mk: prohibit use of "can not"
17971         * top/maint.mk (sc_prohibit_can_not): New rule.
17972         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
17973
17974 2011-04-09  Bruno Haible  <bruno@clisp.org>
17975
17976         careadlinkat: Guard against misuse of careadlinkatcwd.
17977         * lib/careadlinkat.c: Include <stdlib.h>.
17978         (careadlinkatcwd): Check that the fd argument is as expected.
17979
17980 2011-04-09  Bruno Haible  <bruno@clisp.org>
17981
17982         careadlinkat: Use common coding style.
17983         * lib/careadlinkat.c: Move gnulib includes after system includes.
17984
17985 2011-04-09  Bruno Haible  <bruno@clisp.org>
17986
17987         careadlinkat: Clarify specification.
17988         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
17989         (careadlinkatcwd): Add comment.
17990         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
17991
17992 2011-04-09  Bruno Haible  <bruno@clisp.org>
17993
17994         areadlinkat: Avoid link error on many platforms.
17995         * modules/areadlinkat (Depends-on): Add areadlink.
17996
17997 2011-04-09  Bruno Haible  <bruno@clisp.org>
17998
17999         allocator, careadlinkat: Fix double-inclusion guard.
18000         * lib/allocator.h: Fix double-inclusion guard.
18001         * lib/careadlinkat.h: Likewise.
18002
18003 2011-04-09  Bruno Haible  <bruno@clisp.org>
18004
18005         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18006         * lib/relocwrapper.c: Update dependencies hierarchy.
18007         * build-aux/install-reloc: Update list of files to be compiled.
18008         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18009         lib/allocator.[hc].
18010
18011 2011-04-08  Eric Blake  <eblake@redhat.com>
18012
18013         strftime: silence gnulib-tool warning
18014         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18015
18016 2011-04-08  Bruno Haible  <bruno@clisp.org>
18017
18018         verify: Fix syntax error with GCC 4.6 in C++ mode.
18019         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18020         (HAVE_STATIC_ASSERT): New macro.
18021         (verify_true, verify): Use 'static_assert' if it is supported and
18022         '_Static_assert' is not supported.
18023
18024 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18025
18026         allocator: New module.
18027         * modules/allocator, lib/allocator.c: New files.
18028         * lib/allocator.h (stdlib_allocator): New decl.
18029         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18030         Remove.  Do not include <stdlib.h>.
18031         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18032         * modules/careadlinkat (Files): Remove lib/allocator.h.
18033         (Depends-on): Add allocator.
18034
18035         stdlib: let modules use system malloc, realloc
18036         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18037         if !_GL_USE_STDLIB_ALLOC.
18038         (malloc, realloc): Limit this change to a smaller scope.
18039
18040         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18041         (malloc, realloc): Don't #undef; no longer needed.
18042         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18043         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18044         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18045         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18046         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18047         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18048         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18049         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18050
18051         careadlinkat: rename members to avoid problem
18052         * lib/allocator.h (struct allocator): Rename members from
18053         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18054         and realloc are #define'd.  Reported by Eric Blake in
18055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18056         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18057
18058 2011-04-08  Eric Blake  <eblake@redhat.com>
18059
18060         nonblocking: reduce dependency
18061         * tests/test-nonblocking.c: Only test sockets when in use.
18062         * modules/nonblocking-tests (Depends-on): Drop socket.
18063         (Makefile.am): Link even if sockets are not present.
18064         * modules/pipe2-tests (Makefile.am): Likewise.
18065         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18066
18067         pipe2: fix O_NONBLOCK support on mingw
18068         * modules/pipe2 (Depends-on): Add nonblocking.
18069         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18070         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18071         * tests/test-nonblocking.c (main): Likewise.
18072         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18073
18074         fcntl-h: fix O_ACCMODE on cygwin
18075         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18076         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18077
18078         pipe-filter: drop O_NONBLOCK workarounds
18079         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18080         * modules/pipe-filter-ii (Depends-on): Likewise.
18081         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18082
18083         nonblocking: provide O_NONBLOCK for mingw
18084         * modules/nonblocking (Depends-on): Add open.
18085         (configure.ac): Set new witness macro.
18086         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18087         * modules/fcntl-h (Makefile.am): Substitute it.
18088         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18089         nonblocking module is in use.
18090         * lib/nonblocking.c: Adjust portability test.
18091         * lib/open.c (open): Don't let native open see gnulib flag.
18092         * tests/test-fcntl-h.c (main): Enhance test.
18093         * tests/test-open.h (test_open): Likewise.
18094         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18095
18096         careadlinkat: fix compilation error on mingw
18097         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18098         within struct allocator.
18099
18100 2011-04-06  Eric Blake  <eblake@redhat.com>
18101
18102         binary-io: relicense under LGPLv2+
18103         * modules/binary-io (License): Relax to LGPLv2+.
18104         Requested for libvirt, and required by pipe2.
18105
18106 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18107
18108         verify: use _Static_assert if available
18109         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18110         (verify_true, verify): Use it if available.  This generates better
18111         diagnostics with GCC 4.6.0 and later.
18112
18113 2011-04-05  Bruno Haible  <bruno@clisp.org>
18114
18115         Remove leftover generated .h files after config.status changed.
18116
18117         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18118         GL_GENERATE_ALLOCA_H.
18119         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18120         GL_GENERATE_ALLOCA_H evaluates to false.
18121
18122         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18123         GL_GENERATE_ARGZ_H.
18124         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18125         evaluates to false.
18126
18127         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18128         GL_GENERATE_BYTESWAP_H.
18129         * modules/byteswap (Makefile.am): Remove byteswap.h if
18130         GL_GENERATE_BYTESWAP_H evaluates to false.
18131
18132         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18133         GL_GENERATE_ERRNO_H.
18134         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18135         evaluates to false.
18136
18137         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18138         GL_GENERATE_FLOAT_H.
18139         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18140         evaluates to false.
18141
18142         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18143         GL_GENERATE_FNMATCH_H.
18144         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18145         GL_GENERATE_FNMATCH_H evaluates to false.
18146
18147         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18148         GL_GENERATE_GLOB_H.
18149         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18150         evaluates to false.
18151
18152         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18153         automake conditional GL_GENERATE_ICONV_H.
18154         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18155         evaluates to false.
18156
18157         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18158         GL_GENERATE_NETINET_IN_H.
18159         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18160         GL_GENERATE_NETINET_IN_H evaluates to false.
18161
18162         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18163         conditional GL_GENERATE_PTHREAD_H.
18164         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18165         * modules/pthread (Makefile.am): Remove pthread.h if
18166         GL_GENERATE_PTHREAD_H evaluates to false.
18167
18168         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18169         GL_GENERATE_SCHED_H.
18170         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18171         evaluates to false.
18172
18173         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18174         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18175         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18176         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18177
18178         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18179         GL_GENERATE_STDARG_H.
18180         * modules/stdarg (Makefile.am): Remove stdarg.h if
18181         GL_GENERATE_STDARG_H evaluates to false.
18182
18183         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18184         GL_GENERATE_STDBOOL_H.
18185         * modules/stdbool (Makefile.am): Remove stdbool.h if
18186         GL_GENERATE_STDBOOL_H evaluates to false.
18187
18188         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18189         conditional GL_GENERATE_STDDEF_H.
18190         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18191         * modules/stddef (Makefile.am): Remove stddef.h if
18192         GL_GENERATE_STDDEF_H evaluates to false.
18193
18194         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18195         GL_GENERATE_STDINT_H.
18196         * modules/stdint (Makefile.am): Remove stdint.h if
18197         GL_GENERATE_STDINT_H evaluates to false.
18198
18199         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18200         GL_GENERATE_SYSEXITS_H.
18201         * modules/sysexits (Makefile.am): Remove sysexits.h if
18202         GL_GENERATE_SYSEXITS_H evaluates to false.
18203
18204         Reported by Karl Berry and Ralf Wildenhues.
18205
18206 2011-04-05  Bruno Haible  <bruno@clisp.org>
18207
18208         Ensure to rebuild generated .h files when config.status has changed.
18209         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18210         config.status.
18211         * modules/ctype (Makefile.am): Likewise.
18212         * modules/dirent (Makefile.am): Likewise.
18213         * modules/errno (Makefile.am): Likewise.
18214         * modules/fcntl-h (Makefile.am): Likewise.
18215         * modules/float (Makefile.am): Likewise.
18216         * modules/getopt-posix (Makefile.am): Likewise.
18217         * modules/glob (Makefile.am): Likewise.
18218         * modules/iconv-h (Makefile.am): Likewise.
18219         * modules/inttypes (Makefile.am): Likewise.
18220         * modules/langinfo (Makefile.am): Likewise.
18221         * modules/locale (Makefile.am): Likewise.
18222         * modules/math (Makefile.am): Likewise.
18223         * modules/netdb (Makefile.am): Likewise.
18224         * modules/netinet_in (Makefile.am): Likewise.
18225         * modules/poll-h (Makefile.am): Likewise.
18226         * modules/pthread (Makefile.am): Likewise.
18227         * modules/pty (Makefile.am): Likewise.
18228         * modules/sched (Makefile.am): Likewise.
18229         * modules/search (Makefile.am): Likewise.
18230         * modules/selinux-h (Makefile.am): Likewise.
18231         * modules/signal (Makefile.am): Likewise.
18232         * modules/spawn (Makefile.am): Likewise.
18233         * modules/stdarg (Makefile.am): Likewise.
18234         * modules/stdbool (Makefile.am): Likewise.
18235         * modules/stddef (Makefile.am): Likewise.
18236         * modules/stdint (Makefile.am): Likewise.
18237         * modules/stdio (Makefile.am): Likewise.
18238         * modules/stdlib (Makefile.am): Likewise.
18239         * modules/string (Makefile.am): Likewise.
18240         * modules/strings (Makefile.am): Likewise.
18241         * modules/sys_file (Makefile.am): Likewise.
18242         * modules/sys_ioctl (Makefile.am): Likewise.
18243         * modules/sys_select (Makefile.am): Likewise.
18244         * modules/sys_socket (Makefile.am): Likewise.
18245         * modules/sys_stat (Makefile.am): Likewise.
18246         * modules/sys_time (Makefile.am): Likewise.
18247         * modules/sys_times (Makefile.am): Likewise.
18248         * modules/sys_utsname (Makefile.am): Likewise.
18249         * modules/sys_wait (Makefile.am): Likewise.
18250         * modules/sysexits (Makefile.am): Likewise.
18251         * modules/termios (Makefile.am): Likewise.
18252         * modules/time (Makefile.am): Likewise.
18253         * modules/unistd (Makefile.am): Likewise.
18254         * modules/wchar (Makefile.am): Likewise.
18255         * modules/wctype-h (Makefile.am): Likewise.
18256         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18257
18258 2011-04-05  Bruno Haible  <bruno@clisp.org>
18259
18260         pipe2: Relicense under LGPLv2+.
18261         * modules/pipe2 (License): Change to LGPLv2+.
18262         Requested by Eric Blake, for libvirt.
18263
18264 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18265
18266         bootstrap: compute gnulib_extra_files after updating build_aux
18267         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18268         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18269
18270 2011-04-05  Eric Blake  <eblake@redhat.com>
18271
18272         bootstrap: preserve git whitelist item sorting
18273         * build-aux/bootstrap (sort_patterns): New function.
18274         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18275
18276 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18277
18278         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18279         sc_space_tab check.
18280
18281 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18282
18283         areadlink, areadlinkat: rewrite in terms of careadlinkat
18284         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18285         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18286         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18287         (malloc, realloc): Remove #undefs.
18288         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18289         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18290         readlink, ssize_t, stdint, unistd.
18291         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18292         areadlink, stdint.
18293
18294         careadlinkat: new module
18295         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18296         * modules/careadlinkat: New files, written by me with
18297         a review and feedback from Ben Pfaff in
18298         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18299
18300 2011-04-01  Bruno Haible  <bruno@clisp.org>
18301
18302         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18303         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18304         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18305         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18306         Reported by Bruce Korb <bruce.korb@gmail.com>.
18307
18308 2011-04-01  Bruno Haible  <bruno@clisp.org>
18309
18310         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18311         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18312         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18313         * modules/wcpcpy (Depends-on): Add extensions.
18314         * modules/wcpncpy (Depends-on): Likewise.
18315         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18316         systems.
18317         * doc/posix-functions/wcpncpy.texi: Likewise.
18318         * doc/posix-functions/wcwidth.texi: Likewise.
18319
18320 2011-03-31  Eric Blake  <eblake@redhat.com>
18321
18322         nonblocking: fix mingw test failures
18323         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18324         non-blocking flag on regular file.
18325         (get_nonblocking_flag): Set errno on invalid fd.
18326         * tests/test-nonblocking.c (main): Avoid test failure on
18327         directories if fchdir is not active.
18328         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18329
18330 2011-03-31  Bruno Haible  <bruno@clisp.org>
18331
18332         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18333         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18334         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18335         Reported by Simon Josefsson <simon@josefsson.org>.
18336
18337 2011-03-31  Bruno Haible  <bruno@clisp.org>
18338         and Eric Blake  <eblake@redhat.com>
18339
18340         nonblocking: new module
18341         * modules/nonblocking: New module.
18342         * modules/nonblocking-tests: Likewise.
18343         * lib/nonblocking.h: New file.
18344         * lib/nonblocking.c: Likewise.
18345         * tests/test-nonblocking.c: New test.
18346         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18347
18348 2011-03-30  Bruno Haible  <bruno@clisp.org>
18349
18350         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18351         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18352         instead of 'printf' format for GCC >= 4.4.
18353         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18354         (fprintf, printf, vfprintf, vprintf): Declare with
18355         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18356         the system's vfprintf() function.
18357         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18358
18359 2011-03-30  Eric Blake  <eblake@redhat.com>
18360
18361         passfd: fix scoping bug
18362         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18363         before sendmsg/recvmsg.
18364
18365         passfd: standardize coding conventions
18366         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18367         can be learned at compile time.
18368         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18369         ifdefs.
18370         (sendfd, recvfd): Follow gnulib code conventions.
18371
18372         passfd: fix incorrect sendmsg arguments
18373         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18374         incorrect msg_controllen value.
18375         * modules/passfd-tests (Depends-on): Check for alarm.
18376         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18377         Reported by Bastien ROUCARIES.
18378
18379 2011-03-30  Bruno Haible  <bruno@clisp.org>
18380
18381         c-strcasestr: Relicense under LGPLv2+.
18382         * modules/c-strcasestr (License): Change to LGPLv2+.
18383         Requested by Eric Blake, for libvirt.
18384
18385 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18386
18387         * users.txt: Add libidn2.  Fix libtasn1 link.
18388
18389 2011-03-30  Jim Meyering  <meyering@redhat.com>
18390
18391         tests: readlink* ("",... fails with EINVAL on newer kernels
18392         readlink and readlinkat have typically failed with ENOENT for
18393         the invalid, empty file name,  "".  However, with the advent
18394         of linux-2.6.39, they fail with EINVAL.
18395         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
18396         when operating on the empty file name.
18397         * tests/test-readlink.h (test_readlink): Likewise.
18398
18399 2011-03-29  Bruno Haible  <bruno@clisp.org>
18400
18401         Relicense some modules under LGPLv2+, for libidn2.
18402         * modules/array-mergesort (License): Change to LGPLv2+.
18403         * modules/c-strcaseeq (License): Likewise.
18404         * modules/striconveh (License): Likewise.
18405         * modules/striconveha (License): Likewise.
18406         * modules/uniconv/base (License): Likewise.
18407         * modules/uniconv/u8-conv-from-enc (License): Likewise.
18408         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
18409         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
18410         * modules/unictype/base (License): Likewise.
18411         * modules/unictype/bidiclass-of (License): Likewise.
18412         * modules/unictype/category-M (License): Likewise.
18413         * modules/unictype/category-none (License): Likewise.
18414         * modules/unictype/category-of (License): Likewise.
18415         * modules/unictype/category-test (License): Likewise.
18416         * modules/unictype/category-test-withtable (License): Likewise.
18417         * modules/unictype/combining-class (License): Likewise.
18418         * modules/unictype/joiningtype-of (License): Likewise.
18419         * modules/unictype/scripts (License): Likewise.
18420         * modules/uninorm/base (License): Likewise.
18421         * modules/uninorm/canonical-decomposition (License): Likewise.
18422         * modules/uninorm/composition (License): Likewise.
18423         * modules/uninorm/decompose-internal (License): Likewise.
18424         * modules/uninorm/decomposition-table (License): Likewise.
18425         * modules/uninorm/nfc (License): Likewise.
18426         * modules/uninorm/nfd (License): Likewise.
18427         * modules/uninorm/u32-normalize (License): Likewise.
18428         * modules/unistr/base (License): Likewise.
18429         * modules/unistr/u32-cpy (License): Likewise.
18430         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
18431         * modules/unistr/u32-to-u8 (License): Likewise.
18432         * modules/unistr/u32-uctomb (License): Likewise.
18433         * modules/unistr/u8-check (License): Likewise.
18434         * modules/unistr/u8-mblen (License): Likewise.
18435         * modules/unistr/u8-mbtouc (License): Likewise.
18436         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
18437         * modules/unistr/u8-mbtoucr (License): Likewise.
18438         * modules/unistr/u8-prev (License): Likewise.
18439         * modules/unistr/u8-strlen (License): Likewise.
18440         * modules/unistr/u8-to-u32 (License): Likewise.
18441         * modules/unistr/u8-uctomb (License): Likewise.
18442         * modules/unitypes (License): Likewise.
18443         Requested by Simon Josefsson.
18444
18445 2011-03-29  Simon Josefsson  <simon@josefsson.org>
18446
18447         lib-symbol-visibility: Add a notice.
18448         * modules/lib-symbol-visibility (Notice): New field.
18449
18450 2011-03-29  Bruno Haible  <bruno@clisp.org>
18451
18452         getaddrinfo: Doc fix.
18453         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
18454         section "fixed in Gnulib".
18455
18456 2011-03-28  Simon Josefsson  <simon@josefsson.org>
18457
18458         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
18459         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
18460
18461 2011-03-26  Bruno Haible  <bruno@clisp.org>
18462
18463         unictype/property-byname: Reduce the number of load-time relocations.
18464         * lib/unictype/pr_byname.c: Include <stdlib.h>.
18465         (UC_PROPERTY_INDEX_*): New enumeration values.
18466         (uc_property_byname): Convert an index from the lookup table to an
18467         uc_property_t.
18468         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
18469         values.
18470
18471 2011-03-26  Bruno Haible  <bruno@clisp.org>
18472
18473         unictype/property-byname: Allow omitted word separators and aliases.
18474         * lib/unictype/pr_byname.gperf: Add property names without word
18475         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
18476         for 'space'.
18477
18478 2011-03-26  Bruno Haible  <bruno@clisp.org>
18479
18480         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
18481         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
18482         also hyphens to space.
18483         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
18484         without spaces.
18485         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
18486
18487 2011-03-26  Bruno Haible  <bruno@clisp.org>
18488
18489         unictype/joiningtype-byname: Recognize long names as well.
18490         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
18491         a long name.
18492         * lib/unictype/joiningtype_byname.c: Include <string.h>,
18493         unictype/joiningtype_byname.h.
18494         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
18495         * lib/unictype/joiningtype_byname.gperf: New file.
18496         * modules/unictype/joiningtype-byname (Files): Add
18497         lib/unictype/joiningtype_byname.gperf.
18498         (Depends-on): Add gperf.
18499         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
18500         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
18501         long names.
18502
18503         Tests for module 'unictype/joiningtype-longname'.
18504         * modules/unictype/joiningtype-longname-tests: New file.
18505         * tests/unictype/test-joiningtype_longname.c: New file.
18506
18507         New module 'unictype/joiningtype-longname'.
18508         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
18509         * lib/unictype/joiningtype_longname.c: New file.
18510         * modules/unictype/joiningtype-longname: New file.
18511         * modules/unictype/joiningtype-all (Depends-on): Add
18512         unictype/joiningtype-longname.
18513
18514 2011-03-26  Bruno Haible  <bruno@clisp.org>
18515
18516         unictype/bidiclass-byname: Recognize long names as well.
18517         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
18518         name.
18519         * lib/unictype/bidi_byname.c: Include <string.h>,
18520         unictype/bidi_byname.h.
18521         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
18522         * lib/unictype/bidi_byname.gperf: New file.
18523         * modules/unictype/bidiclass-byname (Files): Add
18524         lib/unictype/bidi_byname.gperf.
18525         (Depends-on): Add gperf.
18526         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
18527         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
18528         long names.
18529
18530         Tests for module 'unictype/bidiclass-longname'.
18531         * modules/unictype/bidiclass-longname-tests: New file.
18532         * tests/unictype/test-bidi_longname.c: New file.
18533
18534         New module 'unictype/bidiclass-longname'.
18535         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18536         * lib/unictype/bidi_longname.c: New file.
18537         * modules/unictype/bidiclass-longname: New file.
18538         * modules/unictype/bidiclass-all (Depends-on): Add
18539         unictype/bidiclass-longname.
18540
18541 2011-03-26  Bruno Haible  <bruno@clisp.org>
18542
18543         unictype/bidi*: Rename modules.
18544         * modules/unictype/bidiclass-all: Renamed from
18545         modules/unictype/bidicategory-all.
18546         * modules/unictype/bidiclass-name: Renamed from
18547         modules/unictype/bidiclass-name.
18548         (Description): Update.
18549         * modules/unictype/bidiclass-name-tests: Renamed from
18550         modules/unictype/bidicategory-name-tests.
18551         * modules/unictype/bidiclass-byname: Renamed from
18552         modules/unictype/bidicategory-byname.
18553         (Description): Update.
18554         * modules/unictype/bidiclass-byname-tests: Renamed from
18555         modules/unictype/bidicategory-byname-tests.
18556         * modules/unictype/bidiclass-of: Renamed from
18557         modules/unictype/bidicategory-of.
18558         (Description): Update.
18559         * modules/unictype/bidiclass-of-tests: Renamed from
18560         modules/unictype/bidicategory-of-tests.
18561         * modules/unictype/bidiclass-test: Renamed from
18562         modules/unictype/bidicategory-test.
18563         (Description): Update.
18564         * modules/unictype/bidiclass-test-tests: Renamed from
18565         modules/unictype/bidicategory-test-tests.
18566         * modules/unictype/bidicategory-all: New file, a simple redirection.
18567         * modules/unictype/bidicategory-name: Likewise.
18568         * modules/unictype/bidicategory-byname: Likewise.
18569         * modules/unictype/bidicategory-of: Likewise.
18570         * modules/unictype/bidicategory-test: Likewise.
18571         * modules/unictype/property-bidi-* (Dependencies): Update.
18572         * lib/unictype/bidi_*.c: Update comment.
18573
18574 2011-03-26  Bruno Haible  <bruno@clisp.org>
18575
18576         unictype/bidi*: Rename functions, part 2.
18577         * modules/unictype/bidicategory-name (configure.ac): Update required
18578         libunistring version.
18579         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18580
18581 2011-03-25  Bruno Haible  <bruno@clisp.org>
18582
18583         New module 'unictype/combining-class-all'.
18584         * modules/unictype/combining-class-all: New file.
18585
18586         Tests for module 'unictype/combining-class-byname'.
18587         * modules/unictype/combining-class-byname-tests: New file.
18588         * tests/unictype/test-combiningclass_byname.c: New file.
18589
18590         New module 'unictype/combining-class-byname'.
18591         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18592         * lib/unictype/combiningclass_byname.c: New file.
18593         * lib/unictype/combiningclass_byname.gperf: New file.
18594         * modules/unictype/combining-class-byname: New file.
18595
18596         Tests for module 'unictype/combining-class-longname'.
18597         * modules/unictype/combining-class-longname-tests: New file.
18598         * tests/unictype/test-combiningclass_longname.c: New file.
18599
18600         New module 'unictype/combining-class-longname'.
18601         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18602         * lib/unictype/combiningclass_longname.c: New file.
18603         * modules/unictype/combining-class-longname: New file.
18604
18605         Tests for module 'unictype/combining-class-name'.
18606         * modules/unictype/combining-class-name-tests: New file.
18607         * tests/unictype/test-combiningclass_name.c: New file.
18608
18609         New module 'unictype/combining-class-name'.
18610         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18611         * lib/unictype/combiningclass_name.c: New file.
18612         * modules/unictype/combining-class-name: New file.
18613
18614 2011-03-25  Bruno Haible  <bruno@clisp.org>
18615
18616         unictype/combining-class: Rename source files.
18617         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18618         of unictype/combining.h.
18619         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18620         Update.
18621         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18622         * modules/unictype/combining-class (Description): Fix.
18623         (Files, Makefile.am): Update.
18624         * tests/unictype/test-combiningclass.c: Renamed from
18625         tests/unictype/test-combining.c.
18626         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18627
18628 2011-03-25  Bruno Haible  <bruno@clisp.org>
18629
18630         unictype: Update list of canonical combining classes.
18631         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18632
18633 2011-03-25  Bruno Haible  <bruno@clisp.org>
18634
18635         unictype/category-byname: Recognize long names as well.
18636         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18637         a long name.
18638         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18639         unictype/categ_byname.h.
18640         (UC_CATEGORY_INDEX_*): New enumeration values.
18641         (uc_general_category_byname): Use uc_general_category_lookup and
18642         convert from index to value.
18643         * lib/unictype/categ_byname.gperf: New file.
18644         * modules/unictype/category-byname (Files): Add
18645         lib/unictype/categ_byname.gperf.
18646         (Depends-on): Add gperf.
18647         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18648         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18649         long names.
18650
18651         Tests for module 'unictype/category-longname'.
18652         * modules/unictype/category-longname-tests: New file.
18653         * tests/unictype/test-categ_longname.c: New file.
18654
18655         New module 'unictype/category-longname'.
18656         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18657         * lib/unictype/categ_longname.c: New file.
18658         * modules/unictype/category-longname: New file.
18659         * modules/unictype/category-all (Depends-on): Add it.
18660
18661 2011-03-25  Bruno Haible  <bruno@clisp.org>
18662
18663         Tests for module 'unictype/category-LC'.
18664         * modules/unictype/category-LC-tests: New file.
18665         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18666
18667         New module 'unictype/category-LC'.
18668         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18669         (UC_CATEGORY_LC): New declaration.
18670         (UC_CASED_LETTER): New macro.
18671         * lib/gen-uni-tables.c (is_category_LC): New function.
18672         (output_categories): Also handle category LC.
18673         (UC_CATEGORY_MASK_LC): New enumeration value.
18674         (general_category_byname): Also handle category LC.
18675         * lib/unictype/categ_LC.c: New file.
18676         * lib/unictype/categ_LC.h: New file, automatically generated.
18677         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18678         category LC.
18679         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18680         * modules/unictype/category-LC: New file.
18681         * modules/unictype/category-byname (Depends-on): Add
18682         unictype/category-LC.
18683         * modules/unictype/category-all (Depends-on): Likewise.
18684
18685 2011-03-25  Eric Blake  <eblake@redhat.com>
18686
18687         xmalloc: revert yesterday's regression
18688         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18689         realloc's underlying behavior (allowing allocation of zero-size
18690         objects, especially if malloc-gnu is also in use).
18691
18692 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18693
18694         maint.mk: add missing version to VC-tag
18695         * top/maint.mk: git tag was missing actual tag name; add it.
18696
18697         valgrind: do leak checking, and exit with code 1 on error (not 0)
18698         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18699         to VALGRIND.
18700
18701 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18702
18703         posix-modules: say what it does.
18704         * posix-modules: Add a line to the --help output saying what it does.
18705
18706 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18707
18708         xmalloc: Do not leak if underlying realloc is C99 compatible.
18709         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18710         This avoids a leak on C99-based systems.  See
18711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18712
18713 2011-03-24  Eric Blake  <eblake@redhat.com>
18714
18715         realloc: document portability problem
18716         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18717         passing 0 size to realloc.
18718
18719 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18720
18721         doc: update users.txt
18722         * users.txt: Add cvsps, tmpwatch
18723
18724 2011-03-23  Matt Rice  <ratmice@gmail.com>
18725
18726         doc: update users.txt
18727         * users.txt: Add gdb.
18728
18729 2011-03-23  Jim Meyering  <meyering@redhat.com>
18730
18731         doc: update users.txt
18732         Looking through matches up to the following URL (there are still
18733         several more pages), I found several projects that use gnulib:
18734         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18735         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18736         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18737
18738 2011-03-22  Bruno Haible  <bruno@clisp.org>
18739
18740         unictype/bidi*: Rename functions.
18741         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18742         uc_bidi_class, uc_is_bidi_class): New declarations.
18743         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18744         uc_bidi_category_byname.
18745         (uc_bidi_category_byname): New function.
18746         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18747         u_bidi_category_name.
18748         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18749         (uc_bidi_category_name): New function.
18750         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18751         uc_bidi_category.
18752         (uc_bidi_category): New function.
18753         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18754         uc_is_bidi_category. Invoke uc_bidi_class.
18755         (uc_is_bidi_category): New function.
18756         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18757         instead of uc_bidi_category_byname.
18758         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18759         instead of uc_bidi_category_name.
18760         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18761         uc_bidi_category.
18762         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18763         instead of uc_is_bidi_category.
18764
18765 2011-03-21  Bruno Haible  <bruno@clisp.org>
18766
18767         New module 'unictype/joininggroup-all'.
18768         * modules/unictype/joininggroup-all: New file.
18769
18770         Tests for module 'unictype/joininggroup-of'.
18771         * modules/unictype/joininggroup-of-tests: New file.
18772         * tests/unictype/test-joininggroup_of.c: New file.
18773         * tests/unictype/test-joininggroup_of.h: New file, automatically
18774         generated by gen-uni-tables.
18775
18776         New module 'unictype/joininggroup-of'.
18777         * modules/unictype/joininggroup-of: New file.
18778         * lib/unictype/joininggroup_of.c: New file.
18779         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18780         gen-uni-tables.
18781
18782         Tests for module 'unictype/joininggroup-byname'.
18783         * modules/unictype/joininggroup-byname-tests: New file.
18784         * tests/unictype/test-joininggroup_byname.c: New file.
18785
18786         New module 'unictype/joininggroup-byname'.
18787         * modules/unictype/joininggroup-byname: New file.
18788         * lib/unictype/joininggroup_byname.c: New file.
18789         * lib/unictype/joininggroup_byname.gperf: New file.
18790
18791         Tests for module 'unictype/joininggroup-name'.
18792         * modules/unictype/joininggroup-name-tests: New file.
18793         * tests/unictype/test-joininggroup_name.c: New file.
18794
18795         New module 'unictype/joininggroup-name'.
18796         * modules/unictype/joininggroup-name: New file.
18797         * lib/unictype/joininggroup_name.c: New file.
18798         * lib/unictype/joininggroup_name.h: New file.
18799
18800         New module 'unictype/joiningtype-all'.
18801         * modules/unictype/joiningtype-all: New file.
18802
18803         Tests for module 'unictype/joiningtype-of'.
18804         * modules/unictype/joiningtype-of-tests: New file.
18805         * tests/unictype/test-joiningtype_of.c: New file.
18806         * tests/unictype/test-joiningtype_of.h: New file, automatically
18807         generated by gen-uni-tables.
18808
18809         New module 'unictype/joiningtype-of'.
18810         * modules/unictype/joiningtype-of: New file.
18811         * lib/unictype/joiningtype_of.c: New file.
18812         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18813         gen-uni-tables.
18814
18815         Tests for module 'unictype/joiningtype-byname'.
18816         * modules/unictype/joiningtype-byname-tests: New file.
18817         * tests/unictype/test-joiningtype_byname.c: New file.
18818
18819         New module 'unictype/joiningtype-byname'.
18820         * modules/unictype/joiningtype-byname: New file.
18821         * lib/unictype/joiningtype_byname.c: New file.
18822
18823         Tests for module 'unictype/joiningtype-name'.
18824         * modules/unictype/joiningtype-name-tests: New file.
18825         * tests/unictype/test-joiningtype_name.c: New file.
18826
18827         New module 'unictype/joiningtype-name'.
18828         * modules/unictype/joiningtype-name: New file.
18829         * lib/unictype/joiningtype_name.c: New file.
18830
18831         unictype: Add support for Arabic shaping properties.
18832         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18833         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18834         declarations.
18835         (UC_JOINING_GROUP_*): New enumeration values.
18836         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18837         declarations.
18838         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18839         (unicode_joining_type): New variable.
18840         (UC_JOINING_GROUP_*): New enumeration values.
18841         (unicode_joining_group): New variable.
18842         (fill_arabicshaping, joining_type_as_c_identifier,
18843         output_joining_type_test, output_joining_type,
18844         joining_group_as_c_identifier, output_joining_group_test,
18845         output_joining_group): New functions.
18846         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18847         fill_arabicshaping and output_joining_type_test, output_joining_type,
18848         output_joining_group_test, output_joining_group.
18849         Reported by Simon Josefsson.
18850
18851 2011-03-21  Jim Meyering  <meyering@redhat.com>
18852
18853         strftime: fix a bug in yesterday's change
18854         * lib/strftime.c (add): Accommodate width's initial value of -1.
18855         Otherwise, nstrftime would copy uninitialized data into
18856         the result buffer.
18857
18858 2011-03-21  Jim Meyering  <meyering@redhat.com>
18859
18860         tests: add strftime-tests module
18861         * tests/test-strftime.c: New file.
18862         * modules/strftime-tests: New module.
18863
18864 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18865
18866         strftime: don't assume a byte count fits in 'int'
18867         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18868         found this problem by static analysis, using gcc -Wstrict-overflow
18869         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18870         on an integer overflow having undefined behavior, but it turns out
18871         that the argument is a size, which might not fit in 'int' anyway,
18872
18873 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18874
18875         stdio: don't require ignore_value around fwrite
18876
18877         This patch works around libc bug 11959
18878         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18879         Without this patch, applications must often write
18880         ignore_value (fwrite (...)) even though the ignore_value is
18881         not helpful here.  It's common to write many objects, using
18882         fwrite/printf/etc., and then use ferror to detect output error.
18883
18884         I considered making this patch optional, but decided against it,
18885         because libc is obviously being inconsistent here: there is no
18886         reason libc should insist that user code must inspect fwrite
18887         return's value without also insisting that it inspect printf's,
18888         putchar's, etc.  If user code wants to have a strict style where
18889         all these functions' values are checked (so that ferror need not
18890         be checked), we could add support for that style in a new gnulib
18891         module, but in the meantime it's better to be consistent and to
18892         support common usage.
18893
18894         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18895         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18896         that we are compiling in checking mode, and if not C++, and
18897         if not already wrapping fwrite for some other reason.
18898         (fwrite): #define to rpl_fwrite if the latter is defined.
18899
18900 2011-03-20  Bruno Haible  <bruno@clisp.org>
18901
18902         verror: Fix compilation error introduced on 2011-02-13.
18903         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
18904         instead of __attribute__.
18905         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18906
18907 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18908             Bruno Haible  <bruno@clisp.org>
18909
18910         socklen: do not depend on sys_socket
18911         While trying to modify Emacs to use gnulib's socklen module,
18912         I discovered a circular dependency: socklen depends on sys_socket
18913         and vice versa.  Emacs can use socklen, but it does not need
18914         sys_socket because it has its own substitute for sys/socket.h.
18915         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
18916         gl_TYPE_SOCKLEN_T.
18917         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
18918         gl_PREREQ_SYS_H_SOCKET.
18919         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
18920         gl_PREREQ_SYS_H_SOCKET.
18921         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
18922         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
18923         * modules/socklen (Depends-on): Do not depend on sys_socket.
18924         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
18925
18926 2011-03-20  Jim Meyering  <meyering@redhat.com>
18927
18928         maint.mk: sort file names *after* new transformation
18929         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
18930         prefix would have led to an unwarranted failure in GNU parted.
18931         Sort after that transformation.
18932
18933 2011-03-19  Jim Meyering  <meyering@redhat.com>
18934
18935         maint.mk: fix po-file syntax-check rule
18936         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
18937         Patch by Bruno Haible.
18938
18939 2011-03-19  Bruno Haible  <bruno@clisp.org>
18940
18941         socklen: Update comment.
18942         * m4/socklen.m4: Update comment about platforms.
18943
18944 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18945             Bruno Haible  <bruno@clisp.org>
18946
18947         inet_ntop, inet_pton: Simplify.
18948         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
18949         documented to provide socklen_t and we already depend on sys_socket.
18950         * modules/inet_pton (Depends-on): Likewise.
18951         * lib/arpa_inet.in.h: Adjust comment.
18952
18953 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18954             Bruno Haible  <bruno@clisp.org>
18955
18956         netdb: Simplify.
18957         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
18958         documented to provide socklen_t and we already depend on sys_socket.
18959         * lib/netdb.in.h: Adjust comment.
18960
18961 2011-03-19  Bruno Haible  <bruno@clisp.org>
18962
18963         sys_socket, netdb: Document problem with socklen_t.
18964         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
18965         platforms.
18966         * doc/posix-headers/netdb.texi: Likewise.
18967
18968 2011-03-18  Eric Blake  <eblake@redhat.com>
18969
18970         maint.mk: let po check work in VPATH build
18971         * top/maint.mk (po_file): Allow cfg.mk override.
18972         (sc_po_check): Allow VPATH use.
18973         Reported by Jiri Denemark.
18974
18975 2011-03-16  Jim Meyering  <meyering@redhat.com>
18976
18977         maint.mk: allow fine-grained syntax-check exclusion via Make variables
18978         Before, you would have had to create one .x-sc_ file per rule in order
18979         to exempt offending files.  Now, you may instead use a Make variable --
18980         usually defined in cfg.mk -- whose name identifies the affected rule.
18981         * top/maint.mk (_sc_excl): Define.
18982         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
18983         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
18984
18985 2011-03-13  Bruno Haible  <bruno@clisp.org>
18986
18987         ignore-value tests: Avoid warnings.
18988         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
18989         empty for gcc < 3.4.
18990
18991 2011-03-13  Bruno Haible  <bruno@clisp.org>
18992
18993         passfd: Fix link error on Solaris.
18994         * modules/passfd (Description): Correct.
18995         (Depends-on): Add socketlib.
18996         (Link): New section.
18997         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
18998
18999 2011-03-13  Bruno Haible  <bruno@clisp.org>
19000
19001         passfd: Fix link error on AIX 5.2.
19002         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19003
19004 2011-03-13  Bruno Haible  <bruno@clisp.org>
19005
19006         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19007         * lib/sys_socket.in.h: Include <stddef.h>.
19008         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19009         CMSG_FIRSTHDR. Remove unused variable.
19010
19011 2011-03-13  Bruno Haible  <bruno@clisp.org>
19012
19013         passfd: Fix compilation error on OpenBSD.
19014         * lib/passfd.c: Include <sys/uio.h>.
19015
19016 2011-03-13  Bruno Haible  <bruno@clisp.org>
19017
19018         passfd test: Fix warnings.
19019         * tests/test-passfd.c: Include <sys/wait.h>.
19020         (main): Fix typo.
19021
19022 2011-03-13  Bruno Haible  <bruno@clisp.org>
19023
19024         passfd module, part 4, tweaks.
19025         * tests/test-passfd.c: Reorder includes.
19026         (main): Fix perror and printf calls.
19027
19028 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19029
19030         passfd module, part 4.
19031         * modules/passfd-tests: New file.
19032         * tests/test-passfd.c: New file.
19033
19034 2011-03-13  Jim Meyering  <meyering@redhat.com>
19035
19036         Makefile: rely on GNU make; derive syntax-check rule names
19037         Rather than requiring that each sc_ rule be listed as a dependent
19038         of "check", use features of GNU make to derive the list.
19039         * Makefile (syntax-check-rules): Define.
19040         (check): Depend on the new variable, not the hard-coded list.
19041
19042 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19043             Bruno Haible  <bruno@clisp.org>
19044
19045         passfd module, part 3.
19046         * lib/passfd.h (recvfd): Add a flags argument.
19047         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19048         (recvfd): Add a flags argument.
19049         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19050         exists.
19051         * modules/passfd (Depends-on): Add cloexec.
19052         Suggested by Eric Blake.
19053
19054 2011-03-13  Bruno Haible  <bruno@clisp.org>
19055
19056         passfd module, part 2, tweaks.
19057         * modules/passfd (Files): Reorder.
19058         (Depends-on): Remove errno.
19059         (Include): Remove <sys/socket.h>, <sys/un.h>.
19060         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19061         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19062         specification header. Include <sys/socket.h> always. Don't include
19063         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19064         (sendfd): Clarify that it sets errno when it fails.
19065         (recvfd): Fix specification.
19066
19067 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19068
19069         passfd module, part 2.
19070         * modules/passfd: New file.
19071         * lib/passfd.h: New file.
19072         * lib/passfd.c: New file.
19073
19074 2011-03-12  Bruno Haible  <bruno@clisp.org>
19075
19076         wcswidth, mbswidth: Avoid integer overflow.
19077         * lib/wcswidth.c: Include <limits.h>.
19078         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19079         * lib/mbswidth.c: Include <limits.h>.
19080         (mbsnwidth): Avoid 'int' overflow.
19081         Reported by Jim Meyering.
19082
19083 2011-03-12  Bruno Haible  <bruno@clisp.org>
19084
19085         futimens, utimensat: Avoid endless recursion on Solaris 10.
19086         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19087         Solaris.
19088         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19089         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19090
19091 2011-03-11  Jim Meyering  <meyering@redhat.com>
19092
19093         maint.mk: relax a regexp to accommodate other formatting styles
19094         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19095         between "ngettext" and the following "(".
19096
19097 2011-03-11  Pádraig Brady <P@draigBrady.com>
19098
19099         maint.mk: suppress a false positive warning
19100         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19101         diagnostics are marked with ngettext.
19102
19103 2011-03-10  Eric Blake  <eblake@redhat.com>
19104
19105         wchar: add explicit dependencies, for Tru64
19106         * modules/mbmemcasecoll (Depends-on): Add wchar.
19107         * modules/mbtowc (Depends-on): Likewise.
19108         * modules/vasnprintf (Depends-on): Likewise.
19109         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19110         * modules/wctomb (Depends-on): Likewise.
19111         Reported by Peter O'Gorman.
19112
19113 2011-03-08  Bruno Haible  <bruno@clisp.org>
19114
19115         passfd module, part 1, tweaks.
19116         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19117         Improve indentation. Improve AC_MSG_CHECKING messages.
19118         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19119         gl_SOCKET_FAMILIES.
19120
19121 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19122
19123         passfd module, part 1.
19124         * m4/afunix.m4: New file.
19125         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19126         sockets.
19127
19128 2011-03-08  Bruno Haible  <bruno@clisp.org>
19129
19130         regex-quote: New API.
19131         * lib/regex-quote.h: Include <stdbool.h>.
19132         (struct regex_quote_spec): New type.
19133         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19134         New declarations.
19135         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19136         'const struct regex_quote_spec *' argument.
19137         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19138         (pcre_special): New constant.
19139         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19140         New functions.
19141         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19142         'const struct regex_quote_spec *' argument.
19143         * modules/regex-quote (Depends-on): Add stdbool.
19144         * tests/test-regex-quote.c (check): Update for new API. Add test for
19145         anchored results.
19146         * NEWS: Mention the API change.
19147         Reported by Reuben Thomas and Eric Blake.
19148
19149 2011-03-06  Bruno Haible  <bruno@clisp.org>
19150
19151         regex-quote: Fix creation of POSIX extended regular expressions.
19152         * lib/regex-quote.c (ere_special): Add grouping and alternation
19153         operators.
19154
19155 2011-03-05  Bruno Haible  <bruno@clisp.org>
19156
19157         doc: Improve doc regarding autopoint vs. gnulib.
19158         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19159         disable autopoint while running autoreconf.
19160         Suggested by Ralf Wildenhues.
19161
19162 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19163
19164         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19165         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19166
19167 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19168
19169         parse-duration: remove xalloc.h dependency
19170         * lib/parse-duration.c (parse_period): handle NULL return from
19171         strdup instead of calling xstrdup().
19172         * modules/parse-duration: remove "xalloc" dependency
19173
19174 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19175
19176         bootstrap: honor m4_base when running aclocal
19177         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19178
19179 2011-03-02  Jim Meyering  <meyering@redhat.com>
19180
19181         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19182         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19183         on request from Matt Booth.
19184
19185 2011-03-01  Eric Blake  <eblake@redhat.com>
19186
19187         test-link: work on Hurd
19188         * tests/test-link.h (test_link): Hurd rejects linking directories
19189         with EISDIR instead of the POSIX-mandated EPERM.
19190
19191 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19192
19193         stdio: simplify by moving files to printf-posix, sigpipe
19194         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19195         since this symbol is needed only if printf is replaced.
19196         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19197         Require gl_ASM_SYMBOL_PREFIX.
19198         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19199         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19200         (Depends-on): Add 'raise'.
19201         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19202         * modules/stdio (Files): Remove lib/stdio-write.c,
19203         m4/asm-underscore.m4.
19204         (Depends-on): Remove 'raise'.
19205
19206         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19207         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19208         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19209         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19210
19211 2011-02-28  Bruno Haible  <bruno@clisp.org>
19212
19213         localcharset: Assume ANSI C behaviour of free().
19214         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19215         calling free().
19216         Suggested by Simon Josefsson <simon@josefsson.org>.
19217
19218 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19219             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19220             Bruno Haible  <bruno@clisp.org>  (tiny change)
19221
19222         On Cygwin, use /proc file system instead of win32 API.
19223         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19224         Win32 file names.
19225         (DllMain): Simplify by removing Cygwin specific code.
19226         (find_shared_library_fullname): Use Linux specific implementation also
19227         for Cygwin.
19228         (get_shared_library_fullname): Update accordingly.
19229         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19230         Win32 file names.
19231         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19232         Cygwin specific code.
19233
19234 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19235             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19236
19237         Fix OpenMP flag detection for various Fortran compilers.
19238         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19239         OpenMP-conditional compilation construct, to force compile
19240         failure with missing OpenMP flag.
19241         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19242
19243 2011-02-25  Eric Blake  <eblake@redhat.com>
19244
19245         strstr: expand test coverage
19246         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19247         compilation.
19248         * tests/test-memmem.c (main): Duplicate tests.
19249         * tests/test-strcasestr.c (main): Likewise.
19250         * tests/test-c-strcasestr.c (main): Likewise.
19251
19252 2011-02-25  Jim Meyering  <meyering@redhat.com>
19253
19254         maint.mk: detect missing-NL-at-EOF, too
19255         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19256         it also detects when a file lacks a newline at EOF.
19257         (require_exactly_one_NL_at_EOF_): Renamed from
19258         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19259         since people may well have .x-sc_... file names tied to the
19260         existing name.  Suggested by Eric Blake.
19261
19262 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19263
19264         dirname: move m4/dos.m4 functionality into lib/dosname.h
19265
19266         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19267         extracts symbols from it, puts them into config.h; but it's much
19268         easier to use the symbols directly.  filename.h already does this,
19269         but it disagrees with dos.m4 in some respects.  This patch
19270         introduces a different include file dosname.h that packages up
19271         dos.m4, and then later we can work on merging filename.h and
19272         dosname.h.  Applications that need only the easy-to-configure
19273         symbols should consider including dosname.h rather than dirname.h.
19274         * NEWS: Mention incompatible changes.
19275         * m4/dos.m4: Remove.
19276         * lib/dosname.h, modules/dosname: New files.
19277         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19278         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19279         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19280         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19281         Include dosname.h, not dirname.h.
19282         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19283         Include dosname.h, for definitions of symbols like ISSLASH
19284         that used to be in config.h.
19285         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19286         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19287         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19288         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19289         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19290         * modules/rmdir (Files): Likewise.
19291         * modules/stat (Files): Likewise.
19292         * modules/unlink (Files): Likewise.
19293         * modules/dirname-lgpl (Depends-on): Add dosname.
19294         * modules/lstat (Depends-on): Likewise.
19295         * modules/openat (Depends-on): Likewise.
19296         * modules/rmdir (Depends-on): Likewise.
19297         * modules/savewd (Depends-on): Likewise.
19298         * modules/stat (Depends-on): Likewise.
19299         * modules/unlink (Depends-on): Likewise.
19300         * modules/openat (Depends-on): Remove dirname-lgpl.
19301         * modules/savewd (Depends-on): Likewise.
19302         * tests/test-dirname.c: Do not use removed symbols like
19303         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19304         the remaining symbols, e.g., ISSLASH ('\\').
19305
19306 2011-02-25  Eric Blake  <eblake@redhat.com>
19307
19308         strstr: revert patches that introduced bug and pessimization
19309         * lib/str-two-way.h: Add another reference.
19310         (two_way_short_needle, two_way_long_needle): Revert changes from
19311         2011-02-24; they pessimize search speed.
19312         (critical_factorization): Partially revert changes from
19313         2010-06-22; they violate the requirement that the left half of the
19314         needle be smaller than the period of the needle.
19315
19316 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19317
19318         filenamecat: remove unnecessary dependency on dirname-lgpl
19319         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19320         is no direct dependency, just an indirect one via filenamecat-lgpl.
19321
19322         remove: remove unnecessary use of m4/dos.m4
19323         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19324         * modules/remove (FILES): Remove m4/dos.m4.
19325
19326         * lib/openat-proc.c: Don't include dirname.h; not needed.
19327
19328         backupfile: remove unnecessary use of m4/dos.m4
19329         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19330         of its symbols are used by the backupfile code.  backupfile.c does
19331         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19332         for the rare case of programs that want all their backup file
19333         names to live within 8+3 limits, and dos.m4 doesn't address that.
19334         * modules/backupfile (Files): Remove m4/dos.m4.
19335
19336 2011-02-24  Jim Meyering  <meyering@redhat.com>
19337
19338         strstr: fix a bug whereby strstr would mistakenly return NULL
19339         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19340         in period calculation.
19341         (two_way_long_needle): Likewise.
19342         The original problem was reported by Mike Stump in
19343         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19344         Ralf Wildenhues provided the short needle and haystack.
19345         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19346         Add a more involved test to trigger the bug in two_way_long_needle.
19347
19348 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19349
19350         gnulib-tool: remove use of bold display in help screen
19351         * gnulib-tool (func_usage): Do not use bold display anymore in the
19352         help screen.  That was just meant to be a temporary emphasis for a
19353         backward-incompatible change.
19354
19355 2011-02-23  Bruno Haible  <bruno@clisp.org>
19356
19357         Fix misindentation of preprocessor directives.
19358         * lib/argp-namefrob.h: Reindent preprocessor directives.
19359         * lib/getopt_int.h (struct _getopt_data): Likewise.
19360         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19361         * lib/vasnprintf.c (decode_long_double): Likewise.
19362         * tests/test-argmatch.c: Insert blank lines, for clarity.
19363         * tests/test-exclude.c: Likewise.
19364
19365 2011-02-22  Bruno Haible  <bruno@clisp.org>
19366
19367         ioctl: Fix for MacOS X in 64-bit mode.
19368         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19369         value.
19370         Suggested by Eric Blake.
19371         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19372
19373 2011-02-22  Jim Meyering  <meyering@redhat.com>
19374
19375         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19376         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19377         in lib/.
19378
19379 2011-02-22  Eric Blake  <eblake@redhat.com>
19380
19381         maint: avoid any CDPATH issue
19382         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19383
19384         maint: adjust cpp indentation for my modules, as well
19385         * Makefile (sc_cpp_indent_check): Add my name.
19386         * lib/fbufmode.c: Filter through cppi.
19387         * lib/fpurge.c: Likewise.
19388         * lib/freadable.c: Likewise.
19389         * lib/freading.c: Likewise.
19390         * lib/fwritable.c: Likewise.
19391         * lib/fwriting.c: Likewise.
19392         * lib/sigaction.c: Likewise.
19393
19394 2011-02-22  Jim Meyering  <meyering@redhat.com>
19395
19396         maint: adjust cpp indentation to reflect nesting depth
19397         I.e., in a block of code that begins with an unnested "#if",
19398         put one space between the "#" in column 1 and following token.
19399         For example,
19400         -#include <sys/vfs.h>
19401         +# include <sys/vfs.h>
19402         Do this only in .c files that are part of a module I maintain.
19403         * lib/linkat.c: Filter through cppi.
19404         * lib/nanosleep.c: Likewise.
19405         * lib/openat.c: Likewise.
19406         * lib/openat-die.c: Likewise.
19407         * lib/dup3.c: Likewise.
19408         * lib/fchownat.c: Likewise.
19409         * lib/flock.c: Likewise.
19410         * lib/fsync.c: Likewise.
19411         * lib/fts.c: Likewise.
19412         * lib/getpass.c: Likewise.
19413         * lib/gettimeofday.c: Likewise.
19414         * lib/userspec.c: Likewise.
19415         * Makefile (sc_cpp_indent_check): New rule, to check this.
19416
19417 2011-02-22  Bruno Haible  <bruno@clisp.org>
19418
19419         New module 'wctomb'.
19420         * lib/stdlib.in.h (wctomb): New declaration.
19421         * lib/wctomb.c: New file.
19422         * lib/wctomb-impl.h: New file.
19423         * m4/wctomb.m4: New file.
19424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
19425         REPLACE_WCTOMB.
19426         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
19427         REPLACE_WCTOMB.
19428         * modules/wctomb: New file.
19429         * tests/test-stdlib-c++.cc: Test signature of wctomb.
19430         * doc/posix-functions/wctomb.texi: Mention the new module.
19431         * modules/wctob (Depends-on): Add wctomb.
19432
19433 2011-02-22  Bruno Haible  <bruno@clisp.org>
19434
19435         New module 'mbtowc'.
19436         * lib/stdlib.in.h (mbtowc): New declaration.
19437         * lib/mbtowc.c: New file.
19438         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
19439         * m4/mbtowc.m4: New file.
19440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
19441         REPLACE_MBTOWC.
19442         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
19443         REPLACE_MBTOWC.
19444         * modules/mbtowc: New file.
19445         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
19446         * doc/posix-functions/mbtowc.texi: Mention the new module.
19447         * modules/btowc (Depends-on): Add mbtowc.
19448
19449 2011-02-22  Bruno Haible  <bruno@clisp.org>
19450
19451         wcrtomb: Add more tests for native Windows platforms.
19452         * tests/test-wcrtomb-w32-1.sh: New file.
19453         * tests/test-wcrtomb-w32-2.sh: New file.
19454         * tests/test-wcrtomb-w32-3.sh: New file.
19455         * tests/test-wcrtomb-w32-4.sh: New file.
19456         * tests/test-wcrtomb-w32-5.sh: New file.
19457         * tests/test-wcrtomb-w32.c: New file.
19458         * modules/wcrtomb-tests (Files): Add them.
19459         (Makefile.am): Arrange to run these tests.
19460         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
19461         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
19462
19463 2011-02-20  Bruno Haible  <bruno@clisp.org>
19464
19465         wcrtomb: Enhance test.
19466         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
19467
19468 2011-02-20  Bruno Haible  <bruno@clisp.org>
19469
19470         mbrtowc: Tiny optimization.
19471         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
19472
19473 2011-02-20  Jim Meyering  <meyering@redhat.com>
19474
19475         test-exclude.c: remove unmatched #endif
19476         * tests/test-exclude.c: Remove stray #endif, left over from
19477         the change of a week ago.
19478
19479 2011-02-19  Jim Meyering  <meyering@redhat.com>
19480
19481         git-version-gen: skip "-dirty" check when appropriate
19482         * build-aux/git-version-gen: Don't run any git commands when the
19483         version string comes from .tarball-version.  Prior to this, we
19484         would run git update-index --refresh even from a just-unpacked
19485         tarball directory, and that could affect a .git/ directory in a
19486         parent of the build directory.  Reported by Mike Frysinger.
19487
19488 2011-02-19  Bruno Haible  <bruno@clisp.org>
19489
19490         unictype/property-byname: Reduce the size of the 'data' segment.
19491         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
19492
19493 2011-02-19  Bruno Haible  <bruno@clisp.org>
19494
19495         unictype/scripts: Reduce the size of the 'data' segment.
19496         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
19497         '%pic'.
19498         * lib/unictype/scripts_byname.gperf: Regenerated.
19499
19500 2011-02-19  Bruno Haible  <bruno@clisp.org>
19501
19502         stdint: Update documentation.
19503         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
19504
19505 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19506
19507         stdint: omit redundant check for wchar.h
19508         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
19509         always tests whether wchar.h exists, so remove the now-redundant test.
19510
19511 2011-02-18  Bruno Haible  <bruno@clisp.org>
19512
19513         stdint: Cut dependency to module 'wchar'.
19514         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
19515         include the necessary prerequisites.
19516         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
19517         * modules/stdint (Depends-on): Remove wchar.
19518         (Makefile.am): Substitute HAVE_WCHAR_H.
19519         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
19520
19521 2011-02-18  Eric Blake  <eblake@redhat.com>
19522
19523         longlong: skip, rather than fail, on cross-compilation
19524         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
19525         when cross-compiling; regression from 2011-02-16.
19526
19527 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19528
19529         * NEWS: Mention 2011-02-08 change to stdlib.
19530
19531 2011-02-17  Bruno Haible  <bruno@clisp.org>
19532
19533         getloadavg: Add comments about platforms.
19534         * m4/getloadavg.m4: Add comment.
19535         * lib/getloadavg.c: Likewise.
19536
19537 2011-02-17  Bruno Haible  <bruno@clisp.org>
19538
19539         getloadavg: Fix link error on Solaris 2.6.
19540         * modules/getloadavg (Link): New section.
19541         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19542         linking test-getloadavg.
19543         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19544         getloadavg.
19545
19546 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19547
19548         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19549         It was 'int', but this doesn't match the IRIX 6.5 manual.
19550         Suggested by Bruno Haible in
19551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19552
19553 2011-02-17  Bruno Haible  <bruno@clisp.org>
19554
19555         havelib: Fix comments.
19556         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19557         change.
19558
19559 2011-02-17  Bruno Haible  <bruno@clisp.org>
19560
19561         havelib: Update config.rpath.
19562         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19563
19564 2011-02-17  Bruno Haible  <bruno@clisp.org>
19565
19566         getloadavg test: Add some plausibility checks.
19567         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19568         is improbable.
19569
19570 2011-02-16  Eric Blake  <eblake@redhat.com>
19571
19572         maintainer-makefile: make syntax-check a no-op from tarballs
19573         * top/maint.mk (no-vc-detected): New rule.
19574         (local-checks-available): Use it to avoid hanging if someone tries
19575         'make syntax-check' from a tarball.  Also append to any non-syntax
19576         checks already defined in cfg.mk.
19577
19578 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19579
19580         longlong: tune, particularly for common case of c99
19581
19582         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19583         or running anything if c99, or if unsigned long long int does not
19584         work.  In either case, we know the answer without further tests.
19585         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19586         it at most once, and use its results for both long long int and
19587         unsigned long long int.  This is more likely to be efficient in
19588         the common case where the program wants to check for both long
19589         long int and unsigned long long int.
19590         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19591         since the answer is already known.
19592
19593 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19594
19595         getloadavg: set errno
19596         * lib/getloadavg.c: Set errno when returning -1.  If no other
19597         error number looks appropriate, set it to ENOSYS if the getloadavg
19598         looks like it can't possibly ever work, ENOTSUP otherwise.
19599         Suggested by Bruno Haible in
19600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19601
19602         getloadavg: trim unused parts and speed up 'configure'
19603         * NEWS: Document this.
19604         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19605         always compiled if getloadavg is absent.
19606         Move test code to ...
19607         * tests/test-getloadavg.c: New file, containing previous
19608         contents of test from lib/getloadavg.c.  It also contains
19609         suggestions by Bruno Haible in
19610         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19611         * modules/getloadavg-tests: New file.
19612         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19613         Do tests in the same order as they're needed for getloadavg.c.
19614         Omit setgid-related tests that generate symbols KMEM_GROUP,
19615         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19616         Do only the tests that are needed to see whether the system has
19617         getloadavg, moving the other tests into ...
19618         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19619         NLIST_NAME_UNION; nobody should be using it.  Do not define
19620         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19621         relevant, as the user of this module shouldn't care how getloadavg
19622         is implemented.
19623
19624         getloadavg: omit unused var
19625         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19626
19627 2011-02-15  Jim Meyering  <meyering@redhat.com>
19628
19629         doc: update users.txt
19630         * users.txt: Update iwhd's URL.
19631
19632 2011-02-13  Bruno Haible  <bruno@clisp.org>
19633
19634         Consistent macro naming for macros that use GCC __attribute__.
19635         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19636         _ATTRIBUTE_NONNULL_.
19637         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19638         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19639         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19640         ATTRIBUTE_DEPRECATED.
19641         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19642         ATTRIBUTE_NORETURN.
19643         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19644         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19645         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19646         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19647         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19648         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19649         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19650         ATTRIBUTE_SENTINEL.
19651         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19652         ATTRIBUTE_RETURN_CHECK.
19653         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19654         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19655         ATTRIBUTE_NORETURN.
19656         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19657         Reported by Paul Eggert.
19658
19659 2011-02-13  Bruno Haible  <bruno@clisp.org>
19660
19661         Don't interfere with a program's definition of __attribute__.
19662         * lib/argp.h (__attribute__): Remove definition.
19663         (_GL_ATTRIBUTE_FORMAT): New macro.
19664         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19665         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19666         (_GL_ATTRIBUTE_FORMAT): New macro.
19667         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19668         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19669         GCC 3 or newer.
19670         * lib/error.h (__attribute__): Remove definition.
19671         (_GL_ATTRIBUTE_FORMAT): New macro.
19672         (error, error_at_line): Use it.
19673         * lib/hash.h (__attribute__): Remove definition.
19674         (ATTRIBUTE_WUR): Update definition. Define always.
19675         * lib/openat.h (__attribute__): Remove definition.
19676         (ATTRIBUTE_NORETURN): Update definition. Define always.
19677         * lib/sigpipe-die.h (__attribute__): Remove definition.
19678         (ATTRIBUTE_NORETURN): Update definition. Define always.
19679         * lib/vasnprintf.h (__attribute__): Remove definition.
19680         (_GL_ATTRIBUTE_FORMAT): New macro.
19681         (asnprintf, vasnprintf): Use it.
19682         * lib/xalloc.h (__attribute__): Remove definition.
19683         (ATTRIBUTE_NORETURN): Update definition. Define always.
19684         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19685         * lib/xmemdup0.h (__attribute__): Remove definition.
19686         (ATTRIBUTE_NORETURN): Update definition. Define always.
19687         * lib/xprintf.h (__attribute__): Remove definition.
19688         (_GL_ATTRIBUTE_FORMAT): New macro.
19689         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19690         * lib/xstrtol.h (__attribute__): Remove definition.
19691         (ATTRIBUTE_NORETURN): Update definition. Define always.
19692         * lib/xvasprintf.h (__attribute__): Remove definition.
19693         (_GL_ATTRIBUTE_FORMAT): New macro.
19694         (xasprintf, xvasprintf): Use it.
19695         * tests/test-argmatch.c (__attribute__): Remove definition.
19696         (ATTRIBUTE_NORETURN): Update definition. Define always.
19697         * tests/test-exclude.c (__attribute__): Remove definition.
19698         (ATTRIBUTE_NORETURN): Update definition. Define always.
19699         Reported by Paul Eggert.
19700
19701 2011-02-13  Bruno Haible  <bruno@clisp.org>
19702
19703         mbrtowc: Add more tests for native Windows platforms.
19704         * tests/test-mbrtowc-w32-1.sh: New file.
19705         * tests/test-mbrtowc-w32-2.sh: New file.
19706         * tests/test-mbrtowc-w32-3.sh: New file.
19707         * tests/test-mbrtowc-w32-4.sh: New file.
19708         * tests/test-mbrtowc-w32-5.sh: New file.
19709         * tests/test-mbrtowc-w32.c: New file.
19710         * modules/mbrtowc-tests (Files): Add them.
19711         (Makefile.am): Arrange to run these tests.
19712         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19713         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19714
19715 2011-02-13  Bruno Haible  <bruno@clisp.org>
19716
19717         mbrtowc: Work around native Windows bug.
19718         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19719         guess when no suitable locale for testing was found.
19720         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19721
19722 2011-02-13  Bruno Haible  <bruno@clisp.org>
19723
19724         mbsinit: Work around mingw bug.
19725         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19726         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19727         Windows.
19728         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19729
19730 2011-02-13  Bruno Haible  <bruno@clisp.org>
19731
19732         mbsinit: Don't crash for a NULL argument.
19733         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19734         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19735
19736 2011-02-13  Bruno Haible  <bruno@clisp.org>
19737
19738         Don't interfere with a program's definition of __attribute__.
19739         * lib/stdio.in.h (__attribute__): Remove definition.
19740         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19741         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19742         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19743         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19744         * lib/string.in.h (__attribute__): Remove definition.
19745         Reported by Paul Eggert.
19746
19747 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19748
19749         stdlib: don't get in the way of non-GCC __attribute__
19750         See thread starting at
19751         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19752         Revert previous stdlib change, installing the following instead:
19753         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19754         to get in the way of a non-GCC compiler that supports __attribute__.
19755         (_GL_ATTRIBUTE_RETURN): New macro.
19756         (_Exit): Use it instead of __attribute__.
19757
19758 2011-02-12  Bruno Haible  <bruno@clisp.org>
19759
19760         quotearg test: Avoid test failure on mingw.
19761         * tests/test-quotearg.sh: Convert the locale identifier from native
19762         Windows syntax to Unix syntax.
19763
19764 2011-02-12  Bruno Haible  <bruno@clisp.org>
19765
19766         setlocale: Prefer gnulib's override over libintl's override.
19767         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19768         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19769         GNULIB_defined_setlocale is set.
19770
19771 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19772
19773         stdlib: support non-GCC __attribute__
19774
19775         Fix a serious and tricky problem encountered when attempting to
19776         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19777         5.5, but it crashed due to memory corruption on Solaris 10 with
19778         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19779         bits that are otherwise zero.  This tagging is optional inside
19780         Emacs but is preferred and is used when __attribute__ ((__aligned
19781         (8))) works, as it does with both recent-enough GCC and with Sun C
19782         5.11.  However, Sun C 5.11 is not GCC and does not #define
19783         __GNUC__ and __GNUC_MINOR__.
19784
19785         When I added the getloadavg module to Emacs, it brought in
19786         stdlib.in.h, which contained this fragment:
19787
19788            #ifndef __attribute__
19789            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19790            #  define __attribute__(Spec)   /* empty */
19791            # endif
19792            #endif
19793
19794         When files that include <stdlib.h> were compiled with Sun C 5.11,
19795         the above code disabled __attribute__ ((__aligned (8))), which
19796         caused variables to not be properly aligned, which eventually led
19797         to the pointer corruption mentioned above.  (This was a bit hard
19798         to diagnose, unfortunately.)
19799
19800         Several "#define __attribute__(X) /* empty */" code snippets need
19801         to be eradicated from Gnulib to work with non-GCC compilers that
19802         support __attribute__.  The Autoconf way to do this is to test for
19803         each kind of attribute that we want support for, and selectively
19804         enable that in source code.
19805
19806         Fix this problem just for stdlib.h, by adding a test for the
19807         __noreturn__ attribute, and change stdlib.in.h to use that test
19808         when needed.  This technique can be easily generalized to the
19809         other *.in.h files and attributes, and a similar technique can be
19810         used for *.h and *.c files.  This patch is enough to solve the
19811         problem for Emacs + getloadavg, and I thought I'd publish it for
19812         feedback before undertaking further, similar fixes in other
19813         modules.
19814
19815         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19816         because it's not needed for stdlib.h.  It merely substitutes the
19817         value directly into stdlib.h.  We may well need to #define it, or
19818         similar symbols, for other modules, but it's nice to also have an
19819         option to not #define it for applications like Emacs that do not
19820         need it.
19821
19822         * lib/stdlib.in.h (__attribute__): Do not #define.
19823         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19824         be defined only if the _Exit module is also used.
19825         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19826         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19827         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19828         platforms.
19829         * modules/_Exit (Files): Add m4/attribute.m4.
19830         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19831         * m4/attribute.m4: New file.
19832
19833 2011-02-12  Bruno Haible  <bruno@clisp.org>
19834
19835         wcsrtombs: Work around bug on native Windows.
19836         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19837         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19838         instead of len.
19839         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19840
19841 2011-02-12  Bruno Haible  <bruno@clisp.org>
19842
19843         mbsrtowcs: Work around bug on native Windows.
19844         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19845         against mingw bug.
19846         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19847
19848 2011-02-12  Bruno Haible  <bruno@clisp.org>
19849
19850         Avoid setlocale bugs in tests.
19851         * modules/btowc (Dependencies): Add setlocale.
19852         * modules/c-strcase (Dependencies): Likewise.
19853         * modules/mbmemcasecmp (Dependencies): Likewise.
19854         * modules/mbmemcasecoll (Dependencies): Likewise.
19855         * modules/mbrtowc (Dependencies): Likewise.
19856         * modules/mbscasecmp (Dependencies): Likewise.
19857         * modules/mbscasestr (Dependencies): Likewise.
19858         * modules/mbschr (Dependencies): Likewise.
19859         * modules/mbscspn (Dependencies): Likewise.
19860         * modules/mbsinit (Dependencies): Likewise.
19861         * modules/mbsncasecmp (Dependencies): Likewise.
19862         * modules/mbsnrtowcs (Dependencies): Likewise.
19863         * modules/mbspbrk (Dependencies): Likewise.
19864         * modules/mbspcasecmp (Dependencies): Likewise.
19865         * modules/mbsrchr (Dependencies): Likewise.
19866         * modules/mbsrtowcs (Dependencies): Likewise.
19867         * modules/mbsspn (Dependencies): Likewise.
19868         * modules/mbsstr (Dependencies): Likewise.
19869         * modules/nl_langinfo (Dependencies): Likewise.
19870         * modules/quotearg (Dependencies): Likewise.
19871         * modules/unicase/locale-language (Dependencies): Likewise.
19872         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19873         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19874         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19875         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19876         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19877         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19878         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19879         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19880         * modules/vasnprintf-posix (Dependencies): Likewise.
19881         * modules/wcrtomb (Dependencies): Likewise.
19882         * modules/wcsnrtombs (Dependencies): Likewise.
19883         * modules/wcsrtombs (Dependencies): Likewise.
19884
19885 2011-02-12  Bruno Haible  <bruno@clisp.org>
19886
19887         setlocale: Workaround native Windows bug.
19888         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19889         succeeds but sets LC_CTYPE to "C", report a failure.
19890         * tests/test-setlocale2.sh: New file.
19891         * tests/test-setlocale2.c: New file.
19892         * modules/setlocale-tests (Files): Add the new files.
19893         (Makefile.am): Enable test-setlocale2.sh test.
19894         * doc/posix-functions/setlocale.texi: Mention workaround.
19895
19896 2011-02-11  Bruno Haible  <bruno@clisp.org>
19897
19898         Tests for module 'setlocale'.
19899         * modules/setlocale-tests: New file.
19900         * tests/test-setlocale1.sh: New file.
19901         * tests/test-setlocale1.c: New file.
19902
19903         New module 'setlocale'.
19904         * lib/locale.in.h (setlocale): New declaration.
19905         * lib/setlocale.c: New file, based on
19906         gettext/gettext-runtime/intl/setlocale.c.
19907         * m4/setlocale.m4: New file.
19908         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
19909         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
19910         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
19911         REPLACE_SETLOCALE.
19912         * modules/setlocale: New file.
19913         * tests/test-locale-c++.cc: Test the declaration of setlocale.
19914         * doc/posix-functions/setlocale.texi: Mention the new module.
19915
19916 2011-02-11  Bruno Haible  <bruno@clisp.org>
19917
19918         Prepare for locale dependent tests on mingw.
19919         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
19920         because it has the wrong locale encoding.
19921         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
19922         French_France.1252 instead of "fr".
19923         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
19924         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
19925         because it has the wrong locale encoding.
19926         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
19927         native Windows, try Turkish_Turkey.65001.
19928         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
19929         Chinese_China.54936.
19930
19931         Prepare for locale dependent tests on mingw.
19932         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
19933         differently.
19934         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19935         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19936         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19937         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19938
19939 2011-02-11  Eric Blake  <eblake@redhat.com>
19940
19941         strptime: avoid compiler warnings
19942         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
19943         compiler warnings about dead code.
19944         Reported by Daniel P. Berrange.
19945
19946 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
19947
19948         doc: update users.txt
19949         * users.txt: Add rcs.
19950
19951 2011-02-10  John W. Eaton  <jwe@gnu.org>
19952
19953         doc: update users.txt
19954         * users.txt: Add octave.
19955
19956 2011-02-10  Jim Meyering  <meyering@redhat.com>
19957
19958         doc: update users.txt
19959         * users.txt: Add iwhd.
19960
19961 2011-02-09  Bruno Haible  <bruno@clisp.org>
19962
19963         gnulib-tool: Make copyright notice adjustment more robust.
19964         * gnulib-tool (func_import): In sed_transform_main_lib_file,
19965         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
19966         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
19967         License".
19968         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
19969
19970 2011-02-06  Bruno Haible  <bruno@clisp.org>
19971
19972         New module 'towctrans'.
19973         * modules/towctrans: New file.
19974         * lib/wctype.in.h (towctrans): New declaration.
19975         * lib/towctrans.c: New file.
19976         * lib/towctrans-impl.h: New file.
19977         * m4/towctrans.m4: New file.
19978         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
19979         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
19980         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
19981         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
19982         * doc/posix-functions/towctrans.texi: Mention the new module.
19983
19984 2011-02-06  Bruno Haible  <bruno@clisp.org>
19985
19986         New module 'wctrans'.
19987         * modules/wctrans: New file.
19988         * lib/wctype.in.h (wctrans): New declaration.
19989         * lib/wctrans.c: New file.
19990         * lib/wctrans-impl.h: New file.
19991         * m4/wctrans.m4: New file.
19992         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
19993         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
19994         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
19995         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
19996         * doc/posix-functions/wctrans.texi: Mention the new module.
19997
19998 2011-02-06  Bruno Haible  <bruno@clisp.org>
19999
20000         New module 'iswctype'.
20001         * modules/iswctype: New file.
20002         * lib/wctype.in.h (iswctype): New declaration.
20003         * lib/iswctype.c: New file.
20004         * lib/iswctype-impl.h: New file.
20005         * m4/iswctype.m4: New file.
20006         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20007         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20008         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20009         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20010         * doc/posix-functions/iswctype.texi: Mention the new module and the
20011         HP-UX 11.00 problem.
20012
20013 2011-02-06  Bruno Haible  <bruno@clisp.org>
20014
20015         New module 'wctype'.
20016         * modules/wctype: Change to represent the wctype() substitute.
20017         * lib/wctype.in.h (wctype): New declaration.
20018         * lib/wctype.c: New file.
20019         * lib/wctype-impl.h: New file.
20020         * m4/wctype.m4: New file.
20021         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20022         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20023         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20024         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20025         * doc/posix-functions/wctype.texi: Mention the new module and the
20026         HP-UX 11.00 problem.
20027
20028 2011-02-06  Bruno Haible  <bruno@clisp.org>
20029
20030         wctype-h: Ensure wctype_t and wctrans_t are defined.
20031         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20032         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20033         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20034         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20035         HAVE_WCTRANS_T.
20036         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20037
20038 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20039
20040         flock: fix license typo
20041
20042         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20043         omitted.
20044
20045 2011-02-08  Bruno Haible  <bruno@clisp.org>
20046
20047         Split large sed scripts, for HP-UX sed.
20048         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20049         to avoid HP-UX limit of 99 commands, in the near future.
20050         * modules/stdlib (Makefile.am): Likewise.
20051         * modules/unistd (Makefile.am): Likewise.
20052         * modules/wchar (Makefile.am): Likewise.
20053         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20054         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20055         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20056
20057 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20058             Bruno Haible  <bruno@clisp.org>
20059
20060         stdlib: improve random_r modularization
20061         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20062         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20063         you also need the random_r module to get this material right.
20064         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20065         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20066         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20067
20068 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20069
20070         stdlib: don't depend on stdint
20071         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20072         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20073         be independent of whether stdint.h is needed.
20074         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20075         here, instead of ...
20076         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20077         struct random_data should be using the random_r module, not just
20078         the stdlib module (which wouldn't make sense: what package needs
20079         just struct random_data without also needing random_r?).
20080         * modules/stdlib (Depends-on): Remove stdint.
20081
20082         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20083         See the thread rooted at
20084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20085         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20086         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20087         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20088         __VMS)); previously it was always included (via fcntl--.h).
20089         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20090         hand; this is good enough for load averages.  Also, do not use
20091         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20092         flags directly if available and don't bother otherwise.  (Packages
20093         that need the extra reliability should use the modules that define
20094         these flags on older platforms that lack them.)
20095         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20096         fcntl-safer.
20097
20098 2011-02-08  Jim Meyering  <meyering@redhat.com>
20099
20100         di-set.h, ino-map.h: add multiple-inclusion guard
20101         Technically, the guard is required only for ino-map.h, due to its
20102         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20103         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20104         * lib/ino-map.h: Likewise.
20105
20106 2011-02-06  Bruno Haible  <bruno@clisp.org>
20107
20108         iswblank: Ensure declaration on glibc systems.
20109         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20110         * modules/iswblank (Dependencies): Add 'extensions'.
20111         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20112
20113 2011-02-06  Bruno Haible  <bruno@clisp.org>
20114
20115         New module 'iswblank'.
20116         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20117         * modules/iswblank: New file.
20118         * modules/wctype-h (Files): Remove lib/iswblank.c.
20119         (Makefile.am): Substitute GNULIB_ISWBLANK.
20120         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20121         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20122         (gl_WCTYPE_H_DEFAULTS): New macro.
20123         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20124         * modules/iswblank-tests: New file.
20125         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20126         * tests/test-wctype-h.c (main): Remove iswblank tests.
20127         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20128         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20129         of 'wctype-h'.
20130         * NEWS: Mention the change.
20131         * modules/mbchar (Depends-on): Add iswblank.
20132
20133 2011-02-08  Bruno Haible  <bruno@clisp.org>
20134
20135         di-set tests: Refactor.
20136         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20137         unnecessary includes.
20138         (ASSERT): Remove macro.
20139         (main): Make C90 compliant by avoiding variable declaration after
20140         statement.
20141         * modules/di-set-tests (Files): Add tests/macros.h.
20142
20143 2011-02-08  Bruno Haible  <bruno@clisp.org>
20144
20145         ino-map tests: Refactor.
20146         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20147         unnecessary includes.
20148         (ASSERT): Remove macro.
20149         (main): Make C90 compliant by avoiding variable declaration after
20150         statement.
20151         * modules/ino-map-tests (Files): Add tests/macros.h.
20152
20153 2011-02-08  Jim Meyering  <meyering@redhat.com>
20154
20155         di-set: add "const" to a cast
20156         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20157         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20158
20159 2011-02-06  Bruno Haible  <bruno@clisp.org>
20160
20161         Rename module 'wctype' to 'wctype-h'.
20162         * modules/wctype-h: Renamed from modules/wctype.
20163         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20164         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20165         (Files, Depends-on, Makefile.am): Update.
20166         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20167         (Files, Makefile.am): Update.
20168         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20169         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20170         * doc/posix-headers/wctype.texi: Update.
20171         * doc/posix-functions/iswalnum.texi: Update.
20172         * doc/posix-functions/iswalpha.texi: Update.
20173         * doc/posix-functions/iswblank.texi: Update.
20174         * doc/posix-functions/iswcntrl.texi: Update.
20175         * doc/posix-functions/iswdigit.texi: Update.
20176         * doc/posix-functions/iswgraph.texi: Update.
20177         * doc/posix-functions/iswlower.texi: Update.
20178         * doc/posix-functions/iswprint.texi: Update.
20179         * doc/posix-functions/iswpunct.texi: Update.
20180         * doc/posix-functions/iswspace.texi: Update.
20181         * doc/posix-functions/iswupper.texi: Update.
20182         * doc/posix-functions/iswxdigit.texi: Update.
20183         * doc/posix-functions/towlower.texi: Update.
20184         * doc/posix-functions/towupper.texi: Update.
20185         * NEWS: Mention the change.
20186         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20187         * modules/mbchar (Dependencies): Likewise.
20188         * modules/mbswidth (Dependencies): Likewise.
20189         * modules/quotearg (Dependencies): Likewise.
20190         * modules/regex (Dependencies): Likewise.
20191         * modules/wcscasecmp (Dependencies): Likewise.
20192         * modules/wcsncasecmp (Dependencies): Likewise.
20193         * modules/wcwidth (Dependencies): Likewise.
20194
20195 2011-02-06  Bruno Haible  <bruno@clisp.org>
20196
20197         New module 'wcswidth'.
20198         * modules/wcswidth: New file.
20199         * lib/wchar.in.h (wcswidth): New declaration.
20200         * lib/wcswidth.c: New file.
20201         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20202         * m4/wcswidth.m4: New file.
20203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20205         REPLACE_WCSWIDTH.
20206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20207         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20208         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20209         * doc/posix-functions/wcswidth.texi: Mention the new module.
20210
20211 2011-02-06  Bruno Haible  <bruno@clisp.org>
20212
20213         New module 'wcstok'.
20214         * modules/wcstok: New file.
20215         * lib/wchar.in.h (wcstok): New declaration.
20216         * lib/wcstok.c: New file.
20217         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20218         * m4/wcstok.m4: New file.
20219         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20220         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20221         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20222         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20223         * doc/posix-functions/wcstok.texi: Mention the new module.
20224
20225 2011-02-06  Bruno Haible  <bruno@clisp.org>
20226
20227         New module 'wcsstr'.
20228         * modules/wcsstr: New file.
20229         * lib/wchar.in.h (wcsstr): New declaration.
20230         * lib/wcsstr.c: New file.
20231         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20232         * m4/wcsstr.m4: New file.
20233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20236         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20237         * doc/posix-functions/wcsstr.texi: Mention the new module.
20238
20239 2011-02-06  Bruno Haible  <bruno@clisp.org>
20240
20241         New module 'wcspbrk'.
20242         * modules/wcspbrk: New file.
20243         * lib/wchar.in.h (wcspbrk): New declaration.
20244         * lib/wcspbrk.c: New file.
20245         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20246         * m4/wcspbrk.m4: New file.
20247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20250         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20251         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20252
20253 2011-02-06  Bruno Haible  <bruno@clisp.org>
20254
20255         New module 'wcsspn'.
20256         * modules/wcsspn: New file.
20257         * lib/wchar.in.h (wcsspn): New declaration.
20258         * lib/wcsspn.c: New file.
20259         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20260         * m4/wcsspn.m4: New file.
20261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20264         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20265         * doc/posix-functions/wcsspn.texi: Mention the new module.
20266
20267 2011-02-06  Bruno Haible  <bruno@clisp.org>
20268
20269         New module 'wcscspn'.
20270         * modules/wcscspn: New file.
20271         * lib/wchar.in.h (wcscspn): New declaration.
20272         * lib/wcscspn.c: New file.
20273         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20274         * m4/wcscspn.m4: New file.
20275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20278         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20279         * doc/posix-functions/wcscspn.texi: Mention the new module.
20280
20281 2011-02-06  Bruno Haible  <bruno@clisp.org>
20282
20283         New module 'wcsrchr'.
20284         * modules/wcsrchr: New file.
20285         * lib/wchar.in.h (wcsrchr): New declaration.
20286         * lib/wcsrchr.c: New file.
20287         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20288         * m4/wcsrchr.m4: New file.
20289         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20290         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20291         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20292         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20293         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20294
20295 2011-02-06  Bruno Haible  <bruno@clisp.org>
20296
20297         New module 'wcschr'.
20298         * modules/wcschr: New file.
20299         * lib/wchar.in.h (wcschr): New declaration.
20300         * lib/wcschr.c: New file.
20301         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20302         * m4/wcschr.m4: New file.
20303         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20304         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20305         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20306         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20307         * doc/posix-functions/wcschr.texi: Mention the new module.
20308
20309 2011-02-06  Bruno Haible  <bruno@clisp.org>
20310
20311         New module 'wcsdup'.
20312         * modules/wcsdup: New file.
20313         * lib/wchar.in.h (wcsdup): New declaration.
20314         * lib/wcsdup.c: New file.
20315         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20316         * m4/wcsdup.m4: New file.
20317         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20318         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20319         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20320         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20321         * doc/posix-functions/wcsdup.texi: Mention the new module.
20322
20323 2011-02-06  Bruno Haible  <bruno@clisp.org>
20324
20325         New module 'wcsxfrm'.
20326         * modules/wcsxfrm: New file.
20327         * lib/wchar.in.h (wcsxfrm): New declaration.
20328         * lib/wcsxfrm.c: New file.
20329         * lib/wcsxfrm-impl.h: New file.
20330         * m4/wcsxfrm.m4: New file.
20331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20334         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20335         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20336
20337 2011-02-06  Bruno Haible  <bruno@clisp.org>
20338
20339         New module 'wcscoll'.
20340         * modules/wcscoll: New file.
20341         * lib/wchar.in.h (wcscoll): New declaration.
20342         * lib/wcscoll.c: New file.
20343         * lib/wcscoll-impl.h: New file.
20344         * m4/wcscoll.m4: New file.
20345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20347         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20348         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20349         * doc/posix-functions/wcscoll.texi: Mention the new module.
20350
20351 2011-02-06  Bruno Haible  <bruno@clisp.org>
20352
20353         New module 'wcsncasecmp'.
20354         * modules/wcsncasecmp: New file.
20355         * lib/wchar.in.h (wcsncasecmp): New declaration.
20356         * lib/wcsncasecmp.c: New file.
20357         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20358         * m4/wcsncasecmp.m4: New file.
20359         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20360         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20361         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20362         HAVE_WCSNCASECMP.
20363         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20364         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20365
20366 2011-02-06  Bruno Haible  <bruno@clisp.org>
20367
20368         New module 'wcscasecmp'.
20369         * modules/wcscasecmp: New file.
20370         * lib/wchar.in.h (wcscasecmp): New declaration.
20371         * lib/wcscasecmp.c: New file.
20372         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20373         * m4/wcscasecmp.m4: New file.
20374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20377         HAVE_WCSCASECMP.
20378         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20379         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20380
20381 2011-02-05  Bruno Haible  <bruno@clisp.org>
20382
20383         New module 'wcsncmp'.
20384         * modules/wcsncmp: New file.
20385         * lib/wchar.in.h (wcsncmp): New declaration.
20386         * lib/wcsncmp.c: New file.
20387         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20388         * m4/wcsncmp.m4: New file.
20389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20392         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20393         * doc/posix-functions/wcsncmp.texi: Mention the new module.
20394
20395 2011-02-05  Bruno Haible  <bruno@clisp.org>
20396
20397         New module 'wcscmp'.
20398         * modules/wcscmp: New file.
20399         * lib/wchar.in.h (wcscmp): New declaration.
20400         * lib/wcscmp.c: New file.
20401         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
20402         * m4/wcscmp.m4: New file.
20403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
20404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
20405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
20406         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
20407         * doc/posix-functions/wcscmp.texi: Mention the new module.
20408
20409 2011-02-05  Bruno Haible  <bruno@clisp.org>
20410
20411         New module 'wcsncat'.
20412         * modules/wcsncat: New file.
20413         * lib/wchar.in.h (wcsncat): New declaration.
20414         * lib/wcsncat.c: New file.
20415         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
20416         * m4/wcsncat.m4: New file.
20417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
20418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
20419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
20420         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
20421         * doc/posix-functions/wcsncat.texi: Mention the new module.
20422
20423 2011-02-05  Bruno Haible  <bruno@clisp.org>
20424
20425         New module 'wcscat'.
20426         * modules/wcscat: New file.
20427         * lib/wchar.in.h (wcscat): New declaration.
20428         * lib/wcscat.c: New file.
20429         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
20430         * m4/wcscat.m4: New file.
20431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
20432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
20433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
20434         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
20435         * doc/posix-functions/wcscat.texi: Mention the new module.
20436
20437 2011-02-05  Bruno Haible  <bruno@clisp.org>
20438
20439         New module 'wcpncpy'.
20440         * modules/wcpncpy: New file.
20441         * lib/wchar.in.h (wcpncpy): New declaration.
20442         * lib/wcpncpy.c: New file.
20443         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
20444         * m4/wcpncpy.m4: New file.
20445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
20446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
20447         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
20448         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
20449         * doc/posix-functions/wcpncpy.texi: Mention the new module.
20450
20451 2011-02-05  Bruno Haible  <bruno@clisp.org>
20452
20453         New module 'wcsncpy'.
20454         * modules/wcsncpy: New file.
20455         * lib/wchar.in.h (wcsncpy): New declaration.
20456         * lib/wcsncpy.c: New file.
20457         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
20458         * m4/wcsncpy.m4: New file.
20459         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
20460         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
20461         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
20462         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
20463         * doc/posix-functions/wcsncpy.texi: Mention the new module.
20464
20465 2011-02-05  Bruno Haible  <bruno@clisp.org>
20466
20467         New module 'wcpcpy'.
20468         * modules/wcpcpy: New file.
20469         * lib/wchar.in.h (wcpcpy): New declaration.
20470         * lib/wcpcpy.c: New file.
20471         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
20472         * m4/wcpcpy.m4: New file.
20473         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
20474         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
20475         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
20476         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
20477         * doc/posix-functions/wcpcpy.texi: Mention the new module.
20478
20479 2011-02-05  Bruno Haible  <bruno@clisp.org>
20480
20481         New module 'wcscpy'.
20482         * modules/wcscpy: New file.
20483         * lib/wchar.in.h (wcscpy): New declaration.
20484         * lib/wcscpy.c: New file.
20485         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
20486         * m4/wcscpy.m4: New file.
20487         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
20488         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
20489         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
20490         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
20491         * doc/posix-functions/wcscpy.texi: Mention the new module.
20492
20493 2011-02-05  Bruno Haible  <bruno@clisp.org>
20494
20495         New module 'wcsnlen'.
20496         * modules/wcsnlen: New file.
20497         * lib/wchar.in.h (wcsnlen): New declaration.
20498         * lib/wcsnlen.c: New file.
20499         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
20500         * m4/wcsnlen.m4: New file.
20501         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
20502         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
20503         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
20504         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
20505         * doc/posix-functions/wcsnlen.texi: Mention the new module.
20506
20507 2011-02-05  Bruno Haible  <bruno@clisp.org>
20508
20509         New module 'wcslen'.
20510         * modules/wcslen: New file.
20511         * lib/wchar.in.h (wcslen): New declaration.
20512         * lib/wcslen.c: New file.
20513         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
20514         * m4/wcslen.m4: New file.
20515         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
20516         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
20517         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
20518         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
20519         * doc/posix-functions/wcslen.texi: Mention the new module.
20520
20521 2011-02-05  Bruno Haible  <bruno@clisp.org>
20522
20523         New module 'wmemset'.
20524         * modules/wmemset: New file.
20525         * lib/wchar.in.h (wmemset): New declaration.
20526         * lib/wmemset.c: New file.
20527         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
20528         * m4/wmemset.m4: New file.
20529         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
20530         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
20531         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
20532         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20533         * doc/posix-functions/wmemset.texi: Mention the new module.
20534
20535 2011-02-05  Bruno Haible  <bruno@clisp.org>
20536
20537         New module 'wmemmove'.
20538         * modules/wmemmove: New file.
20539         * lib/wchar.in.h (wmemmove): New declaration.
20540         * lib/wmemmove.c: New file.
20541         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20542         * m4/wmemmove.m4: New file.
20543         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20544         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20545         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20546         HAVE_WMEMMOVE.
20547         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20548         * doc/posix-functions/wmemmove.texi: Mention the new module.
20549
20550 2011-02-05  Bruno Haible  <bruno@clisp.org>
20551
20552         New module 'wmemcpy'.
20553         * modules/wmemcpy: New file.
20554         * lib/wchar.in.h (wmemcpy): New declaration.
20555         * lib/wmemcpy.c: New file.
20556         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20557         * m4/wmemcpy.m4: New file.
20558         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20559         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20560         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20561         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20562         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20563
20564 2011-02-05  Bruno Haible  <bruno@clisp.org>
20565
20566         New module 'wmemcmp'.
20567         * modules/wmemcmp: New file.
20568         * lib/wchar.in.h (wmemcmp): New declaration.
20569         * lib/wmemcmp.c: New file.
20570         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20571         * m4/wmemcmp.m4: New file.
20572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20574         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20575         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20576         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20577
20578 2011-02-07  Jim Meyering  <meyering@redhat.com>
20579
20580         di-set, ino-map: new modules, from coreutils
20581         * lib/di-set.c: New file.
20582         * lib/di-set.h: Likewise.
20583         * lib/ino-map.c: Likewise.
20584         * lib/ino-map.h: Likewise.
20585         * modules/di-set: Likewise.
20586         * modules/di-set-tests: Likewise.
20587         * modules/ino-map: Likewise.
20588         * modules/ino-map-tests: Likewise.
20589         * tests/test-di-set.c: Likewise.
20590         * tests/test-ino-map.c: Likewise.
20591
20592 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20593
20594         getloadavg: merge minor changes from Emacs
20595
20596         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20597         (getloadavg): Use memset, not bzero.
20598
20599         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20600         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20601         clash (bug#86).
20602
20603 2010-11-14  Bruno Haible  <bruno@clisp.org>
20604
20605         Allow multiple gnulib generated replacements to coexist.
20606         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20607         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20608         * lib/langinfo.in.h (nl_item): Likewise.
20609         * lib/math.in.h (_NaN, NAN): Likewise.
20610         * lib/netdb.in.h (struct addrinfo): Likewise.
20611         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20612         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20613         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20614         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20615         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20616         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20617         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20618         pthread_mutexattr_init, pthread_mutexattr_settype,
20619         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20620         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20621         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20622         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20623         * lib/sched.in.h (struct sched_param): Likewise.
20624         * lib/se-selinux.in.h (security_class_t, security_context_t,
20625         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20626         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20627         lsetfilecon, fsetfilecon, security_check_context,
20628         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20629         Likewise.
20630         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20631         Likewise.
20632         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20633         _gl_function_taking_int_returning_void_t, union sigval,
20634         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20635         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20636         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20637         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20638         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20639         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20640         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20641         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20642         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20643         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20644         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20645         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20646         socklen_t, rpl_fd_isset): Likewise.
20647         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20648         * lib/sys_time.in.h (struct timeval): Likewise.
20649         * lib/sys_times.in.h (struct tms): Likewise.
20650         * lib/sys_utsname.in.h (struct utsname):
20651         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20652         * lib/unistd.in.h (getpagesize): Likewise.
20653         * lib/wchar.in.h (mbstate_t): Likewise.
20654         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20655         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20656         towlower, towupper): Likewise.
20657         Reported by Sam Steingold <sds@gnu.org>.
20658
20659 2011-02-05  Eric Blake  <eblake@redhat.com>
20660
20661         unsetenv: work around Haiku issues
20662         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20663         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20664
20665 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20666
20667         libposix: avoid calling error() within libposix
20668         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20669         is defined.
20670
20671 2011-02-05  Eric Blake  <eblake@redhat.com>
20672
20673         strerror_r-posix: port to cygwin
20674         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20675         implementation.
20676         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20677         * tests/test-strerror_r.c (main): Fix test.
20678         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20679         issue.
20680
20681 2011-02-05  Bruno Haible  <bruno@clisp.org>
20682
20683         New module 'wmemchr'.
20684         * modules/wmemchr: New file.
20685         * lib/wchar.in.h (wmemchr): New declaration.
20686         * lib/wmemchr.c: New file.
20687         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20688         * m4/wmemchr.m4: New file.
20689         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20690         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20691         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20692         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20693         * doc/posix-functions/wmemchr.texi: Mention the new module.
20694
20695 2011-02-04  Eric Blake  <eblake@redhat.com>
20696
20697         fdopendir: detect FreeBSD bug
20698         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20699         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20700
20701 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20702
20703         stdbool: do not define HAVE_STDBOOL_H
20704         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20705         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20706         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20707         imported from the latest Autoconf git.  It was motivated by Emacs,
20708         which uses gnulib but does not need HAVE_STDBOOL_H.
20709
20710 2011-02-04  Bruno Haible  <bruno@clisp.org>
20711
20712         wcsnrtombs: Prepare for new module wwcsnrtombs.
20713         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20714         * lib/wcsnrtombs.c: Include it.
20715         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20716
20717         wcsrtombs: Prepare for new module wwcsrtombs.
20718         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20719         * lib/wcsrtombs.c: Include it.
20720         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20721
20722         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20723         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20724         * lib/mbsnrtowcs.c: Include it.
20725         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20726
20727         mbsrtowcs: Prepare for new module mbsrtowwcs.
20728         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20729         * lib/mbsrtowcs.c: Include it.
20730         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20731
20732 2011-02-04  Bruno Haible  <bruno@clisp.org>
20733
20734         vasnprintf: Reduce use of malloc for small format strings.
20735         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20736         (arguments): Add room for the first 7 arguments.
20737         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20738         (char_directives, u8_directives, u16_directives, u32_directives): Add
20739         room for the first 7 directives.
20740         * lib/printf-parse.c: Include <string.h>.
20741         (PRINTF_PARSE): Change memory handling code so that it uses the first
20742         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20743         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20744         Reported by Pádraig Brady <P@draigbrady.com>.
20745
20746 2011-01-31  Eric Blake  <eblake@redhat.com>
20747
20748         dup2: work around Haiku bug
20749         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20750         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20751         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20752         * tests/test-dup2.c (main): Enhance test.
20753
20754 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20755
20756         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20757         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20758         declared by eglibc 2.11.2.
20759         * lib/stdio.in.h: Likewise.
20760
20761 2011-01-31  Eric Blake  <eblake@redhat.com>
20762
20763         ignore-value: add missing test dependency
20764         * tests/test-ignore-value.c: Revert previous change; stdio.h
20765         provides off_t.
20766         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20767
20768 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20769
20770         mktime: clarify long_int width checking
20771         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20772         the top level, to make it clearer that the assumption about
20773         long_int width is being checked.  See
20774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20775
20776 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20777
20778         ignore-value: Fix self-test.
20779         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20780
20781 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20782
20783         TYPE_MAXIMUM: avoid theoretically undefined behavior
20784         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20785         negative number, which the C Standard says has undefined behavior.
20786         In practice this is not a problem, but might as well do it by the book.
20787         Reported by Rich Felker and Eric Blake; see
20788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20789         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20790         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20791         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20792         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20793         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20794         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20795
20796         mktime: #undef mktime before #defining it
20797         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20798
20799         mktime: systematically normalize tm_isdst comparisons
20800         * lib/mktime.c (isdst_differ): New function.
20801         (__mktime_internal): Use it systematically for all isdst comparisons.
20802         This completes the fix for libc BZ #6723, and removes the need for
20803         normalizing tm_isdst.  See
20804         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20805         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20806
20807         mktime: fix some integer overflow issues and sidestep the rest
20808
20809         This was prompted by a bug report by Benjamin Lindner for MinGW
20810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20811         His bug is due to signed integer overflow (0 - INT_MIN), and I
20812         I scanned through mktime.c looking for other integer overflow
20813         problems, fixing all the bugs I found.
20814
20815         Although the C Standard says the resulting code is still not safe
20816         in the presence of integer overflow, in practice it should be good
20817         enough for all real-world two's-complement implementations, except
20818         for debugging environments that deliberately trap on integer
20819         overflow (e.g., gcc -ftrapv).
20820
20821         * lib/mktime.c (WRAPV): New macro.
20822         (SHR): Also check that long_int and time_t shift right in the
20823         usual way, before using the fast-but-unportable method.
20824         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20825         used.  The code already assumed two's complement, so there's
20826         no need to test for alternatives.  All uses removed.
20827         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20828         the C standard.  Problem reported by Rich Felker in
20829         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20830         (twos_complement_arithmetic): Also check long_int and time_t.
20831         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20832         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20833         (__mktime_internal): Avoid integer overflow with unary subtraction
20834         in two instances where -1 - X is an adequate replacement for -X,
20835         since the calculations are approximate.
20836
20837 2011-01-29  Eric Blake  <eblake@redhat.com>
20838
20839         mktime: avoid infinite loop
20840         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20841         type; behavior is still undefined but portable to all known targets.
20842         Reported by Rich Felker.
20843
20844 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20845
20846         rename, unlink, same-inode: Relicense.
20847         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20848         * modules/unlink (License): Likewise.
20849         * modules/same-inode (License): Likewise.
20850
20851 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         mktime: avoid problems on NetBSD 5 / i386
20854         * lib/mktime.c (long_int): New type.  This works around a problem
20855         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20856         but time_t is 64 bits, and where I expect the existing code is
20857         wrong in some cases.
20858         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20859         (ydhms_diff): Bring back the compile-time check for wide-enough
20860         year and yday.
20861
20862         mktime: fix misspelling in comment
20863         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20864         This merges all recent glibc changes of importance.
20865
20866 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20867
20868         move-if-change: cope with concurrent mv of identical file.
20869         * build-aux/move-if-change (CMPPROG): Accept environment
20870         variable as an override for `cmp'.
20871         (usage): Document CMPPROG.
20872         Adjust comparison to drop stdout.  Cope with failure of mv if
20873         the target file exists and is identical to the source, for
20874         parallel builds.
20875         Report from H.J. Lu against binutils in PR binutils/12283.
20876
20877 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20878
20879         * users.txt: Mention sharutils.
20880
20881 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20882
20883         * users.txt: Mention OATH Toolkit.
20884
20885 2011-01-27  Bruno Haible  <bruno@clisp.org>
20886
20887         Prepare for supporting FreeBSD 10.
20888         * build-aux/config.libpath: Remove handling of freebsd1*.
20889
20890 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20891
20892         Prepare for supporting FreeBSD 10.
20893         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20894         match FreeBSD 10.0.
20895
20896 2011-01-27  Bruno Haible  <bruno@clisp.org>
20897
20898         vma-iter, get-rusage-as: Add OpenBSD support.
20899         * modules/vma-iter (configure.ac): Test for mquery.
20900         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20901         * lib/vma-iter.c: Include <sys/mman.h>.
20902         (vma_iterate): Add an implementation based on mquery().
20903         * lib/resource-ext.h (get_rusage_as): Update comments.
20904         * lib/get-rusage-as.c: Likewise.
20905         * lib/get-rusage-data.c: Likewise.
20906
20907 2011-01-26  Karl Berry  <karl@gnu.org>
20908
20909         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
20910         variables to make it easier to override the makeinfo program used.
20911
20912 2011-01-26  Eric Blake  <eblake@redhat.com>
20913
20914         fcntl: work around Haiku F_DUPFD bugs
20915         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
20916         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
20917         cloexec bit on duplication.
20918         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
20919
20920 2011-01-26  Bruno Haible  <bruno@clisp.org>
20921
20922         Enable memory leak tests on AIX.
20923         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
20924         * tests/test-fprintf-posix3.c (main): Likewise.
20925
20926 2011-01-26  Bruno Haible  <bruno@clisp.org>
20927
20928         Tests for module 'get-rusage-data'.
20929         * modules/get-rusage-data-tests: New file.
20930         * tests/test-get-rusage-data.c: New file.
20931
20932         New module 'get-rusage-data'.
20933         * lib/resource-ext.h (get_rusage_data): New declaration.
20934         * lib/get-rusage-data.c: New file.
20935         * modules/get-rusage-data: New file.
20936
20937 2011-01-25  Bruno Haible  <bruno@clisp.org>
20938
20939         get-rusage-as: Allow for easier testing.
20940         * lib/resource-ext.h (get_rusage_as): Add comment.
20941         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
20942         (main): New function for interactive testing.
20943
20944 2011-01-25  Bruno Haible  <bruno@clisp.org>
20945
20946         vma-iter: Treat Haiku like BeOS.
20947         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
20948         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
20949
20950 2011-01-25  Eric Blake  <eblake@redhat.com>
20951
20952         c-stack: fix regression on cygwin when libsigsegv is present
20953         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
20954
20955 2011-01-24  Bruno Haible  <bruno@clisp.org>
20956
20957         vma-iter: Avoid empty intervals.
20958         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
20959         on an empty interval.
20960
20961 2011-01-24  Jim Meyering  <meyering@redhat.com>
20962
20963         u64: remove unnecessary #include
20964         * lib/u64.h: Don't include <stddef.h>.  It was not used.
20965
20966 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20967
20968         Allow the user to avoid the HAVE_RAW_DECL_* macros.
20969         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
20970
20971 2011-01-23  Bruno Haible  <bruno@clisp.org>
20972
20973         New module 'vma-iter'.
20974         * lib/vma-iter.h: New file.
20975         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
20976         * modules/vma-iter: New file.
20977         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
20978         for get_rusage_as_via_iterator.
20979         (vma_iterate_callback): New function.
20980         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
20981         * modules/get-rusage-as (Depends-on): Add vma-iter.
20982
20983 2011-01-23  Bruno Haible  <bruno@clisp.org>
20984
20985         uninorm: Tweak includes.
20986         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
20987         Reported by Jim Meyering.
20988
20989 2011-01-23  Bruno Haible  <bruno@clisp.org>
20990
20991         get-rusage-as: Improve on NetBSD.
20992         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
20993         /proc, like on FreeBSD.
20994
20995 2011-01-23  Jim Meyering  <meyering@redhat.com>
20996
20997         xreadlink.h: remove unnecessary #include
20998         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
20999
21000         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21001         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21002
21003 2011-01-23  Bruno Haible  <bruno@clisp.org>
21004
21005         get-rusage-as: Fix bug.
21006         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21007         original limit when aborting the first loop.
21008
21009 2011-01-23  Bruno Haible  <bruno@clisp.org>
21010
21011         wctype: Ensure valid C syntax.
21012         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21013         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21014
21015 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21016
21017         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21018         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21019         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21020         as they are needed only for configure's test case.
21021         This removes two unnecessary symbols from config.h.
21022
21023         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21024         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21025         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21026         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21027         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21028         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21029         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21030         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21031         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21032         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21033         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21034         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21035         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21036         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21037         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21038         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21039         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21040         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21041
21042 2011-01-21  Eric Blake  <eblake@redhat.com>
21043
21044         maintainer-makefile: work with older git for submodule check
21045         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21046         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21047         Reported by Matthias Bolte.
21048
21049         bootstrap: minor portability fixes
21050         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21051         (usage): Omit leading capital and trailing . on help phrases, per
21052         GNU Coding Standards.
21053         (check_versions, top level): Prefix messages with script name.
21054
21055 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21056
21057         bootstrap: support --no-git option
21058         * build-aux/bootstrap: Add --no-git option, to be used when
21059         --gnulib-srcdir points to the exact desired checkout.
21060
21061 2011-01-21  Eric Blake  <eblake@redhat.com>
21062
21063         strerror_r-posix: work with glibc 2.13
21064         * lib/strerror_r.c (strerror_r): Fix return type.
21065
21066 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21067             Bruno Haible  <bruno@clisp.org>
21068
21069         uN_strstr: New unit tests.
21070         * modules/unistr/u8-strstr-tests: New file.
21071         * modules/unistr/u16-strstr-tests: New file.
21072         * modules/unistr/u32-strstr-tests: New file.
21073         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21074         * tests/unistr/test-u8-strstr.c: New file.
21075         * tests/unistr/test-u16-strstr.c: New file.
21076         * tests/unistr/test-u32-strstr.c: New file.
21077
21078 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21079             Bruno Haible  <bruno@clisp.org>
21080
21081         Make uN_strstr functions O(n) worst-case.
21082         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21083         16-bit and 32-bit unit cases, use the unibyte algorithm from
21084         lib/mbsstr.c.
21085         * lib/unistr/u8-strstr.c: Include <string.h>.
21086         (UNIT_IS_UINT8_T): New macro.
21087         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21088         (U_STRLEN, U_STRNLEN): New macros.
21089         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21090         (U_STRLEN, U_STRNLEN): New macros.
21091         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21092         (configure.ac): Update required libunistring version.
21093         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21094         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21095         malloca.
21096         (configure.ac): Update required libunistring version.
21097         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21098         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21099         malloca.
21100         (configure.ac): Update required libunistring version.
21101
21102 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21103             Bruno Haible  <bruno@clisp.org>
21104
21105         Prepare for faster uN_strstr functions.
21106         * lib/str-kmp.h: Support definable UNITs.
21107         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21108         needle_len argument.
21109         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21110         * lib/mbscasestr.c (mbscasestr): Likewise.
21111
21112 2011-01-21  Pádraig Brady <P@draigBrady.com>
21113
21114         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21115         * tests/test-malloca.c (main): Unset the environment variable
21116         to greatly speed up the test.
21117         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21118         * modules/malloca-tests: Depend on unsetenv.
21119
21120 2011-01-21  Pádraig Brady <P@draigBrady.com>
21121
21122         ignore-value: remove stdint dependency
21123         * lib/ignore-value.h: Remove <stdint.h>
21124         * modules/ignore-value: Remove stdint dependency.
21125
21126 2011-01-21  Jim Meyering  <meyering@redhat.com>
21127
21128         maint.mk: adjust variable name to be consistent with other gl_ vars
21129         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21130         to be lower case.
21131
21132 2011-01-20  Jim Meyering  <meyering@redhat.com>
21133
21134         maint.mk: make "check" depend on public-submodule-commit by default
21135         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21136
21137 2011-01-20  Bruno Haible  <bruno@clisp.org>
21138
21139         mbfile, mbiter: Complete change from 2008-12-21.
21140         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21141         * m4/mbiter.m4 (gl_MBITER): Likewise.
21142
21143 2011-01-20  Jim Meyering  <meyering@redhat.com>
21144
21145         init.sh: insert space between each function name and "()"
21146         * tests/init.sh: Make it a little easier to see that a function's
21147         name is "warn_", and not "warn" when looking at the first part of
21148         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21149
21150 2011-01-20  Jim Meyering  <meyering@redhat.com>
21151
21152         mountlist: clean up code formatting
21153         * lib/mountlist.c (read_file_system_list): Split a long line,
21154         correct bracing style, use NULL in place of "(struct statfs *)0",
21155         don't parenthesize return value, add spaces around "=" and after
21156         ";-in-for-stmt".
21157
21158 2011-01-14  Markus Duft <mduft@gentoo.org>
21159
21160         mountlist: add support for Interix
21161         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21162         Apply statvfs to all entries of /dev/fs.
21163         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21164         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21165
21166 2011-01-20  Jim Meyering  <meyering@redhat.com>
21167
21168         maint.mk: improve the public-submodule-commit rule
21169         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21170         to suppress printing of its commands... unless V=1.
21171         Add git submodule's --quiet option to suppress printing of e.g.,
21172         "Entering gnulib" output.
21173         "cd" into $(srcdir) before running git submodule.
21174
21175 2011-01-20  Bruno Haible  <bruno@clisp.org>
21176
21177         include_next: Fix bug introduced on 2011-01-18.
21178         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21179         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21180         ac_cv_header_... variable if the second argument is not 'check'.
21181         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21182         gl_NEXT_HEADERS_INTERNAL.
21183
21184 2011-01-20  Bruno Haible  <bruno@clisp.org>
21185
21186         Allow the user to avoid the GNULIB_TEST_* macros.
21187         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21188         Suggested by Paul Eggert.
21189
21190 2011-01-14  Jim Meyering  <meyering@redhat.com>
21191
21192         bootstrap: avoid failure when there is no .gitmodules file
21193         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21194         has been assigned to, even when its value is the empty string.
21195         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21196         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21197         Reported by John W. Eaton <jwe@gnu.org>.
21198
21199 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21200
21201         assume <ctype.h>, ..., <time.h> exist
21202         For years gnulib has been assuming the existence of the headers
21203         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21204         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21205         them, since they don't appear to be needed.
21206         * README (Portability guidelines): Document this.
21207         * lib/flock.c: Assume <fcntl.h> exists.
21208         * lib/regex_internal.h: Assume <locale.h> exists.
21209         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21210         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21211         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21212         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21213         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21214         * m4/regex.m4 (gl_REGEX): Likewise.
21215         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21216         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21217         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21218         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21219         * tests/test-argp.c: Likewise.
21220         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21221
21222         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21223         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21224         AA_APPLE_UNIVERSAL_BUILD.  See
21225         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21226         * NEWS: Document this.
21227
21228 2011-01-19  Eric Blake  <eblake@redhat.com>
21229
21230         c-stack: assume stack overflow if SA_SIGINFO unsupported
21231         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21232         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21233         sigaction will work.
21234         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21235         behavior match Linux.
21236         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21237
21238         stdbool-tests: accomodate Haiku
21239         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21240
21241         binary-io: fix O_TEXT on Haiku
21242         * modules/binary-io (Depends-on): Add fcntl-h.
21243         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21244         than blindly undefining O_TEXT.
21245         Reported by Scott McCreary.
21246
21247 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21248
21249         include_next: do not check for standard headers like stddef.h
21250
21251         I found this problem when modifying Emacs to use gnulib.
21252         I noticed that it added HAVE_STDDEF_H to config.h, even though
21253         gnulib always assumes <stddef.h> exists as per README and this
21254         symbol is unnecessary.
21255         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21256         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21257         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21258         faster for headers like stddef.h that are known to exist.
21259         (gl_CHECK_NEXT_HEADERS): Use it.
21260         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21261         rather than gl_CHECK_NEXT_HEADERS.
21262         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21263         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21264
21265 2011-01-18  Eric Blake  <eblake@redhat.com>
21266
21267         ansi-c++-opt: skip C++ dependency style if C++ is unused
21268         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21269         tests when we know C++ compilation is not desired.
21270         Reported by Scott McCreary.
21271
21272 2011-01-18  Bruno Haible  <bruno@clisp.org>
21273
21274         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21275         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21276         (main): Perform test also when getrlimit and setrlimit don't exist or
21277         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21278         limiting the address space size using setrlimit, compare the address
21279         space size before and after the the test.
21280         * tests/test-dprintf-posix2.c: Likewise.
21281         * tests/test-fprintf-posix3.sh: Update skip messages.
21282         * tests/test-dprintf-posix2.sh: Likewise.
21283         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21284         * modules/dprintf-posix-tests (Depends-on): Likewise.
21285         Reported by Bruce Korb <bkorb@gnu.org> and
21286         Gary V. Vaughan <gary@gnu.org>.
21287
21288 2011-01-18  Bruno Haible  <bruno@clisp.org>
21289
21290         get-rusage-as: Improvement for Cygwin.
21291         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21292         areas that are merely reserved.
21293
21294 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21295
21296         strftime: remove dependencies on multibyte modules
21297
21298         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21299         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21300         only if __osf__ is defined, and I suspect OSF doesn't need these
21301         other modules.  If my guess is wrong, we'll need to come up with a
21302         variant of strftime that doesn't need the multibyte modules.
21303
21304         I discovered this problem when attempting modify Emacs to use the
21305         strftime module.  With the previous gnulib, this caused Emacs to
21306         need 31 new files, ranging from lib/config.charset to
21307         m4/wint_t.m4.  This was overkill and I expect would be offputting
21308         to the Emacs maintainers.  After this change, only 6 new files are
21309         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21310         stdbool.m4, and tm_gmtoff.m4.
21311
21312         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21313         Suggested by Bruno Haible in
21314         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21315         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21316         and do not check for wchar.h.
21317         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21318         (Depends-on): Remove mbrlen, mbsinit, wchar.
21319
21320 2011-01-18  Bruno Haible  <bruno@clisp.org>
21321
21322         Tests for module 'get-rusage-as'.
21323         * modules/get-rusage-as-tests: New file.
21324         * tests/test-get-rusage-as.c: New file.
21325
21326         New module 'get-rusage-as'.
21327         * modules/get-rusage-as: New file.
21328         * lib/resource-ext.h: New file.
21329         * lib/get-rusage-as.c: New file.
21330
21331 2011-01-17  Eric Blake  <eblake@redhat.com>
21332
21333         sigaction: relax license from LGPLv3+ to LGPLv2+
21334         * modules/sigaction (License): Relax to LGPLv2+.
21335
21336 2011-01-14  Bruno Haible  <bruno@clisp.org>
21337
21338         filemode: Make function declarations usable in C++ mode.
21339         * lib/filemode.h: Enclose function declarations in extern "C" block.
21340         Reported by John W. Eaton <jwe@gnu.org>.
21341
21342 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21343
21344         save-cwd: no longer include "xgetcwd.h"
21345         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21346         This avoids a compilation failure in projects that use save-cwd
21347         without also using the xgetcwd module.
21348
21349 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21350
21351         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21352         This is so that a program like Emacs, which needs only dtoastr,
21353         does not have to bother with distributing and compiling ftoastr
21354         and ldtoastr.
21355         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21356         * modules/dtoastr, modules/ldtoastr: New files.
21357         * modules/ftoastr: Now works just for 'float'.
21358         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21359         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21360         dtoastr.c, ldtoastr.c.
21361
21362 2011-01-11  Jim Meyering  <meyering@redhat.com>
21363
21364         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21365         There is no need to work around the lack of the fchdir function,
21366         since gnulib can now provide a replacement when required.
21367         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21368         * modules/save-cwd (Depends-on): Add fchdir.
21369
21370 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21371
21372         openat, save-cwd: avoid xmalloc
21373
21374         This removes a direct (but undocumented) dependency of openat on
21375         xalloc, along with an indirect dependency via save-cwd.  It also
21376         removes a dependency of save-cwd on xgetcwd, and thereby
21377         indirectly on xalloc.  This change causes the openat substitute
21378         to fall back on save_cwd when memory is tight, and for save_cwd to
21379         fail instead of dying when memory is tight, but that's good enough.
21380         Problem and initial idea for fix reported by Bastien Roucaries in
21381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21382
21383         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21384         xalloc.h (for xmalloc).
21385         (openat_proc_name): Use malloc, not xmalloc.
21386         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21387         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21388
21389         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21390         This avoids heap allocation for file names whose lengths are in
21391         the range 512..1023, with the upper bound increasing to at most
21392         4031 depending on the platform's PATH_MAX.  (We do not want
21393         pathmax.h here as it might supply a non-constant PATH_MAX.)
21394         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
21395         Perhaps they should be moved to malloca.h?
21396         (OPENAT_BUFFER_SIZE): Use them.
21397
21398 2011-01-10  Bruno Haible  <bruno@clisp.org>
21399
21400         doc: Update users.txt.
21401         * users.txt: Add recutils.
21402
21403 2011-01-09  Karl Berry  <karl@gnu.org>
21404
21405         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
21406
21407         * doc/configmake.texi: New file.
21408         * doc/gnulib.texi: Include it.
21409         * modules/configmake: Move documentation from here.
21410
21411 2011-01-09  Bruno Haible  <bruno@clisp.org>
21412
21413         Update to Unicode 6.0.0.
21414         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
21415         (get_lbp): Update for Unicode 6.0.0.
21416         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
21417         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
21418         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
21419         U+11001, U+11038..U+11046. Remove U+06DE.
21420         (uc_width): Fix bounds of planes.
21421         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21422         lib/uniwidth/width.c.
21423         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
21424         trailing whitespace removed.
21425         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
21426         without comments, but with the original copyright notice.
21427         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
21428         * lib/unicase/ignorable.h: Likewise.
21429         * lib/unicase/tocasefold.h: Likewise.
21430         * lib/unicase/tolower.h: Likewise.
21431         * lib/unicase/totitle.h: Likewise.
21432         * lib/unicase/toupper.h: Likewise.
21433         * lib/unictype/bidi_of.h: Likewise.
21434         * lib/unictype/blocks.h: Likewise.
21435         * lib/unictype/categ_C.h: Likewise.
21436         * lib/unictype/categ_Cn.h: Likewise.
21437         * lib/unictype/categ_L.h: Likewise.
21438         * lib/unictype/categ_Ll.h: Likewise.
21439         * lib/unictype/categ_Lm.h: Likewise.
21440         * lib/unictype/categ_Lo.h: Likewise.
21441         * lib/unictype/categ_Lu.h: Likewise.
21442         * lib/unictype/categ_M.h: Likewise.
21443         * lib/unictype/categ_Mc.h: Likewise.
21444         * lib/unictype/categ_Me.h: Likewise.
21445         * lib/unictype/categ_Mn.h: Likewise.
21446         * lib/unictype/categ_N.h: Likewise.
21447         * lib/unictype/categ_Nd.h: Likewise.
21448         * lib/unictype/categ_No.h: Likewise.
21449         * lib/unictype/categ_P.h: Likewise.
21450         * lib/unictype/categ_Po.h: Likewise.
21451         * lib/unictype/categ_S.h: Likewise.
21452         * lib/unictype/categ_Sc.h: Likewise.
21453         * lib/unictype/categ_Sk.h: Likewise.
21454         * lib/unictype/categ_Sm.h: Likewise.
21455         * lib/unictype/categ_So.h: Likewise.
21456         * lib/unictype/categ_of.h: Likewise.
21457         * lib/unictype/combining.h: Likewise.
21458         * lib/unictype/ctype_alnum.h: Likewise.
21459         * lib/unictype/ctype_alpha.h: Likewise.
21460         * lib/unictype/ctype_graph.h: Likewise.
21461         * lib/unictype/ctype_lower.h: Likewise.
21462         * lib/unictype/ctype_print.h: Likewise.
21463         * lib/unictype/ctype_punct.h: Likewise.
21464         * lib/unictype/ctype_upper.h: Likewise.
21465         * lib/unictype/decdigit.h: Likewise.
21466         * lib/unictype/digit.h: Likewise.
21467         * lib/unictype/numeric.h: Likewise.
21468         * lib/unictype/pr_alphabetic.h: Likewise.
21469         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21470         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21471         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21472         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21473         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21474         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21475         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21476         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21477         * lib/unictype/pr_case_ignorable.h: Likewise.
21478         * lib/unictype/pr_cased.h: Likewise.
21479         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
21480         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
21481         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
21482         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
21483         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
21484         * lib/unictype/pr_combining.h: Likewise.
21485         * lib/unictype/pr_composite.h: Likewise.
21486         * lib/unictype/pr_currency_symbol.h: Likewise.
21487         * lib/unictype/pr_decimal_digit.h: Likewise.
21488         * lib/unictype/pr_deprecated.h: Likewise.
21489         * lib/unictype/pr_format_control.h: Likewise.
21490         * lib/unictype/pr_grapheme_base.h: Likewise.
21491         * lib/unictype/pr_grapheme_extend.h: Likewise.
21492         * lib/unictype/pr_grapheme_link.h: Likewise.
21493         * lib/unictype/pr_id_continue.h: Likewise.
21494         * lib/unictype/pr_id_start.h: Likewise.
21495         * lib/unictype/pr_ideographic.h: Likewise.
21496         * lib/unictype/pr_lowercase.h: Likewise.
21497         * lib/unictype/pr_math.h: Likewise.
21498         * lib/unictype/pr_numeric.h: Likewise.
21499         * lib/unictype/pr_other_alphabetic.h: Likewise.
21500         * lib/unictype/pr_other_id_continue.h: Likewise.
21501         * lib/unictype/pr_other_math.h: Likewise.
21502         * lib/unictype/pr_punctuation.h: Likewise.
21503         * lib/unictype/pr_sentence_terminal.h: Likewise.
21504         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21505         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21506         * lib/unictype/pr_unified_ideograph.h: Likewise.
21507         * lib/unictype/pr_uppercase.h: Likewise.
21508         * lib/unictype/pr_xid_continue.h: Likewise.
21509         * lib/unictype/pr_xid_start.h: Likewise.
21510         * lib/unictype/scripts.h: Likewise.
21511         * lib/unictype/scripts_byname.gperf: Likewise.
21512         * lib/unictype/sy_java_ident.h: Likewise.
21513         * lib/unigbrk/gbrkprop.h: Likewise.
21514         * lib/unilbrk/lbrkprop1.h: Likewise.
21515         * lib/unilbrk/lbrkprop2.h: Likewise.
21516         * lib/uninorm/decomposition-table2.h: Likewise.
21517         * lib/uniwbrk/wbrkprop.h: Likewise.
21518         * tests/unicase/test-cased.c: Likewise.
21519         * tests/unicase/test-ignorable.c: Likewise.
21520         * tests/unicase/test-uc_tolower.c: Likewise.
21521         * tests/unicase/test-uc_totitle.c: Likewise.
21522         * tests/unicase/test-uc_toupper.c: Likewise.
21523         * tests/unictype/test-categ_C.c: Likewise.
21524         * tests/unictype/test-categ_Cn.c: Likewise.
21525         * tests/unictype/test-categ_L.c: Likewise.
21526         * tests/unictype/test-categ_Ll.c: Likewise.
21527         * tests/unictype/test-categ_Lm.c: Likewise.
21528         * tests/unictype/test-categ_Lo.c: Likewise.
21529         * tests/unictype/test-categ_Lu.c: Likewise.
21530         * tests/unictype/test-categ_M.c: Likewise.
21531         * tests/unictype/test-categ_Mc.c: Likewise.
21532         * tests/unictype/test-categ_Me.c: Likewise.
21533         * tests/unictype/test-categ_Mn.c: Likewise.
21534         * tests/unictype/test-categ_N.c: Likewise.
21535         * tests/unictype/test-categ_Nd.c: Likewise.
21536         * tests/unictype/test-categ_No.c: Likewise.
21537         * tests/unictype/test-categ_P.c: Likewise.
21538         * tests/unictype/test-categ_Po.c: Likewise.
21539         * tests/unictype/test-categ_S.c: Likewise.
21540         * tests/unictype/test-categ_Sc.c: Likewise.
21541         * tests/unictype/test-categ_Sk.c: Likewise.
21542         * tests/unictype/test-categ_Sm.c: Likewise.
21543         * tests/unictype/test-categ_So.c: Likewise.
21544         * tests/unictype/test-ctype_alnum.c: Likewise.
21545         * tests/unictype/test-ctype_alpha.c: Likewise.
21546         * tests/unictype/test-ctype_graph.c: Likewise.
21547         * tests/unictype/test-ctype_lower.c: Likewise.
21548         * tests/unictype/test-ctype_print.c: Likewise.
21549         * tests/unictype/test-ctype_punct.c: Likewise.
21550         * tests/unictype/test-ctype_upper.c: Likewise.
21551         * tests/unictype/test-decdigit.h: Likewise.
21552         * tests/unictype/test-digit.h: Likewise.
21553         * tests/unictype/test-numeric.h: Likewise.
21554         * tests/unictype/test-pr_alphabetic.c: Likewise.
21555         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21556         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21557         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21558         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21559         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21560         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21561         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21562         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21563         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21564         * tests/unictype/test-pr_cased.c: Likewise.
21565         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21566         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21567         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21568         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21569         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21570         * tests/unictype/test-pr_combining.c: Likewise.
21571         * tests/unictype/test-pr_composite.c: Likewise.
21572         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21573         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21574         * tests/unictype/test-pr_deprecated.c: Likewise.
21575         * tests/unictype/test-pr_format_control.c: Likewise.
21576         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21577         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21578         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21579         * tests/unictype/test-pr_id_continue.c: Likewise.
21580         * tests/unictype/test-pr_id_start.c: Likewise.
21581         * tests/unictype/test-pr_ideographic.c: Likewise.
21582         * tests/unictype/test-pr_lowercase.c: Likewise.
21583         * tests/unictype/test-pr_math.c: Likewise.
21584         * tests/unictype/test-pr_numeric.c: Likewise.
21585         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21586         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21587         * tests/unictype/test-pr_other_math.c: Likewise.
21588         * tests/unictype/test-pr_punctuation.c: Likewise.
21589         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21590         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21591         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21592         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21593         * tests/unictype/test-pr_uppercase.c: Likewise.
21594         * tests/unictype/test-pr_xid_continue.c: Likewise.
21595         * tests/unictype/test-pr_xid_start.c: Likewise.
21596         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21597         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21598         changes.
21599         * lib/unictype/categ_Cc.h: Likewise.
21600         * lib/unictype/categ_Cf.h: Likewise.
21601         * lib/unictype/categ_Co.h: Likewise.
21602         * lib/unictype/categ_Cs.h: Likewise.
21603         * lib/unictype/categ_Lt.h: Likewise.
21604         * lib/unictype/categ_Nl.h: Likewise.
21605         * lib/unictype/categ_Pc.h: Likewise.
21606         * lib/unictype/categ_Pd.h: Likewise.
21607         * lib/unictype/categ_Pe.h: Likewise.
21608         * lib/unictype/categ_Pf.h: Likewise.
21609         * lib/unictype/categ_Pi.h: Likewise.
21610         * lib/unictype/categ_Ps.h: Likewise.
21611         * lib/unictype/categ_Z.h: Likewise.
21612         * lib/unictype/categ_Zl.h: Likewise.
21613         * lib/unictype/categ_Zp.h: Likewise.
21614         * lib/unictype/categ_Zs.h: Likewise.
21615         * lib/unictype/ctype_blank.h: Likewise.
21616         * lib/unictype/ctype_cntrl.h: Likewise.
21617         * lib/unictype/ctype_digit.h: Likewise.
21618         * lib/unictype/ctype_space.h: Likewise.
21619         * lib/unictype/ctype_xdigit.h: Likewise.
21620         * lib/unictype/mirror.h: Likewise.
21621         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21622         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21623         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21624         * lib/unictype/pr_bidi_control.h: Likewise.
21625         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21626         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21627         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21628         * lib/unictype/pr_bidi_pdf.h: Likewise.
21629         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21630         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21631         * lib/unictype/pr_dash.h: Likewise.
21632         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21633         * lib/unictype/pr_diacritic.h: Likewise.
21634         * lib/unictype/pr_extender.h: Likewise.
21635         * lib/unictype/pr_hex_digit.h: Likewise.
21636         * lib/unictype/pr_hyphen.h: Likewise.
21637         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21638         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21639         * lib/unictype/pr_ignorable_control.h: Likewise.
21640         * lib/unictype/pr_iso_control.h: Likewise.
21641         * lib/unictype/pr_join_control.h: Likewise.
21642         * lib/unictype/pr_left_of_pair.h: Likewise.
21643         * lib/unictype/pr_line_separator.h: Likewise.
21644         * lib/unictype/pr_logical_order_exception.h: Likewise.
21645         * lib/unictype/pr_non_break.h: Likewise.
21646         * lib/unictype/pr_not_a_character.h: Likewise.
21647         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21648         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21649         * lib/unictype/pr_other_id_start.h: Likewise.
21650         * lib/unictype/pr_other_lowercase.h: Likewise.
21651         * lib/unictype/pr_other_uppercase.h: Likewise.
21652         * lib/unictype/pr_paired_punctuation.h: Likewise.
21653         * lib/unictype/pr_paragraph_separator.h: Likewise.
21654         * lib/unictype/pr_pattern_syntax.h: Likewise.
21655         * lib/unictype/pr_pattern_white_space.h: Likewise.
21656         * lib/unictype/pr_private_use.h: Likewise.
21657         * lib/unictype/pr_quotation_mark.h: Likewise.
21658         * lib/unictype/pr_radical.h: Likewise.
21659         * lib/unictype/pr_soft_dotted.h: Likewise.
21660         * lib/unictype/pr_space.h: Likewise.
21661         * lib/unictype/pr_titlecase.h: Likewise.
21662         * lib/unictype/pr_variation_selector.h: Likewise.
21663         * lib/unictype/pr_white_space.h: Likewise.
21664         * lib/unictype/pr_zero_width.h: Likewise.
21665         * lib/unictype/sy_c_ident.h: Likewise.
21666         * lib/unictype/sy_c_whitespace.h: Likewise.
21667         * lib/unictype/sy_java_whitespace.h: Likewise.
21668         * lib/uninorm/composition-table.gperf: Likewise.
21669         * lib/uninorm/decomposition-table1.h: Likewise.
21670         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21671         LB8.
21672         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21673         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21674         * modules/unictype/*: Bump version number of expected libunistring
21675         version.
21676
21677 2011-01-09  Bruno Haible  <bruno@clisp.org>
21678
21679         Update to Unicode 5.2.0.
21680         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21681         trailing whitespace removed.
21682
21683 2011-01-09  Bruno Haible  <bruno@clisp.org>
21684
21685         New Unicode character properties, from Unicode 5.2.0.
21686         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21687         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21688         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21689         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21690         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21691         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21692         uc_is_property_cased, uc_is_property_case_ignorable,
21693         uc_is_property_changes_when_lowercased,
21694         uc_is_property_changes_when_uppercased,
21695         uc_is_property_changes_when_titlecased,
21696         uc_is_property_changes_when_casefolded,
21697         uc_is_property_changes_when_casemapped): New declarations.
21698         * lib/unictype/pr_byname.gperf: Add the new properties.
21699         * modules/unictype/property-byname (Depends-on): Depend on the new
21700         properties modules.
21701         * modules/unictype/property-all (Depends-on): Likewise.
21702         * MODULES.html.sh (Unicode string functions): Add
21703         unictype/property-case-ignorable, unictype/property-cased,
21704         unictype/property-changes-when-casefolded,
21705         unictype/property-changes-when-casemapped,
21706         unictype/property-changes-when-lowercased,
21707         unictype/property-changes-when-titlecased,
21708         unictype/property-changes-when-uppercased.
21709
21710         New module 'unictype/property-changes-when-casemapped'.
21711         * modules/unictype/property-changes-when-casemapped: New file.
21712         * lib/unictype/pr_changes_when_casemapped.c: New file.
21713         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21714         generated by gen-uni-tables.
21715         * modules/unictype/property-changes-when-casemapped-tests: New file.
21716         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21717         automatically generated by gen-uni-tables.
21718
21719         New module 'unictype/property-changes-when-casefolded'.
21720         * modules/unictype/property-changes-when-casefolded: New file.
21721         * lib/unictype/pr_changes_when_casefolded.c: New file.
21722         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21723         generated by gen-uni-tables.
21724         * modules/unictype/property-changes-when-casefolded-tests: New file.
21725         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21726         automatically generated by gen-uni-tables.
21727
21728         New module 'unictype/property-changes-when-titlecased'.
21729         * modules/unictype/property-changes-when-titlecased: New file.
21730         * lib/unictype/pr_changes_when_titlecased.c: New file.
21731         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21732         generated by gen-uni-tables.
21733         * modules/unictype/property-changes-when-titlecased-tests: New file.
21734         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21735         automatically generated by gen-uni-tables.
21736
21737         New module 'unictype/property-changes-when-uppercased'.
21738         * modules/unictype/property-changes-when-uppercased: New file.
21739         * lib/unictype/pr_changes_when_uppercased.c: New file.
21740         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21741         generated by gen-uni-tables.
21742         * modules/unictype/property-changes-when-uppercased-tests: New file.
21743         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21744         automatically generated by gen-uni-tables.
21745
21746         New module 'unictype/property-changes-when-lowercased'.
21747         * modules/unictype/property-changes-when-lowercased: New file.
21748         * lib/unictype/pr_changes_when_lowercased.c: New file.
21749         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21750         generated by gen-uni-tables.
21751         * modules/unictype/property-changes-when-lowercased-tests: New file.
21752         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21753         automatically generated by gen-uni-tables.
21754
21755         New module 'unictype/property-case-ignorable'.
21756         * modules/unictype/property-case-ignorable: New file.
21757         * lib/unictype/pr_case_ignorable.c: New file.
21758         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21759         by gen-uni-tables.
21760         * modules/unictype/property-case-ignorable-tests: New file.
21761         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21762         generated by gen-uni-tables.
21763
21764         New module 'unictype/property-cased'.
21765         * modules/unictype/property-cased: New file.
21766         * lib/unictype/pr_cased.c: New file.
21767         * lib/unictype/pr_cased.h: New file, automatically generated by
21768         gen-uni-tables.
21769         * modules/unictype/property-cased-tests: New file.
21770         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21771         gen-uni-tables.
21772
21773 2011-01-09  Bruno Haible  <bruno@clisp.org>
21774
21775         Update to Unicode 5.2.0.
21776         * lib/gen-uni-tables.c (output_predicate, output_category,
21777         output_combclass, output_bidi_category, output_decimal_digit_test,
21778         output_decimal_digit, output_digit_test, output_digit,
21779         output_numeric_test, output_numeric, output_mirror, output_scripts,
21780         output_scripts_byname, output_blocks, output_ident_category): Fix
21781         comment header.
21782         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21783         get_wbp.
21784         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21785         items.
21786         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21787         Changes_When_Lowercased, Changes_When_Uppercased,
21788         Changes_When_Titlecased, Changes_When_Casefolded,
21789         Changes_When_Casemapped.
21790         (is_property_alphabetic, is_property_default_ignorable_code_point):
21791         Update for Unicode 5.2.0.
21792         (is_property_cased, is_property_case_ignorable,
21793         is_property_changes_when_lowercased,
21794         is_property_changes_when_uppercased,
21795         is_property_changes_when_titlecased,
21796         is_property_changes_when_casefolded,
21797         is_property_changes_when_casemapped): New functions.
21798         (output_properties): Output also the properties cased, case_ignorable,
21799         changes_when_lowercased, changes_when_uppercased,
21800         changes_when_titlecased, changes_when_casefolded,
21801         changes_when_casemapped.
21802         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21803         Unicode TR#11 revision 17 -> 19.
21804         (LBP_CP): New enumeration value.
21805         (LBP_*): Adjust values accordingly.
21806         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21807         TR#14 revision 22 -> 24.
21808         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21809         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21810         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21811         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21812         is_WBP_MIDLETTER.
21813         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21814         the code1 and code2 of each composition rule.
21815         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21816         * lib/unicase/ignorable.h: Likewise.
21817         * lib/unicase/tocasefold.h: Likewise.
21818         * lib/unicase/tolower.h: Likewise.
21819         * lib/unicase/totitle.h: Likewise.
21820         * lib/unicase/toupper.h: Likewise.
21821         * lib/unictype/bidi_of.h: Likewise.
21822         * lib/unictype/blocks.h: Likewise.
21823         * lib/unictype/categ_C.h: Likewise.
21824         * lib/unictype/categ_Cf.h: Likewise.
21825         * lib/unictype/categ_Cn.h: Likewise.
21826         * lib/unictype/categ_L.h: Likewise.
21827         * lib/unictype/categ_Ll.h: Likewise.
21828         * lib/unictype/categ_Lm.h: Likewise.
21829         * lib/unictype/categ_Lo.h: Likewise.
21830         * lib/unictype/categ_Lu.h: Likewise.
21831         * lib/unictype/categ_M.h: Likewise.
21832         * lib/unictype/categ_Mc.h: Likewise.
21833         * lib/unictype/categ_Mn.h: Likewise.
21834         * lib/unictype/categ_N.h: Likewise.
21835         * lib/unictype/categ_Nd.h: Likewise.
21836         * lib/unictype/categ_Nl.h: Likewise.
21837         * lib/unictype/categ_No.h: Likewise.
21838         * lib/unictype/categ_P.h: Likewise.
21839         * lib/unictype/categ_Pd.h: Likewise.
21840         * lib/unictype/categ_Po.h: Likewise.
21841         * lib/unictype/categ_S.h: Likewise.
21842         * lib/unictype/categ_Sc.h: Likewise.
21843         * lib/unictype/categ_So.h: Likewise.
21844         * lib/unictype/categ_of.h: Likewise.
21845         * lib/unictype/combining.h: Likewise.
21846         * lib/unictype/ctype_alnum.h: Likewise.
21847         * lib/unictype/ctype_alpha.h: Likewise.
21848         * lib/unictype/ctype_graph.h: Likewise.
21849         * lib/unictype/ctype_lower.h: Likewise.
21850         * lib/unictype/ctype_print.h: Likewise.
21851         * lib/unictype/ctype_punct.h: Likewise.
21852         * lib/unictype/ctype_upper.h: Likewise.
21853         * lib/unictype/decdigit.h: Likewise.
21854         * lib/unictype/digit.h: Likewise.
21855         * lib/unictype/numeric.h: Likewise.
21856         * lib/unictype/pr_alphabetic.h: Likewise.
21857         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21858         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21859         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21860         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21861         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21862         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21863         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21864         * lib/unictype/pr_combining.h: Likewise.
21865         * lib/unictype/pr_composite.h: Likewise.
21866         * lib/unictype/pr_currency_symbol.h: Likewise.
21867         * lib/unictype/pr_dash.h: Likewise.
21868         * lib/unictype/pr_decimal_digit.h: Likewise.
21869         * lib/unictype/pr_deprecated.h: Likewise.
21870         * lib/unictype/pr_diacritic.h: Likewise.
21871         * lib/unictype/pr_extender.h: Likewise.
21872         * lib/unictype/pr_grapheme_base.h: Likewise.
21873         * lib/unictype/pr_grapheme_extend.h: Likewise.
21874         * lib/unictype/pr_grapheme_link.h: Likewise.
21875         * lib/unictype/pr_id_continue.h: Likewise.
21876         * lib/unictype/pr_id_start.h: Likewise.
21877         * lib/unictype/pr_ideographic.h: Likewise.
21878         * lib/unictype/pr_ignorable_control.h: Likewise.
21879         * lib/unictype/pr_logical_order_exception.h: Likewise.
21880         * lib/unictype/pr_lowercase.h: Likewise.
21881         * lib/unictype/pr_numeric.h: Likewise.
21882         * lib/unictype/pr_other_alphabetic.h: Likewise.
21883         * lib/unictype/pr_punctuation.h: Likewise.
21884         * lib/unictype/pr_sentence_terminal.h: Likewise.
21885         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21886         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21887         * lib/unictype/pr_unified_ideograph.h: Likewise.
21888         * lib/unictype/pr_uppercase.h: Likewise.
21889         * lib/unictype/pr_xid_continue.h: Likewise.
21890         * lib/unictype/pr_xid_start.h: Likewise.
21891         * lib/unictype/pr_zero_width.h: Likewise.
21892         * lib/unictype/scripts.h: Likewise.
21893         * lib/unictype/scripts_byname.gperf: Likewise.
21894         * lib/unictype/sy_java_ident.h: Likewise.
21895         * lib/unigbrk/gbrkprop.h: Likewise.
21896         * lib/unilbrk/lbrkprop1.h: Likewise.
21897         * lib/unilbrk/lbrkprop2.h: Likewise.
21898         * lib/unilbrk/lbrktables.h: Likewise.
21899         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21900         LBP_CP. Implement rule LB30.
21901         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21902         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21903         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
21904         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
21905         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
21906         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
21907         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
21908         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
21909         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
21910         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
21911         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
21912         bits instead of 16 bits in the code1 and code2 of each composition
21913         rule.
21914         (uc_composition): Update for Unicode 5.2.0.
21915         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
21916         * lib/uninorm/decomposition-table2.h: Likewise.
21917         * lib/uniwbrk/wbrkprop.h: Likewise.
21918         * tests/unicase/test-cased.c: Likewise.
21919         * tests/unicase/test-ignorable.c: Likewise.
21920         * tests/unicase/test-uc_tolower.c: Likewise.
21921         * tests/unicase/test-uc_totitle.c: Likewise.
21922         * tests/unicase/test-uc_toupper.c: Likewise.
21923         * tests/unictype/test-categ_C.c: Likewise.
21924         * tests/unictype/test-categ_Cf.c: Likewise.
21925         * tests/unictype/test-categ_Cn.c: Likewise.
21926         * tests/unictype/test-categ_L.c: Likewise.
21927         * tests/unictype/test-categ_Ll.c: Likewise.
21928         * tests/unictype/test-categ_Lm.c: Likewise.
21929         * tests/unictype/test-categ_Lo.c: Likewise.
21930         * tests/unictype/test-categ_Lu.c: Likewise.
21931         * tests/unictype/test-categ_M.c: Likewise.
21932         * tests/unictype/test-categ_Mc.c: Likewise.
21933         * tests/unictype/test-categ_Mn.c: Likewise.
21934         * tests/unictype/test-categ_N.c: Likewise.
21935         * tests/unictype/test-categ_Nd.c: Likewise.
21936         * tests/unictype/test-categ_Nl.c: Likewise.
21937         * tests/unictype/test-categ_No.c: Likewise.
21938         * tests/unictype/test-categ_P.c: Likewise.
21939         * tests/unictype/test-categ_Pd.c: Likewise.
21940         * tests/unictype/test-categ_Po.c: Likewise.
21941         * tests/unictype/test-categ_S.c: Likewise.
21942         * tests/unictype/test-categ_Sc.c: Likewise.
21943         * tests/unictype/test-categ_So.c: Likewise.
21944         * tests/unictype/test-ctype_alnum.c: Likewise.
21945         * tests/unictype/test-ctype_alpha.c: Likewise.
21946         * tests/unictype/test-ctype_graph.c: Likewise.
21947         * tests/unictype/test-ctype_lower.c: Likewise.
21948         * tests/unictype/test-ctype_print.c: Likewise.
21949         * tests/unictype/test-ctype_punct.c: Likewise.
21950         * tests/unictype/test-ctype_upper.c: Likewise.
21951         * tests/unictype/test-decdigit.h: Likewise.
21952         * tests/unictype/test-digit.h: Likewise.
21953         * tests/unictype/test-numeric.h: Likewise.
21954         * tests/unictype/test-pr_alphabetic.c: Likewise.
21955         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21956         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21957         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21958         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21959         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21960         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21961         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21962         * tests/unictype/test-pr_combining.c: Likewise.
21963         * tests/unictype/test-pr_composite.c: Likewise.
21964         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21965         * tests/unictype/test-pr_dash.c: Likewise.
21966         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21967         * tests/unictype/test-pr_deprecated.c: Likewise.
21968         * tests/unictype/test-pr_diacritic.c: Likewise.
21969         * tests/unictype/test-pr_extender.c: Likewise.
21970         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21971         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21972         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21973         * tests/unictype/test-pr_id_continue.c: Likewise.
21974         * tests/unictype/test-pr_id_start.c: Likewise.
21975         * tests/unictype/test-pr_ideographic.c: Likewise.
21976         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21977         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21978         * tests/unictype/test-pr_lowercase.c: Likewise.
21979         * tests/unictype/test-pr_numeric.c: Likewise.
21980         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21981         * tests/unictype/test-pr_punctuation.c: Likewise.
21982         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21983         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21984         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21985         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21986         * tests/unictype/test-pr_uppercase.c: Likewise.
21987         * tests/unictype/test-pr_xid_continue.c: Likewise.
21988         * tests/unictype/test-pr_xid_start.c: Likewise.
21989         * tests/unictype/test-pr_zero_width.c: Likewise.
21990         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21991         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
21992         changed behaviour: line breaking is now disallowed between a letter
21993         or '=' and '('.
21994         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21995         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21996         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21997         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
21998         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21999         lib/uniwidth/width.c.
22000         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22001         without comments, but with the original copyright notice.
22002         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22003         changes.
22004         * lib/unictype/categ_Cc.h: Likewise.
22005         * lib/unictype/categ_Co.h: Likewise.
22006         * lib/unictype/categ_Cs.h: Likewise.
22007         * lib/unictype/categ_Lt.h: Likewise.
22008         * lib/unictype/categ_Me.h: Likewise.
22009         * lib/unictype/categ_Pc.h: Likewise.
22010         * lib/unictype/categ_Pe.h: Likewise.
22011         * lib/unictype/categ_Pf.h: Likewise.
22012         * lib/unictype/categ_Pi.h: Likewise.
22013         * lib/unictype/categ_Ps.h: Likewise.
22014         * lib/unictype/categ_Sk.h: Likewise.
22015         * lib/unictype/categ_Sm.h: Likewise.
22016         * lib/unictype/categ_Z.h: Likewise.
22017         * lib/unictype/categ_Zl.h: Likewise.
22018         * lib/unictype/categ_Zp.h: Likewise.
22019         * lib/unictype/categ_Zs.h: Likewise.
22020         * lib/unictype/ctype_blank.h: Likewise.
22021         * lib/unictype/ctype_cntrl.h: Likewise.
22022         * lib/unictype/ctype_digit.h: Likewise.
22023         * lib/unictype/ctype_space.h: Likewise.
22024         * lib/unictype/ctype_xdigit.h: Likewise.
22025         * lib/unictype/mirror.h: Likewise.
22026         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22027         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22028         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22029         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22030         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22031         * lib/unictype/pr_bidi_control.h: Likewise.
22032         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22033         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22034         * lib/unictype/pr_bidi_pdf.h: Likewise.
22035         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22036         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22037         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22038         * lib/unictype/pr_format_control.h: Likewise.
22039         * lib/unictype/pr_hex_digit.h: Likewise.
22040         * lib/unictype/pr_hyphen.h: Likewise.
22041         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22042         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22043         * lib/unictype/pr_iso_control.h: Likewise.
22044         * lib/unictype/pr_join_control.h: Likewise.
22045         * lib/unictype/pr_left_of_pair.h: Likewise.
22046         * lib/unictype/pr_line_separator.h: Likewise.
22047         * lib/unictype/pr_math.h: Likewise.
22048         * lib/unictype/pr_non_break.h: Likewise.
22049         * lib/unictype/pr_not_a_character.h: Likewise.
22050         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22051         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22052         * lib/unictype/pr_other_id_continue.h: Likewise.
22053         * lib/unictype/pr_other_id_start.h: Likewise.
22054         * lib/unictype/pr_other_lowercase.h: Likewise.
22055         * lib/unictype/pr_other_math.h: Likewise.
22056         * lib/unictype/pr_other_uppercase.h: Likewise.
22057         * lib/unictype/pr_paired_punctuation.h: Likewise.
22058         * lib/unictype/pr_paragraph_separator.h: Likewise.
22059         * lib/unictype/pr_pattern_syntax.h: Likewise.
22060         * lib/unictype/pr_pattern_white_space.h: Likewise.
22061         * lib/unictype/pr_private_use.h: Likewise.
22062         * lib/unictype/pr_quotation_mark.h: Likewise.
22063         * lib/unictype/pr_radical.h: Likewise.
22064         * lib/unictype/pr_soft_dotted.h: Likewise.
22065         * lib/unictype/pr_space.h: Likewise.
22066         * lib/unictype/pr_titlecase.h: Likewise.
22067         * lib/unictype/pr_variation_selector.h: Likewise.
22068         * lib/unictype/pr_white_space.h: Likewise.
22069         * lib/unictype/sy_c_ident.h: Likewise.
22070         * lib/unictype/sy_c_whitespace.h: Likewise.
22071         * lib/unictype/sy_java_whitespace.h: Likewise.
22072         * modules/uni*/*: Bump version number of expected libunistring version.
22073         Reported by Simon Josefsson.
22074
22075 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22076
22077         useless-if-before-free: fix typo in --help and make the internal,
22078         automatic version date update process work once again.
22079         --help output contained a NUL character instead of the
22080         backslash-zero that was intended.  Also, the "must lie within
22081         the first 8 lines" line is on line 9, and hence not getting
22082         automatically updated.
22083         * build-aux/useless-if-before-free: Fix the former by adding a
22084         backslash, and the latter by condensing the three lines of what-it-does
22085         to a single line, leaving one line of slack for the future.
22086
22087 2011-01-09  Bruno Haible  <bruno@clisp.org>
22088
22089         uniwidth/width: Fix width of U+1D173..U+1D17A.
22090         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22091         symbolic_width, output_width_property_test): New functions.
22092         (main): Invoke output_nonspacing_property, output_width_property_test.
22093         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22094         U+1D173..U+1D17A.
22095         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22096         1.
22097         * modules/uniwidth/*: Bump version number of expected libunistring
22098         version.
22099         * modules/unilbrk/*: Likewise.
22100
22101 2011-01-08  Bruno Haible  <bruno@clisp.org>
22102
22103         uninorm tests: Preserve copyright of Unicode data file.
22104         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22105         Mention modifications.
22106
22107 2011-01-08  Bruno Haible  <bruno@clisp.org>
22108
22109         gen-uni-tables: Prepare for Unicode 5.2.0.
22110         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22111         (debug_output_lbp, output_lbp): Update.
22112
22113 2011-01-08  Bruno Haible  <bruno@clisp.org>
22114
22115         unilbrk: Clarify gen-uni-tables.c code.
22116         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22117         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22118         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22119
22120 2011-01-07  Bruno Haible  <bruno@clisp.org>
22121
22122         strtod: Restore errno when successfully parsing Infinity or NaN.
22123         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22124         restore the original errno.
22125
22126 2011-01-07  Bruno Haible  <bruno@clisp.org>
22127
22128         remove test: Avoid failure on HP-UX 11.
22129         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22130
22131 2011-01-07  Bruno Haible  <bruno@clisp.org>
22132
22133         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22134         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22135         error code.
22136
22137 2011-01-07  Pádraig Brady <P@draigBrady.com>
22138
22139         ignore-value: fixup comments, and add Eric Blake
22140         as an author since he rewrote the macros.
22141         * lib/ignore-value.h (ignore_value):  State that
22142         we now support aggregates.  Also specify exactly
22143         when the GCC warn_unused_result feature was added.
22144
22145 2011-01-06  Eric Blake  <eblake@redhat.com>
22146
22147         ignore-value: support aggregate types
22148         * lib/ignore-value.h (ignore_value): Provide separate gcc
22149         definition.
22150         * modules/ignore-value-tests: New test module.
22151         * tests/test-ignore-value.c: New test.
22152
22153         maint.mk: improve sc_prohibit_strcmp regex
22154         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22155         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22156         definition of STRNEQ.
22157
22158         signal: work around Haiku issue with SIGBUS
22159         * lib/siglist.h: Add comment.
22160         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22161         strsignal's favoring of SIGSEGV.
22162         * tests/test-signal.c (main): Avoid test failure.
22163         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22164         Reported by Scott McCreary.
22165
22166         maint.mk: add pre-release check to ensure submodule commits are public
22167         * top/maint.mk (public-submodule-commit): New rule.
22168         (submodule-checks): New variable.
22169         (alpha beta stable): Depend on the variable.
22170
22171 2011-01-05  Pádraig Brady <P@draigBrady.com>
22172         and Jim Meyering  <meyering@redhat.com>
22173
22174         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22175         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22176         (ATTRIBUTE_DEPRECATED): Define.
22177         (_ignore_case): New function.
22178         (ignore_value): New macro, to replace the old function.
22179         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22180         * modules/ignore-value (Depends-on): Add stdint.
22181
22182 2011-01-04  Eric Blake  <eblake@redhat.com>
22183
22184         doc: regenerate INSTALL
22185         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22186         @firstparagraphindent support, now that autoconf dropped it.
22187         (INSTALL_PRELUDE): Reinstate old macro.
22188         * doc/install.texi: Resync from autoconf.
22189         * doc/INSTALL: Reflect recent autoconf update.
22190         * doc/INSTALL.ISO: Likewise.
22191         * doc/INSTALL.UTF-8: Likewise.
22192         Reported by Karl Berry.
22193
22194 2011-01-04  Bruce Korb  <address@hidden>
22195
22196         git-version-gen: avoid a sub-shell
22197         * build-aux/git-version-gen: Redirect stderr in `...` via
22198         "exec 2>...", rather than via an added sub-shell.
22199
22200 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22201
22202         git-version-gen: use (...) rather than sh -c '...'
22203         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22204         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22205
22206 2011-01-03  Jim Meyering  <meyering@redhat.com>
22207
22208         git-version-gen: convert leading TABs to spaces
22209         * build-aux/git-version-gen: Expand leading TABs.
22210
22211         git-version-gen: handle failed "git rev-list"
22212         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22213         from git and proceeding as if it had succeeded but printed no SHA1
22214         checksums, suppress the diagnostic and handle the failure.
22215         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22216
22217         git-version-gen: include command name in one more diagnostic
22218         * build-aux/git-version-gen: When the required .tarball-version file
22219         was missing or unreadable, you might see the diagnostic from "cat",
22220         but no trace of the name of the invoking script.  Now, you still see
22221         the diagnostic from cat, but also get one from "git-version-gen: ".
22222         Inspired by a patch from Bruce Korb.
22223
22224         update-copyright: adjust test to match changed code
22225         * tests/test-update-copyright.sh: Change test's expected output
22226         to match new actual output.
22227
22228 2011-01-02  Bruno Haible  <bruno@clisp.org>
22229
22230         getlogin_r: Avoid test failure on HP-UX 11.
22231         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22232         ERANGE when the second argument is zero.
22233         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22234         portability problem.
22235
22236 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22237
22238         * build-aux/update-copyright: doc Simon's changes
22239
22240 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22241
22242         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22243         environment variable.
22244
22245 2011-01-02  Bruno Haible  <bruno@clisp.org>
22246
22247         unigbrk: Avoid gcc warnings.
22248         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22249         unused variable.
22250         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22251         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22252         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22253         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22254         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22255         Change type of first argument to 'const char *'.
22256         (main): Remove unused variable.
22257         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22258         type of first argument to 'const char *'.
22259         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22260         Likewise.
22261         (main): Change type of variable 's'.
22262         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22263         to 'int'.
22264
22265 2011-01-02  Bruno Haible  <bruno@clisp.org>
22266
22267         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22268         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22269         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22270         bug.
22271         * lib/pwrite.c: Undo 2010-12-31 patch.
22272         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22273
22274 2011-01-02  Bruno Haible  <bruno@clisp.org>
22275
22276         pread: Fix test whether it works.
22277         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22278
22279 2011-01-02  Bruno Haible  <bruno@clisp.org>
22280
22281         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22282         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22283         ends in "6". Don't require a specific month name. Try also the locale
22284         names found on HP-UX 11 and Solaris 7.
22285
22286 2011-01-02  Bruno Haible  <bruno@clisp.org>
22287
22288         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22289         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22290         C linkage.
22291         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22292
22293 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22294
22295         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22296         for consistency, since the "cluster" term is not used elsewhere.
22297         * lib/unigbrk.in.h: Update name.
22298         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22299         * lib/unigbrk/u16-grapheme-next.c: Update name.
22300         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22301         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22302         * lib/unigbrk/u32-grapheme-next.c: Update name.
22303         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22304         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22305         * lib/unigbrk/u8-grapheme-next.c: Update name.
22306         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22307         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22308         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22309         Suggested by Bruno Haible.
22310
22311 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22312
22313         Remove module 'u8-grapheme-len' as too redundant with
22314         'u8-grapheme-next'.
22315         * modules/unigbrk/u8-grapheme-len: Delete file.
22316         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22317         * lib/unigbrk.in.h: Remove prototype for deleted function.
22318         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22319         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22320
22321         Remove module 'u16-grapheme-len' as too redundant with
22322         'u16-grapheme-next'.
22323         * modules/unigbrk/u16-grapheme-len: Delete file.
22324         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22325         * lib/unigbrk.in.h: Remove prototype for deleted function.
22326         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22327         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22328
22329         Remove module 'u32-grapheme-len' as too redundant with
22330         'u32-grapheme-next'.
22331         * modules/unigbrk/u32-grapheme-len: Delete file.
22332         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22333         * lib/unigbrk.in.h: Remove prototype for deleted function.
22334         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22335         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22336
22337         Suggested by Bruno Haible.
22338
22339 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22340
22341         * unigbrk.in.h: Fix typo: "ben" => "been".
22342         Reported by Bruno Haible.
22343
22344 2011-01-01  Jim Meyering  <meyering@redhat.com>
22345
22346         maint: update almost all copyright ranges to include 2011
22347         Run the new "make update-copyright" rule.
22348
22349 2011-01-01  Jim Meyering  <meyering@redhat.com>
22350
22351         maint: update-copyright: exempt doc/INSTALL*
22352         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22353         since they are generated.  Suggested by Bruno Haible.
22354
22355 2011-01-01  Jim Meyering  <meyering@redhat.com>
22356
22357         maint: refine the update-copyright rule
22358         * Makefile (update-copyright): Also exclude any file that includes
22359         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22360         code that merely generates the comment.
22361
22362 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22363
22364         New module 'u8-grapheme-len'.
22365         * modules/unigbrk/u8-grapheme-len: New file.
22366         * modules/unigbrk/u8-grapheme-len-tests: New file.
22367         * lib/unigbrk.in.h: Add prototype for new function.
22368         * lib/unigbrk/u8-grapheme-len.c: New file.
22369         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22370
22371         New module 'u16-grapheme-len'.
22372         * modules/unigbrk/u16-grapheme-len: New file.
22373         * modules/unigbrk/u16-grapheme-len-tests: New file.
22374         * lib/unigbrk.in.h: Add prototype for new function.
22375         * lib/unigbrk/u16-grapheme-len.c: New file.
22376         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22377
22378         New module 'u32-grapheme-len'.
22379         * modules/unigbrk/u32-grapheme-len: New file.
22380         * modules/unigbrk/u32-grapheme-len-tests: New file.
22381         * lib/unigbrk.in.h: Add prototype for new function.
22382         * lib/unigbrk/u32-grapheme-len.c: New file.
22383         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22384
22385         New module 'u8-grapheme-next'.
22386         * modules/unigbrk/u8-grapheme-next: New file.
22387         * modules/unigbrk/u8-grapheme-next-tests: New file.
22388         * lib/unigbrk.in.h: Add prototype for new function.
22389         * lib/unigbrk/u8-grapheme-next.c: New file.
22390         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22391
22392         New module 'u16-grapheme-next'.
22393         * modules/unigbrk/u16-grapheme-next: New file.
22394         * modules/unigbrk/u16-grapheme-next-tests: New file.
22395         * lib/unigbrk.in.h: Add prototype for new function.
22396         * lib/unigbrk/u16-grapheme-next.c: New file.
22397         * tests/unigbrk/test-u16-grapheme-next.c: New file.
22398
22399         New module 'u32-grapheme-next'.
22400         * modules/unigbrk/u32-grapheme-next: New file.
22401         * modules/unigbrk/u32-grapheme-next-tests: New file.
22402         * lib/unigbrk.in.h: Add prototype for new function.
22403         * lib/unigbrk/u32-grapheme-next.c: New file.
22404         * tests/unigbrk/test-u32-grapheme-next.c: New file.
22405
22406         New module 'u8-grapheme-prev'.
22407         * modules/unigbrk/u8-grapheme-prev: New file.
22408         * modules/unigbrk/u8-grapheme-prev-tests: New file.
22409         * lib/unigbrk.in.h: Add prototype for new function.
22410         * lib/unigbrk/u8-grapheme-prev.c: New file.
22411         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
22412
22413         New module 'u16-grapheme-prev'.
22414         * modules/unigbrk/u16-grapheme-prev: New file.
22415         * modules/unigbrk/u16-grapheme-prev-tests: New file.
22416         * lib/unigbrk.in.h: Add prototype for new function.
22417         * lib/unigbrk/u16-grapheme-prev.c: New file.
22418         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
22419
22420         New module 'u32-grapheme-prev'.
22421         * modules/unigbrk/u32-grapheme-prev: New file.
22422         * modules/unigbrk/u32-grapheme-prev-tests: New file.
22423         * lib/unigbrk.in.h: Add prototype for new function.
22424         * lib/unigbrk/u32-grapheme-prev.c: New file.
22425         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
22426
22427         New module 'u8-grapheme-breaks'.
22428         * modules/unigbrk/u8-grapheme-breaks: New file.
22429         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
22430         * lib/unigbrk.in.h: Add prototype for new function.
22431         * lib/unigbrk/u8-grapheme-breaks.c: New file.
22432         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
22433
22434         New module 'u16-grapheme-breaks'.
22435         * modules/unigbrk/u16-grapheme-breaks: New file.
22436         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
22437         * lib/unigbrk.in.h: Add prototype for new function.
22438         * lib/unigbrk/u16-grapheme-breaks.c: New file.
22439         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
22440
22441         New module 'u32-grapheme-breaks'.
22442         * modules/unigbrk/u32-grapheme-breaks: New file.
22443         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
22444         * lib/unigbrk.in.h: Add prototype for new function.
22445         * lib/unigbrk/u32-grapheme-breaks.c: New file.
22446         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
22447
22448         New module 'ulc-grapheme-breaks'.
22449         * modules/unigbrk/ulc-grapheme-breaks: New file.
22450         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
22451         * m4/locale-ar.m4: New file.
22452         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
22453         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
22454         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
22455
22456 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22457
22458         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
22459         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
22460         modified how this file was generated before I initially submitted
22461         the module, but failed to regenerate it.  This meant that several
22462         of the level2 entries were wrong.
22463         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
22464         Remove the division-by-2 that is folded into the table now that
22465         gbrkprop.h has been regenerated properly.  Now -1 entries are
22466         handled correctly.
22467
22468         New module 'unigbrk/uc-gbrk-prop-tests'.
22469         * modules/unigbrk/uc-gbrk-prop-tests: New file.
22470         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
22471         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
22472         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
22473
22474 2011-01-01  Bruno Haible  <bruno@clisp.org>
22475
22476         Avoid use of hexadecimal escapes.
22477         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
22478         instead of hexadecimal escapes.
22479
22480 2011-01-01  Jim Meyering  <meyering@redhat.com>
22481
22482         maint: new rule to update copyright year ranges
22483         * Makefile (update-copyright): New rule.
22484
22485         maint: indent with TABs in Makefile
22486         * Makefile: Expand leading sequences of spaces to TABs
22487
22488         version-etc: update the copyright year it reports
22489         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
22490
22491 2010-12-31  Bruno Haible  <bruno@clisp.org>
22492
22493         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
22494         * lib/isfinite.c (zerof, zerod, zerol): New variables.
22495         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
22496         zero.
22497
22498 2010-12-31  Bruno Haible  <bruno@clisp.org>
22499
22500         pwrite: Work around HP-UX 11.11 bug.
22501         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
22502         works and set REPLACE_PWRITE if not.
22503         * lib/pwrite.c (pwrite): Add an implementation that uses the system
22504         function.
22505         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
22506
22507 2010-12-31  Bruno Haible  <bruno@clisp.org>
22508
22509         pread: Work around HP-UX 11 bugs.
22510         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
22511         and set REPLACE_PREAD if not.
22512         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
22513
22514 2010-12-31  Eric Blake  <eblake@redhat.com>
22515
22516         nl_langinfo: fix YESEXPR on Irix 6.5
22517         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
22518         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
22519         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
22520         it.
22521
22522 2010-12-31  Bruno Haible  <bruno@clisp.org>
22523
22524         iconv: Document HP-UX 11 bug.
22525         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
22526
22527 2010-12-31  Bruno Haible  <bruno@clisp.org>
22528
22529         ldexpl: Fix link error on HP-UX 11.
22530         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
22531         LDEXPL_LIBM, using $ISNANL_LIBM.
22532
22533 2010-12-31  Eric Blake  <eblake@redhat.com>
22534
22535         ftello: avoid compilation failure with SunStudio c89
22536         * lib/ftello.c (ftello): Use lseek, not llseek.
22537
22538         tests: avoid failing coreutils tests on cygwin
22539         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22540         (create_exe_shims_): Return 0 when skipping.
22541
22542 2010-12-31  Bruno Haible  <bruno@clisp.org>
22543
22544         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22545         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22546
22547 2010-12-31  Bruno Haible  <bruno@clisp.org>
22548
22549         waitpid: Fix link error in C++ mode.
22550         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22551
22552 2010-12-31  Bruno Haible  <bruno@clisp.org>
22553
22554         isnan: Use GCC built-ins when possible.
22555         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22556         __builtin_isnan.
22557         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22558         (isnan): Define using GCC built-ins for GCC >= 4.0.
22559
22560 2010-12-31  Bruno Haible  <bruno@clisp.org>
22561
22562         isnand: Fix mistake.
22563         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22564         __builtin_isnand.
22565
22566 2010-12-31  Bruno Haible  <bruno@clisp.org>
22567
22568         open: Avoid C++ error on HP-UX 11.
22569         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22570
22571 2010-12-31  Bruno Haible  <bruno@clisp.org>
22572
22573         time_r: Add missing declarations on HP-UX 11.
22574         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22575         instead of HAVE_LOCALTIME_R.
22576         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22577         HAVE_LOCALTIME_R always.
22578         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22579         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22580         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22581         HAVE_LOCALTIME_R.
22582         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22583         * doc/posix-functions/localtime_r.texi: Likewise.
22584
22585 2010-12-29  Eric Blake  <eblake@redhat.com>
22586
22587         mountlist: tweak previous commit
22588         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22589         Reported by Paul Eggert.
22590
22591         mountlist: fix local drive detection on cygwin
22592         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22593         that works for cygwin.
22594
22595 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22596
22597         ftoastr, snprintf: ftoastr + snprintf module
22598         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22599         since the snprintf module now should be good enough here.
22600         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22601         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22602         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22603         GNULIB_SNPRINTF only for the test directory, and the latter
22604         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22605         seems to suffice by itself.
22606
22607 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22608
22609         alloca: one step towards thread-safety
22610         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22611         need for a static variable.  All callers changed.  This does not
22612         make the alloca replacement thread-safe, but it's one step.
22613
22614         tests: minor indenting change
22615         * tests/init.sh: Sync from coreutils housekeeping patch
22616         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22617         to keep lines within 80 columns.
22618
22619 2010-12-28  Jim Meyering  <meyering@redhat.com>
22620
22621         regex: don't infloop on persistent failing calloc
22622         * lib/regexec.c (build_trtable): Return failure indication upon
22623         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22624         In glibc, this was fixed for version 2.13:
22625         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22626
22627 2010-12-28  Bruno Haible  <bruno@clisp.org>
22628             Paul Eggert <eggert@cs.ucla.edu>
22629
22630         linkat: Make implementation robust against system behaviour variations.
22631         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22632         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22633         way, and to -2 if it needs a generic runtime test.
22634         * lib/linkat.c (solaris_optimized_link_immediate,
22635         solaris_optimized_link_follow): New functions.
22636         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22637         (check_same_link): Use it.
22638
22639 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22640
22641         New module 'unigbrk/base'.
22642         * modules/unigbrk/base: New file.
22643         * lib/unigbrk.in.h: New file.
22644
22645         New module 'unigbrk/uc-gbrk-prop'.
22646         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22647         * modules/unigbrk/uc-gbrk-prop: New file.
22648         * lib/unigbrk/gbrkprop.h: New file.
22649         * lib/unigbrk/uc-gbrk-prop.c: New file.
22650
22651         New module 'unigbrk/uc-is-grapheme-break'.
22652         * modules/unigbrk/uc-is-grapheme-break: New file.
22653         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22654         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22655         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22656         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22657         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22658
22659         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22660
22661 2010-12-27  Bruno Haible  <bruno@clisp.org>
22662
22663         linkat test: Avoid failure on Solaris 11 2010-11.
22664         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22665
22666 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22667
22668         utimens: work around glibc rounding bug on more platforms
22669         * lib/utimens.c (fdutimens): Work around rounding bug even if
22670         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22671         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22672
22673 2010-12-27  Bruno Haible  <bruno@clisp.org>
22674
22675         select tests: Improve comments.
22676         * tests/test-select.c (do_select): Add comments.
22677
22678 2010-12-27  Bruno Haible  <bruno@clisp.org>
22679
22680         select tests: Safer way of handling timeout.
22681         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22682         at every invocation.
22683
22684 2010-12-27  Bruno Haible  <bruno@clisp.org>
22685
22686         select tests: Use 'bool' where appropriate.
22687         * tests/test-select.c (connect_to_socket): Change argument type to
22688         'bool'.
22689
22690 2010-12-27  Bruno Haible  <bruno@clisp.org>
22691
22692         select tests: Use existing modules.
22693         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22694         (configure.ac): Don't test for unistd.h.
22695         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22696         declared in <unistd.h>.
22697
22698 2010-12-27  Bruno Haible  <bruno@clisp.org>
22699
22700         mbrtowc: Work around a Solaris 7 bug.
22701         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22702         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22703         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22704         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22705         MBRTOWC_NULL_ARG1_BUG.
22706         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22707         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22708         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22709         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22710
22711 2010-12-27  Jim Meyering  <meyering@redhat.com>
22712
22713         read-file.c: tweak syntax
22714         * lib/read-file.c (fread_file): Remove space after "*" in function
22715         definitions.
22716
22717 2010-12-27  Bruno Haible  <bruno@clisp.org>
22718
22719         times test: Avoid gcc warnings on OSF/1.
22720         * tests/test-times.c (main): Cast printf arguments from clock_t to
22721         'long int'.
22722
22723 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22724
22725         utimens: work around glibc rounding bug on older Linux kernels
22726         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22727         on Linux with a glibc whose utimes might not work, then work
22728         around a longstanding glibc bug involving rounding rather than
22729         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22730         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22731
22732 2010-12-26  Bruno Haible  <bruno@clisp.org>
22733
22734         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22735         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22736         _GL_CXXALIAS_SYS.
22737         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22738
22739 2010-12-26  Bruno Haible  <bruno@clisp.org>
22740
22741         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22742         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22743         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22744         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22745         looking for the declaration.
22746         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22747         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22748         problem.
22749         * doc/posix-functions/inet_pton.texi: Likewise.
22750
22751 2010-12-26  Bruno Haible  <bruno@clisp.org>
22752
22753         arpa_inet: Use the common idioms with C++ support.
22754         * lib/arpa_inet.in.h: Include c++defs.h.
22755         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22756         support.
22757         * modules/arpa_inet (Depends-on): Add c++defs.
22758         (Makefile.am): Substitute the contents of c++defs.h.
22759         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22760         * modules/arpa_inet-c++-tests: New file.
22761         * tests/test-arpa_inet-c++.cc: New file.
22762
22763 2010-12-25  Bruno Haible  <bruno@clisp.org>
22764
22765         Fix more C++ link errors on Solaris 8.
22766         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22767         $(LIB_EACCESS).
22768         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22769         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22770         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22771         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22772         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22773
22774 2010-12-25  Bruno Haible  <bruno@clisp.org>
22775
22776         printf-posix: Fix link error when a non-GCC compiler is used.
22777         * lib/stdio.in.h (printf): When not using GCC, override printf
22778         correctly.
22779         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22780
22781 2010-12-25  Bruno Haible  <bruno@clisp.org>
22782
22783         strerror_r-posix: Update doc.
22784         * doc/posix-functions/strerror_r.texi: Update doc about the return
22785         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22786
22787 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22788
22789         utimens: simplify the logic of the previous change
22790         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22791         This should not affect whether the test succeeds or fails.
22792
22793         utimens: configure better on hosts with NFS clock skew
22794         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22795         uses the clock of the local host.  It might use the clock of the
22796         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22797         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22798
22799 2010-12-25  Bruno Haible  <bruno@clisp.org>
22800
22801         ptsname test: Avoid failure on Solaris.
22802         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22803         open a pseudo-terminal; don't use BSD-style ptys.
22804         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22805
22806 2010-12-25  Bruno Haible  <bruno@clisp.org>
22807
22808         ptsname: Avoid ERANGE failure on some systems.
22809         * lib/ptsname.c (buffer): Increase size.
22810
22811 2010-12-25  Bruno Haible  <bruno@clisp.org>
22812
22813         rename, renameat: Avoid test failures at NFS mounted locations.
22814         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22815         so that subsequent mkdir calls succeed.
22816
22817 2010-12-25  Bruno Haible  <bruno@clisp.org>
22818
22819         iswblank: Fix C++ link error on Solaris 8.
22820         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22821         _GL_FUNCDECL_SYS.
22822
22823 2010-12-25  Bruno Haible  <bruno@clisp.org>
22824
22825         unistd: Fix C++ link error on Solaris 8.
22826         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22827
22828 2010-12-25  Bruno Haible  <bruno@clisp.org>
22829
22830         readlink doc: Mention an old glibc bug.
22831         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22832
22833 2010-12-25  Bruno Haible  <bruno@clisp.org>
22834
22835         fcntl-h: Fix for use of C++ on glibc systems.
22836         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22837         also on glibc systems in C++ mode.
22838         Reported by Gary V. Vaughan <gary@gnu.org>.
22839
22840 2010-12-25  Bruno Haible  <bruno@clisp.org>
22841
22842         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22843         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22844
22845 2010-12-25  Bruno Haible  <bruno@clisp.org>
22846
22847         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22848         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22849         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22850         test whether truncl works according to ISO C 99 with IEC 60559.
22851         * m4/truncl-ieee.m4: New file.
22852         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22853         m4/signbit.m4.
22854         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22855
22856 2010-12-25  Bruno Haible  <bruno@clisp.org>
22857
22858         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22859         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22860         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22861         test whether ceill works according to ISO C 99 with IEC 60559.
22862         * m4/ceill-ieee.m4: New file.
22863         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22864         m4/signbit.m4.
22865         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22866
22867 2010-12-25  Bruno Haible  <bruno@clisp.org>
22868
22869         Ensure all prerequisites of <wchar.h> are included.
22870         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22871         before <wchar.h>.
22872         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22873         gl_MBRLEN_NUL_RETVAL): Likewise.
22874         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22875         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22876         AC_FUNC_MBRTOWC): Likewise.
22877         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22878         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22879         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22880         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22881         Likewise.
22882         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22883         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22884         (gl_WCHAR_H): Improve comments.
22885         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22886
22887 2010-12-25  Bruno Haible  <bruno@clisp.org>
22888
22889         strtok_r: Fix C syntax error in autoconf macro.
22890         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22891         characters in test program.
22892
22893 2010-12-24  Bruno Haible  <bruno@clisp.org>
22894
22895         ceil, trunc, round: Fix gcc warnings.
22896         * lib/ceil.c (MIN): Undefine before redefining.
22897         * lib/trunc.c (MIN): Likewise.
22898         * lib/round.c (MIN): Likewise.
22899         Include <math.h> first.
22900
22901 2010-12-24  Bruno Haible  <bruno@clisp.org>
22902
22903         select tests: Avoid failures on OSF/1 5.1.
22904         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
22905         failure of closing the last socket; it may fail with ECONNRESET.
22906
22907 2010-12-24  Eric Blake  <eblake@redhat.com>
22908
22909         stdint: avoid HP-UX 10.20 preprocessor bug
22910         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
22911         than #if.
22912         * tests/test-floor2.c (main): Likewise.
22913         Reported by Peter O'Gorman.
22914
22915         pipe: make obsoletion transition easier
22916         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
22917         * modules/pipe (Files): Include revived file.
22918         (Include): Drop reference, to mirror getdate's behavior.
22919
22920 2010-12-24  Bruno Haible  <bruno@clisp.org>
22921
22922         sys_socket: Hide mismatch of declarations on NonStop Kernel.
22923         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
22924         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
22925         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22926
22927 2010-12-24  Bruno Haible  <bruno@clisp.org>
22928
22929         gethostname: Ensure declaration on NonStop Kernel.
22930         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
22931         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22932
22933 2010-12-24  Bruno Haible  <bruno@clisp.org>
22934
22935         sys_select: Ensure all necessary types on NonStop Kernel.
22936         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
22937         include <sys/time.h>.
22938         * doc/posix-headers/sys_select.texi: Mention that it's missing on
22939         NonStop Kernel.
22940         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22941
22942 2010-12-24  Bruno Haible  <bruno@clisp.org>
22943
22944         sys_select: Remove unneeded include.
22945         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
22946         have <sys/select.h>.
22947
22948 2010-12-24  Bruno Haible  <bruno@clisp.org>
22949
22950         gethostname: Provide a fallback for HOST_NAME_MAX.
22951         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
22952         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
22953         instead.
22954         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22955
22956 2010-12-24  Bruno Haible  <bruno@clisp.org>
22957
22958         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
22959         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
22960         (SA_RESTART): Likewise.
22961         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22962
22963 2010-12-24  Bruno Haible  <bruno@clisp.org>
22964
22965         signal: Define NSIG.
22966         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
22967         * tests/test-signal.c (nsig): New variable.
22968         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22969
22970 2010-12-24  Bruno Haible  <bruno@clisp.org>
22971
22972         rename, renameat: Avoid test failures on OSF/1 5.1.
22973         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
22974         alternative error codes.
22975         * tests/test-renameat.c (main): Likewise.
22976
22977 2010-12-24  Bruno Haible  <bruno@clisp.org>
22978
22979         *printf: Detect large precisions bug on Solaris 10/SPARC.
22980         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
22981         by Paul Eggert.
22982         * tests/test-snprintf-posix.h (test_function): Add this test code here
22983         too.
22984         * tests/test-sprintf-posix.h (test_function): Likewise.
22985         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22986         * tests/test-vasprintf-posix.c (test_function): Likewise.
22987         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
22988         around by gnulib.
22989         * doc/posix-functions/printf.texi: Likewise.
22990         * doc/posix-functions/snprintf.texi: Likewise.
22991         * doc/posix-functions/sprintf.texi: Likewise.
22992         * doc/posix-functions/vfprintf.texi: Likewise.
22993         * doc/posix-functions/vprintf.texi: Likewise.
22994         * doc/posix-functions/vsnprintf.texi: Likewise.
22995         * doc/posix-functions/vsprintf.texi: Likewise.
22996         * doc/posix-functions/dprintf.texi: Undo last commit.
22997         * doc/posix-functions/vdprintf.texi: Likewise.
22998
22999 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23000
23001         tests: port test-fdutimensat.c to Solaris 8
23002         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23003         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23004         On Solaris 8, it fails with errno == ENOSYS, because there is no
23005         futimens (so it can't use the fd), and there is no lutimens (so it
23006         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23007
23008         vsnprintf: make more consistent with snprintf; doc fixes
23009
23010         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23011         the byte count return problem was promoted from the snprintf-posix
23012         to the snprintf module.
23013         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23014         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23015         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23016         * tests/test-snprintf.c (main): Check the byte count returned.
23017         * tests/test-vsnprintf.c (main): Likewise.
23018
23019 2010-12-23  Eric Blake  <eblake@redhat.com>
23020
23021         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23022         * modules/sigpipe (License): Relax license.
23023
23024 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23025
23026         doc: document Solaris printf bug with large float precisions
23027         * doc/posix-functions/dprintf.texi (dprintf):
23028         * doc/posix-functions/fprintf.texi (fprintf):
23029         * doc/posix-functions/printf.texi (printf):
23030         * doc/posix-functions/snprintf.texi (snprintf):
23031         * doc/posix-functions/sprintf.texi (sprintf):
23032         * doc/posix-functions/vdprintf.texi (vdprintf):
23033         * doc/posix-functions/vfprintf.texi (vfprintf):
23034         * doc/posix-functions/vprintf.texi (vprintf):
23035         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23036         * doc/posix-functions/vsprintf.texi (vsprintf):
23037         Mention that these functions mishandle large floating point
23038         precisions on Solaris 10.  The same bug is also present in Solaris
23039         8, and I assume earlier.  This causes "cd gnulib-tests; make
23040         check" to fail on Solaris 8 (and I assume, later) when building
23041         the latest coreutils, in test-vasprintf-posix's call to
23042         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23043         the wide flavors (e.g., wprintf) so this patch just updates the
23044         documentation for the narrow ones.
23045
23046         test-posixtm.c: add two tests
23047         * tests/test-posixtm.c: Add two tests, to highlight the
23048         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23049         around this bug; this is merely to document it.
23050
23051 2010-12-22  Bruno Haible  <bruno@clisp.org>
23052
23053         getlogin_r: Work around portability problem on OSF/1.
23054         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23055         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23056         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23057         test for a truncated result.
23058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23059         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23060         * modules/getlogin_r (Depends-on): Add memchr.
23061         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23062
23063 2010-12-22  Bruno Haible  <bruno@clisp.org>
23064
23065         ptsname: Avoid test failure on OSF/1 5.1.
23066         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23067         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23068         (same_slave): New function.
23069         (main): Use it to compare ptsname's result with the expected file name.
23070
23071 2010-12-22  Bruno Haible  <bruno@clisp.org>
23072
23073         Port extended stdio modules to HP NonStop Kernel.
23074         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23075         macros.
23076         * lib/fbufmode.c: Update comments.
23077         * lib/fflush.c: Likewise.
23078         * lib/fpurge.c: Likewise.
23079         * lib/freadable.c: Likewise.
23080         * lib/freadahead.c: Likewise.
23081         * lib/freading.c: Likewise.
23082         * lib/freadptr.c: Likewise.
23083         * lib/freadseek.c: Likewise.
23084         * lib/fseeko.c: Likewise.
23085         * lib/fseterr.c: Likewise.
23086         * lib/fwritable.c: Likewise.
23087         * lib/fwriting.c: Likewise.
23088         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23089
23090 2010-12-22  Bruno Haible  <bruno@clisp.org>
23091
23092         ttyname_r: Work around bug on OSF/1 5.1.
23093         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23094         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23095         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23096         present.
23097         * lib/ttyname_r.c (ttyname_r): Update comments.
23098
23099 2010-12-22  Bruno Haible  <bruno@clisp.org>
23100
23101         round: Implement result sign according to IEEE 754.
23102         * lib/round.c (MIN, MINUS_ZERO): New macros.
23103         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23104         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23105         * tests/test-round-ieee.c (main): Likewise.
23106         * tests/test-roundl-ieee.c (main): Likewise.
23107
23108         trunc: Implement result sign according to IEEE 754.
23109         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23110         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23111         * tests/test-trunc2.c: Include minus-zero.h.
23112         (MINUS_ZERO): New macro.
23113         (trunc_reference): Keep in sync with lib/trunc.c.
23114         * tests/test-truncf2.c: Include minus-zero.h.
23115         (MINUS_ZERO): New macro.
23116         (truncf_reference): Keep in sync with lib/trunc.c.
23117         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23118         * tests/test-trunc-ieee.c (main): Likewise.
23119         * tests/test-truncl-ieee.c (main): Likewise.
23120
23121         ceil: Implement result sign according to IEEE 754.
23122         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23123         (FUNC): Return -0.0 for -1 < x < 0.
23124         * tests/test-ceil2.c: Include minus-zero.h.
23125         (MINUS_ZERO): New macro.
23126         (ceil_reference): Keep in sync with lib/ceil.c.
23127         * tests/test-ceilf2.c: Include minus-zero.h.
23128         (MINUS_ZERO): New macro.
23129         (ceilf_reference): Keep in sync with lib/ceil.c.
23130         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23131         * tests/test-ceil-ieee.c (main): Likewise.
23132         * tests/test-ceill-ieee.c (main): Likewise.
23133
23134         floor: Implement result sign according to IEEE 754.
23135         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23136         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23137         * tests/test-floorf2.c (floorf_reference): Likewise.
23138         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23139         * tests/test-floor-ieee.c (main): Likewise.
23140         * tests/test-floorl-ieee.c (main): Likewise.
23141
23142 2010-12-22  Bruno Haible  <bruno@clisp.org>
23143
23144         getaddrinfo: Update doc.
23145         * doc/posix-functions/gai_strerror.texi: Return type is also different
23146         on AIX and HP-UX.
23147
23148 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23149
23150         getaddrinfo, inet_ntop: Update doc for Solaris.
23151         * doc/posix-functions/gai_strerror.texi: Return type is also an
23152         issue on Solaris 9 and earlier.
23153         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23154         on Solaris 10 and earlier.
23155
23156 2010-12-21  Bruno Haible  <bruno@clisp.org>
23157
23158         New module 'roundl-ieee'.
23159         * modules/roundl-ieee: New file.
23160         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23161         test whether roundl works according to ISO C 99 with IEC 60559.
23162         * m4/roundl-ieee.m4: New file.
23163         * modules/roundl-ieee-tests: New file.
23164         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23165         * tests/test-roundl.c (main): Remove signbit tests.
23166         * modules/roundl-tests (Depends-on): Remove signbit.
23167         * doc/posix-functions/roundl.texi: Mention the new module.
23168
23169 2010-12-21  Bruno Haible  <bruno@clisp.org>
23170
23171         New module 'truncl-ieee'.
23172         * modules/truncl-ieee: New file.
23173         * modules/truncl-ieee-tests: New file.
23174         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23175         * tests/test-truncl.c (main): Remove signbit tests.
23176         * modules/truncl-tests (Depends-on): Remove signbit.
23177         * doc/posix-functions/truncl.texi: Mention the new module.
23178
23179 2010-12-21  Bruno Haible  <bruno@clisp.org>
23180
23181         New module 'ceill-ieee'.
23182         * modules/ceill-ieee: New file.
23183         * modules/ceill-ieee-tests: New file.
23184         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23185         * tests/test-ceill.c (main): Remove signbit tests.
23186         * modules/ceill-tests (Depends-on): Remove signbit.
23187         * doc/posix-functions/ceill.texi: Mention the new module.
23188
23189 2010-12-21  Bruno Haible  <bruno@clisp.org>
23190
23191         New module 'floorl-ieee'.
23192         * modules/floorl-ieee: New file.
23193         * modules/floorl-ieee-tests: New file.
23194         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23195         * tests/test-floorl.c (main): Remove signbit tests.
23196         * modules/floorl-tests (Depends-on): Remove signbit.
23197         * doc/posix-functions/floorl.texi: Mention the new module.
23198
23199 2010-12-21  Bruno Haible  <bruno@clisp.org>
23200
23201         New module 'round-ieee'.
23202         * modules/round-ieee: New file.
23203         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23204         whether round works according to ISO C 99 with IEC 60559.
23205         * m4/round-ieee.m4: New file.
23206         * modules/round-ieee-tests: New file.
23207         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23208         * tests/test-round1.c (main): Remove signbit tests.
23209         * modules/round-tests (Depends-on): Remove 'signbit'.
23210         * doc/posix-functions/round.texi: Mention the new module.
23211
23212 2010-12-21  Bruno Haible  <bruno@clisp.org>
23213
23214         New module 'trunc-ieee'.
23215         * modules/trunc-ieee: New file.
23216         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23217         whether trunc works according to ISO C 99 with IEC 60559.
23218         * m4/trunc-ieee.m4: New file.
23219         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23220         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23221         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23222         * modules/trunc-ieee-tests: New file.
23223         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23224         * tests/test-trunc1.c (main): Remove signbit tests.
23225         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23226         * doc/posix-functions/trunc.texi: Mention the new module.
23227
23228 2010-12-21  Bruno Haible  <bruno@clisp.org>
23229
23230         New module 'ceil-ieee'.
23231         * modules/ceil-ieee: New file.
23232         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23233         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23234         ISO C 99 with IEC 60559.
23235         * m4/ceil-ieee.m4: New file.
23236         * modules/ceil (Files): Add lib/ceil.c.
23237         (Depends-on): Add 'float'.
23238         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23239         * lib/math.in.h (ceil): New declaration.
23240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23241         REPLACE_CEIL.
23242         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23243         * modules/ceil-ieee-tests: New file.
23244         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23245         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23246         * doc/posix-functions/ceil.texi: Mention the new module.
23247
23248 2010-12-21  Bruno Haible  <bruno@clisp.org>
23249
23250         New module 'floor-ieee'.
23251         * modules/floor-ieee: New file.
23252         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23253         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23254         ISO C 99 with IEC 60559.
23255         * m4/floor-ieee.m4: New file.
23256         * modules/floor (Files): Add lib/floor.c.
23257         (Depends-on): Add 'float'.
23258         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23259         * lib/math.in.h (floor): New declaration.
23260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23261         REPLACE_FLOOR.
23262         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23263         * modules/floor-ieee-tests: New file.
23264         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23265         * tests/test-math-c++.cc: Check the signature of 'floor'.
23266         * doc/posix-functions/floor.texi: Mention the new module.
23267
23268 2010-12-21  Bruno Haible  <bruno@clisp.org>
23269
23270         New module 'roundf-ieee'.
23271         * modules/roundf-ieee: New file.
23272         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23273         test whether roundf works according to ISO C 99 with IEC 60559.
23274         * m4/roundf-ieee.m4: New file.
23275         * modules/roundf-ieee-tests: New file.
23276         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23277         * tests/test-roundf1.c (main): Remove signbit tests.
23278         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23279         * doc/posix-functions/roundf.texi: Mention the new module.
23280
23281 2010-12-21  Bruno Haible  <bruno@clisp.org>
23282
23283         New module 'truncf-ieee'.
23284         * modules/truncf-ieee: New file.
23285         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23286         test whether truncf works according to ISO C 99 with IEC 60559.
23287         * m4/truncf-ieee.m4: New file.
23288         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23290         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23291         * modules/truncf-ieee-tests: New file.
23292         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23293         * tests/test-truncf1.c (main): Remove signbit tests.
23294         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23295         * doc/posix-functions/truncf.texi: Mention the new module.
23296
23297 2010-12-21  Bruno Haible  <bruno@clisp.org>
23298
23299         New module 'ceilf-ieee'.
23300         * modules/ceilf-ieee: New file.
23301         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23302         test whether ceilf works according to ISO C 99 with IEC 60559.
23303         * m4/ceilf-ieee.m4: New file.
23304         * modules/ceilf-ieee-tests: New file.
23305         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23306         * tests/test-ceilf1.c (main): Remove signbit tests.
23307         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23308         * doc/posix-functions/ceilf.texi: Mention the new module.
23309
23310 2010-12-21  Bruno Haible  <bruno@clisp.org>
23311
23312         New module 'floorf-ieee'.
23313         * modules/floorf-ieee: New file.
23314         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23315         test whether floorf works according to ISO C 99 with IEC 60559.
23316         * m4/floorf-ieee.m4: New file.
23317         * modules/floorf-ieee-tests: New file.
23318         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23319         * tests/test-floorf1.c (main): Remove signbit tests.
23320         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23321         * doc/posix-functions/floorf.texi: Mention the new module.
23322
23323 2010-12-21  Bruno Haible  <bruno@clisp.org>
23324
23325         Support for minus zero in autoconf macros.
23326         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23327         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23328         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23329         * tests/minus-zero.h: Update comments.
23330
23331 2010-12-21  Bruno Haible  <bruno@clisp.org>
23332
23333         Tests for module 'ceil'.
23334         * modules/ceil-tests: New file.
23335         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23336         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23337
23338 2010-12-21  Bruno Haible  <bruno@clisp.org>
23339
23340         Tests for module 'floor'.
23341         * modules/floor-tests: New file.
23342         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23343         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23344
23345 2010-12-21  Bruno Haible  <bruno@clisp.org>
23346
23347         math: Fix indentation.
23348         * lib/math.in.h (floorf): Fix indentation.
23349
23350 2010-12-21  Bruno Haible  <bruno@clisp.org>
23351
23352         Fix cross-compilation guesses on Solaris.
23353         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23354         not match "solaris2.10".
23355         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23356         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23357         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23358
23359 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23360
23361         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23362         This fixes a problem observed with the latest coreutils snapshot
23363         that caused a test to fail on Solaris 8.  src/csplit.c's call
23364         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23365         earlier, instead of returning the number of bytes that would have
23366         been generated; this causes csplit to incorrectly report memory
23367         exhaustion.
23368         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23369         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23370         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23371         comments to match.
23372         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23373         Fix typo in matching older versions of Solaris: "solaris2.10"
23374         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23375         only for guessing while cross-compiling.
23376         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23377
23378 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23379
23380         ftoastr: fix comment again
23381         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23382         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23383         Also, simplify example a bit by using flags = 0.
23384
23385 2010-12-20  Bruno Haible  <bruno@clisp.org>
23386
23387         round*, trunc*: Update documentation regarding glibc.
23388         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23389         * doc/posix-functions/round.texi: Likewise.
23390         * doc/posix-functions/roundl.texi: Likewise.
23391         * doc/posix-functions/truncf.texi: Likewise.
23392         * doc/posix-functions/trunc.texi: Likewise.
23393         * doc/posix-functions/truncl.texi: Likewise.
23394
23395 2010-12-20  Bruno Haible  <bruno@clisp.org>
23396
23397         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
23398         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
23399         * doc/posix-functions/round.texi: Likewise.
23400         * doc/posix-functions/roundl.texi: Likewise.
23401
23402 2010-12-20  Bruno Haible  <bruno@clisp.org>
23403
23404         ttyname_r: Add missing declaration on HP-UX 11.
23405         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
23406         HAVE_TTYNAME_R.
23407         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
23408         declared. Set HAVE_TTYNAME_R always.
23409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23410         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
23411         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
23412         HAVE_TTYNAME_R.
23413         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
23414
23415 2010-12-20  Bruno Haible  <bruno@clisp.org>
23416
23417         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
23418         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
23419         * doc/posix-functions/getlogin_r.texi: Likewise.
23420         * tests/test-getlogin.c: Include <errno.h>.
23421         (main): Avoid test failure on HP-UX 11.11.
23422         * tests/test-getlogin_r.c (main): Likewise.
23423
23424 2010-12-20  Bruno Haible  <bruno@clisp.org>
23425
23426         getlogin_r: Add missing declaration on HP-UX 11.
23427         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
23428         declared also when it exists as a function.
23429         * doc/posix-functions/getlogin_r.texi: Document this workaround.
23430
23431 2010-12-20  Bruno Haible  <bruno@clisp.org>
23432
23433         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
23434         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
23435         through wcrtomb.
23436
23437 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23438
23439         ftoastr: fix comment
23440         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23441         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
23442
23443 2010-12-19  Bruno Haible  <bruno@clisp.org>
23444
23445         isnan: Ensure it is a macro.
23446         * lib/math.in.h (isnan): Define as a macro if not already a macro.
23447         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
23448         Solaris.
23449
23450 2010-12-19  Bruno Haible  <bruno@clisp.org>
23451
23452         ldexpl test: Fix link error on OSF/1 5.1.
23453         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
23454
23455 2010-12-19  Bruno Haible  <bruno@clisp.org>
23456
23457         wctype: Make it work in C++ mode on OSF/1 5.1.
23458         * lib/wctype.in.h (iswblank): Declare but not define here.
23459         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
23460         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
23461         * modules/wctype (Files): Add lib/iswblank.c.
23462
23463 2010-12-19  Bruno Haible  <bruno@clisp.org>
23464
23465         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
23466         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
23467         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
23468
23469 2010-12-19  Bruno Haible  <bruno@clisp.org>
23470
23471         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
23472         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
23473         _POSIX_PII_SOCKET.
23474         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
23475         * doc/posix-functions/recvfrom.texi: Likewise.
23476         * doc/posix-functions/send.texi: Likewise.
23477         * doc/posix-functions/sendto.texi: Likewise.
23478
23479 2010-12-19  Bruno Haible  <bruno@clisp.org>
23480
23481         tcgetsid: Add missing declaration on OSF/1 5.1.
23482         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
23483         HAVE_TCGETSID.
23484         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
23485         Don't set HAVE_TCGETSID.
23486         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
23487         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
23488         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
23489         HAVE_TCGETSID.
23490         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
23491
23492 2010-12-19  Bruno Haible  <bruno@clisp.org>
23493
23494         stdio: Fix problem with popen() declaration on OSF/1 5.1.
23495         * lib/stdio.in.h: During the include_next statement, let recursive
23496         includes of this file include only the system header file.
23497
23498 2010-12-19  Bruno Haible  <bruno@clisp.org>
23499
23500         iconv_open: Fix regression from 2010-12-04.
23501         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
23502         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
23503
23504 2010-12-19  Bruno Haible  <bruno@clisp.org>
23505
23506         stdbool test: Avoid a gcc warning.
23507         * tests/test-stdbool.c (main): Fail if e1 is false.
23508         Reported by Jim Meyering.
23509
23510 2010-12-19  Jim Meyering  <meyering@redhat.com>
23511
23512         setenv: restore to working order
23513         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
23514         mistakenly removed.
23515         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
23516         HAVE_SETENV.
23517         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
23518         HAVE_SETENV.
23519
23520 2010-12-19  Bruno Haible  <bruno@clisp.org>
23521
23522         Document some different function declarations on OSF/1 5.1.
23523         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
23524         * doc/posix-functions/inet_ntop.texi: Likewise.
23525         * doc/posix-functions/gethostname.texi: Likewise.
23526         * lib/unistd.in.h (gethostname): Update comment.
23527
23528 2010-12-19  Bruno Haible  <bruno@clisp.org>
23529
23530         doc: Mention vasprintf-posix module.
23531         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
23532         the 'vasprintf-posix' module.
23533         * doc/glibc-functions/vasprintf.texi: Likewise.
23534
23535 2010-12-19  Bruno Haible  <bruno@clisp.org>
23536
23537         unsetenv: Add missing declaration on OSF/1 5.1.
23538         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23539         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23540         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23542         not HAVE_UNSETENV.
23543         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23544         HAVE_UNSETENV.
23545         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23546
23547 2010-12-19  Bruno Haible  <bruno@clisp.org>
23548
23549         setenv: Add missing declaration on OSF/1 5.1.
23550         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23551         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23552         declared. Don't set HAVE_SETENV.
23553         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23554         not HAVE_SETENV.
23555         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23556         HAVE_SETENV.
23557         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23558
23559 2010-12-19  Bruno Haible  <bruno@clisp.org>
23560
23561         nl_langinfo tests: Avoid gcc warning.
23562         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23563
23564 2010-12-19  Bruno Haible  <bruno@clisp.org>
23565
23566         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23567         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23568         _GL_CXXALIAS_SYS.
23569
23570 2010-12-19  Bruno Haible  <bruno@clisp.org>
23571
23572         stdbool: Relax test.
23573         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23574         address to 'bool' work in static initializer, for compilers other than
23575         GCC.
23576
23577 2010-12-19  Bruno Haible  <bruno@clisp.org>
23578
23579         ftello: Add missing declaration on OSF/1 5.1.
23580         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23581         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23583         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23584         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23585
23586 2010-12-19  Bruno Haible  <bruno@clisp.org>
23587
23588         fseeko: Add missing declaration on OSF/1 5.1.
23589         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23590         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23592         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23593         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23594
23595 2010-12-19  Bruno Haible  <bruno@clisp.org>
23596
23597         fchdir: Add missing declaration on OSF/1 5.1.
23598         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23599         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23601         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23602         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23603
23604 2010-12-19  Bruno Haible  <bruno@clisp.org>
23605
23606         relocatable-prog-wrapper: Separate from relocatable-prog.
23607         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23608         uninstall-relocwrapper rule here.
23609         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23610         Reported by Ian Beckwith <ianb@erislabs.net>.
23611
23612 2010-12-19  Bruno Haible  <bruno@clisp.org>
23613
23614         unistr/u8-mbsnlen: Add missing dependency.
23615         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23616         Reported by Ian Beckwith <ianb@erislabs.net>.
23617
23618 2010-12-19  Bruno Haible  <bruno@clisp.org>
23619
23620         iconv: Make it possible again to use this module without 'iconv-h'.
23621         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23622         if it is not defined.
23623         Reported by Ian Beckwith <ianb@erislabs.net>.
23624
23625 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23626
23627         acl: port to Solaris 8 when copying from tmpfs to ufs
23628         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23629         error number.  Problem observed on Solaris 8 with latest
23630         coreutils, with "mv A B", where A is on a tmpfs file system and B
23631         is on a ufs file system.  This caused coreutils' mv/part-symlink
23632         test to fail.
23633
23634         tests: set fail=0 at start
23635         * tests/init.sh (setup_): Move fail=0 initialization here ...
23636         (mktempd_): ... from here, so that tests can rely on fail being
23637         set to 0 initially.  This fixes a problem in coreutils; see:
23638         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23639
23640 2010-12-18  Bruno Haible  <bruno@clisp.org>
23641
23642         memmem-simple: Stylistic changes.
23643         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23644         Fix preprocessor directive indentation.
23645
23646 2010-12-15  Pádraig Brady <P@draigBrady.com>
23647
23648         memmem, memmem-simple: reorganize and expand empty needle check
23649         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23650         functional checks to memmem-simple so that one has a fully functional
23651         memmem by using just this module.
23652         Restrict the performance only check to the memmem module.
23653         Also expand the empty needle check to ensure the correct
23654         pointer is returned, not just a non NULL pointer.
23655         * doc/glibc-functions/memmem.texi: Rearrange the portability
23656         documentation to correlate with the rearranged checks.
23657         Clarify exactly how the memmem and memmem-simple modules
23658         relate to each other.
23659
23660 2010-12-15  Pádraig Brady <P@draigBrady.com>
23661             Bruno Haible  <bruno@clisp.org>
23662
23663         Improve cross-compilation guesses for uClibc.
23664         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23665         that uClibc does not have the glibc bug.
23666         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23667         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23668
23669 2010-12-14  Eric Blake  <eblake@redhat.com>
23670
23671         configmake: provide fallbacks for oldest supported autotools
23672         * m4/configmake.m4: New file.
23673         * modules/configmake (Files): Ship it.
23674         (configure.ac): Use it to guarantee fallbacks.
23675
23676 2010-12-13  Pádraig Brady <P@draigBrady.com>
23677
23678         read-file: Improve handling of large files
23679         * lib/read-file.c (fread_file): Minimize realloc()s
23680         for regular files, and better manage sizes around SIZE_MAX.
23681
23682 2010-12-13  Eric Blake  <eblake@redhat.com>
23683
23684         cloexec, fcntl: relax license
23685         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23686         consent from all contributors.
23687         * modules/fcntl (License): Likewise.
23688
23689 2010-12-10  Bruno Haible  <bruno@clisp.org>
23690
23691         Tests for module 'pipe-posix'.
23692         * modules/pipe-posix-tests: New file.
23693         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23694
23695 2010-12-10  Bruno Haible  <bruno@clisp.org>
23696
23697         pipe-posix: Make it work in C++ mode.
23698         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23699         (pipe): Use common idiom, not a macro definition.
23700         * lib/pipe.c: New file.
23701         * m4/pipe.m4: New file.
23702         * modules/pipe-posix (Description): Enhance.
23703         (Files): Add lib/pipe.c, m4/pipe.m4.
23704         (configure.ac): Invoke gl_FUNC_PIPE.
23705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23706         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23707         * tests/test-unistd-c++.cc: Check the signature of pipe.
23708
23709 2010-12-10  Bruno Haible  <bruno@clisp.org>
23710
23711         Rename module 'pipe' to 'spawn-pipe'.
23712         * modules/spawn-pipe: New file, renamed from modules/pipe.
23713         (Files, configure.ac, Makefile.am): Update.
23714         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23715         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23716         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23717         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23718         "spawn-pipe.h" instead of "pipe.h".
23719         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23720         to gl_SPAWN_PIPE.
23721         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23722         (Files, Makefile.am): Update.
23723         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23724         Update.
23725         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23726         Include "spawn-pipe.h" instead of "pipe.h".
23727         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23728         * lib/javacomp.c: Likewise.
23729         * lib/javaversion.c: Likewise.
23730         * lib/pipe-filter-gi.c: Likewise.
23731         * lib/pipe-filter-ii.c: Likewise.
23732         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23733         * modules/javacomp (Depends-on): Likewise.
23734         * modules/javaversion (Depends-on): Likewise.
23735         * modules/pipe-filter-gi (Depends-on): Likewise.
23736         * modules/pipe-filter-ii (Depends-on): Likewise.
23737         * MODULES.html.sh (Executing programs): Update.
23738         * NEWS: Mention the change.
23739
23740 2010-12-10  Eric Blake  <eblake@redhat.com>
23741
23742         pipe-posix: new module
23743         * modules/pipe-posix: New file.
23744         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23745         (gl_UNISTD_H): Check for declaration.
23746         * modules/unistd (Makefile.am): Substitute it.
23747         * lib/unistd.in.h (pipe): Provide it for mingw.
23748         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23749         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23750
23751 2010-12-07  Bruno Haible  <bruno@clisp.org>
23752
23753         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23754         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23755         u8_strcmp_gnu.
23756         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23757
23758 2010-12-06  Bruno Haible  <bruno@clisp.org>
23759
23760         Update internal documentation.
23761         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23762
23763 2010-12-04  Bruno Haible  <bruno@clisp.org>
23764
23765         Put more information about failed tests into the test return codes.
23766         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23767         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23768         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23769         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23770         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23771         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23772         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23773         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23774         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23775         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23776         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23777         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23778         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23779         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23780         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23781         returns a bit mask.
23782         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23783         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23784         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23785         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23786         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23787         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23788         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23789         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23790         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23791         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23792         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23793         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23794         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23795         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23796         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23797         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23798         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23799         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23800         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23801         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23802         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23803         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23804         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23805         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23806         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23807         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23808         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23809         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23810         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23811         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23812         gl_PRINTF_PRECISION): Likewise.
23813         * m4/regex.m4 (gl_REGEX): Likewise.
23814         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23815         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23816         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23817         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23818         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23819         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23820         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23821         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23822         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23823         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23824         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23825         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23826         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23827         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23828         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23829         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23830         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23831         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23832         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23833         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23834         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23835         enumerated value.
23836         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23837
23838 2010-12-04  Bruno Haible  <bruno@clisp.org>
23839
23840         Update for Solaris 11 2010-11.
23841         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23842         Express, released in November 2010.
23843
23844 2010-12-04  Bruno Haible  <bruno@clisp.org>
23845
23846         nproc: Relax license.
23847         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23848         and Paul Eggert.
23849         Requested by Ludovic Courtès <ludo@gnu.org>.
23850
23851 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23852
23853         utimecmp: fine-grained src to nearby coarse-grained dest
23854
23855         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23856         and the source is on a file system with higher-resolution time
23857         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23858         not work, and the time stamps are close together, the algorithm to
23859         determine the exact resolution from the read-back mtime was buggy:
23860         it had a "!=" where it should have had an "==".  This bug has been
23861         in the code ever since it was introduced to gnulib.
23862         Problem reported by Dan Jacobson in
23863         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23864
23865 2010-11-30  Bruno Haible  <bruno@clisp.org>
23866
23867         strerror_r-posix: Fix autoconf test.
23868         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23869
23870 2010-11-28  Bruno Haible  <bruno@clisp.org>
23871             Paul Eggert  <eggert@cs.ucla.edu>
23872
23873         Tests for module 'getdomainname'.
23874         * modules/getdomainname-tests: New file.
23875         * tests/test-getdomainname.c: New file, based on
23876         tests/test-gethostname.c.
23877
23878 2010-11-28  Bruno Haible  <bruno@clisp.org>
23879             Paul Eggert  <eggert@cs.ucla.edu>
23880
23881         getdomainname: Use the system function when possible.
23882         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23883         (getdomainname): Replace if needed. Provide the declaration if it is
23884         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23885         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23886         (getdomainname): When the system has getdomainname, call the system
23887         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23888         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23889         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23890         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23891         the function if its second argument is of type 'int' or if it is found
23892         in libnsl.
23893         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23894         <sys/systeminfo.h> and sysinfo().
23895         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23896         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23897         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23898         HAVE_GETDOMAINNAME.
23899         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23900         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23901         * doc/glibc-functions/getdomainname.texi: Document the problems with
23902         the getdomainname declaration.
23903
23904 2010-11-28  Bruno Haible  <bruno@clisp.org>
23905
23906         sys_socket: Ensure ss_family field on AIX.
23907         * lib/sys_socket.in.h (ss_family): New macro definition.
23908         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
23909         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
23910         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23911         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23912         * modules/sys_socket (Makefile.am): Substitute
23913         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23914         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
23915
23916 2010-11-27  Bruno Haible  <bruno@clisp.org>
23917
23918         readline: Improve configure output.
23919         * m4/readline.m4 (gl_FUNC_READLINE): Make the
23920         "checking for readline..." result understandable.
23921
23922 2010-11-27  Bruno Haible  <bruno@clisp.org>
23923
23924         *printf-posix: Detect a bug on Solaris 10/x86.
23925         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
23926         for floating-point output.
23927         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
23928         directive.
23929         * tests/test-snprintf-posix.h (test_function): Likewise.
23930         * tests/test-sprintf-posix.h (test_function): Likewise.
23931         * tests/test-vasprintf-posix.c (test_function): Likewise.
23932         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
23933         * doc/posix-functions/printf.texi: Likewise.
23934         * doc/posix-functions/snprintf.texi: Likewise.
23935         * doc/posix-functions/sprintf.texi: Likewise.
23936         * doc/posix-functions/vfprintf.texi: Likewise.
23937         * doc/posix-functions/vprintf.texi: Likewise.
23938         * doc/posix-functions/vsnprintf.texi: Likewise.
23939         * doc/posix-functions/vsprintf.texi: Likewise.
23940         * doc/glibc-functions/obstack_printf.texi: Likewise.
23941         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
23942
23943 2010-11-27  Bruno Haible  <bruno@clisp.org>
23944
23945         Fix link error when module libunistring-optional is in use.
23946         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
23947         * modules/striconveha-tests (Makefile.am): Likewise.
23948
23949 2010-11-27  Bruno Haible  <bruno@clisp.org>
23950
23951         regex: Mention link dependencies.
23952         * modules/regex (Link): New section.
23953         * modules/rpmatch (Link): Likewise.
23954         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
23955
23956 2010-11-27  Bruno Haible  <bruno@clisp.org>
23957
23958         ftoastr: Fix compilation error on Solaris.
23959         * lib/ftoastr.c: Include <config.h>.
23960
23961 2010-11-27  Bruno Haible  <bruno@clisp.org>
23962
23963         getloadavg: Update documentation.
23964         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
23965
23966 2010-11-27  Bruno Haible  <bruno@clisp.org>
23967
23968         sys_socket: Fix test whether the functions are declared.
23969         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
23970         not <sys/select.h>.
23971
23972 2010-11-27  Bruno Haible  <bruno@clisp.org>
23973
23974         getpass: Make sure to get system declaration on some platforms.
23975         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
23976         gl_USE_SYSTEM_EXTENSIONS.
23977         * modules/getpass (Depends-on): Add extensions.
23978
23979 2010-11-26  Bruno Haible  <bruno@clisp.org>
23980
23981         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
23982         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
23983         'iconv' module is present.
23984         (ICONV_CONST): New macro.
23985         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
23986         ICONV_CONST.
23987         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
23988         set ICONV_CONST.
23989         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
23990         here.
23991         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
23992         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
23993         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
23994         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
23995         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
23996         present.
23997
23998 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23999
24000         ftoastr: comment fix
24001         * lib/ftoastr.c: "little" -> "little or no" in comment
24002
24003 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24004
24005         stdint: port to GCC 4.3 + OSX + Octave
24006         On this platform, stdint.h is buggy and defines int64_t to long
24007         long int.  The replacement defined it to long int, causing
24008         problems with C++ style name mangling.  Instead, trust the system
24009         definition if INT64_MAX is defined, and likewise for the unsigned
24010         variant.   Problem reported by Jarno Rajahalme in
24011         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24012         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24013         and don't mess with int64_t and INT64_MAX in this case.
24014         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24015
24016 2010-11-24  Bruno Haible  <bruno@clisp.org>
24017
24018         doc: Corrections regarding MacOS X 10.4 and 10.5.
24019         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24020         MacOS X.
24021         Reported by Simon Josefsson.
24022
24023 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24024
24025         Uninstall ".bin" files installed by relocwrapper.
24026         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24027         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24028         unless it is already there.
24029
24030 2010-11-21  Bruno Haible  <bruno@clisp.org>
24031
24032         Update for NetBSD 5.0.
24033         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24034         NetBSD; the test fails on NetBSD 5.0.
24035         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24036         about NetBSD.
24037
24038 2010-11-21  Bruno Haible  <bruno@clisp.org>
24039
24040         Update for HP-UX 11.23 and HP-UX 11.31.
24041         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24042         HP-UX.
24043
24044 2010-11-21  Bruno Haible  <bruno@clisp.org>
24045
24046         Update for MacOS X 10.5.
24047         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24048         MacOS X; the test fails on MacOS X 10.5.8.
24049         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24050         about MacOS X.
24051
24052 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24053
24054         bootstrap: add bootstrap_sync option.
24055         See discussion at
24056         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24057         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24058         * build-aux/bootstrap: Accept --bootstrap-sync to update
24059         bootstrap if it is not identical to the local gnulib's
24060         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24061         enable this by default.  Accept --no-bootstrap-sync to disable
24062         it.
24063
24064 2010-11-20  Bruno Haible  <bruno@clisp.org>
24065
24066         Ensure that <features.h> is included before __GLIBC__ is tested.
24067         * lib/printf-parse.h: Include <features.h>.
24068         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24069         Reported by Mike Frysinger <vapier@gentoo.org>.
24070
24071         Ensure that <features.h> is included before __GLIBC__ is tested.
24072         * lib/wchar.in.h: Include <features.h>.
24073         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24074         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24075         Reported by Mike Frysinger <vapier@gentoo.org>.
24076
24077         Ensure that <features.h> is included before __GLIBC__ is tested.
24078         * lib/arpa_inet.in.h: Include <features.h>.
24079         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24080         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24081         Reported by Mike Frysinger <vapier@gentoo.org>.
24082
24083         Ensure that <features.h> is included before __GLIBC__ is tested.
24084         * build-aux/link-warning.h: Include <features.h>.
24085         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24086         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24087         Reported by Mike Frysinger <vapier@gentoo.org>.
24088
24089         Ensure that <features.h> is included before __GLIBC__ is tested.
24090         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24091         Reported by Mike Frysinger <vapier@gentoo.org>.
24092
24093 2010-11-20  Bruno Haible  <bruno@clisp.org>
24094
24095         memmem: Fix autoconf test.
24096         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24097
24098 2010-11-20  Bruno Haible  <bruno@clisp.org>
24099
24100         Port to uClibc.
24101         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24102         * lib/fcntl.in.h: Likewise.
24103         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24104         * lib/mbrtowc.c (mbrtowc): Likewise.
24105         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24106         * lib/strerror_r.c: Likewise.
24107         * lib/unistr/u8-strnlen.c: Likewise.
24108         * lib/vasnprintf.c (decimal_point_char): Likewise.
24109         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24110         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24111         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24112         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24113         * tests/test-sigaction.c (handler, main): Likewise.
24114         * lib/freading.h: Treat uClibc like a non-glibc platform.
24115         * lib/freading.c: Likewise.
24116         * lib/gettext.h: Likewise.
24117         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24118         Likewise.
24119         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24120         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24121         * lib/propername.c (proper_name_utf8): Likewise.
24122         * lib/spawn.in.h: Likewise.
24123         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24124         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24125         mem_cd_iconveh_internal): Likewise.
24126         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24127         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24128         strstr, strcasestr): Likewise.
24129         * lib/unicodeio.c (unicode_to_mb): Likewise.
24130         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24131         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24132         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24133         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24134         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24135         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24136         * lib/unistr/u8-stpncpy.c: Likewise.
24137         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24138         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24139         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24140         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24141         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24142         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24143         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24144         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24145         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24146         Likewise.
24147         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24148         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24149         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24150         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24151         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24152         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24153         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24154         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24155         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24156         * tests/test-striconveha.c (main): Likewise.
24157         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24158         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24159         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24160         * doc/posix-functions/getline.texi: Likewise.
24161         Reported by Mike Frysinger <vapier@gentoo.org>.
24162
24163 2010-11-20  Bruno Haible  <bruno@clisp.org>
24164
24165         nproc: Fix condition.
24166         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24167         HAVE_PTHREAD_AFFINITY_NP.
24168
24169 2010-11-20  Bruno Haible  <bruno@clisp.org>
24170
24171         Fix a comment.
24172         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24173
24174 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24175
24176         ftoastr: don't assume snprintf
24177         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24178         Implement a subset of snprintf here, by using sprintf safely.
24179         * modules/ftoastr (Depends-on): Remove snprintf.
24180
24181 2010-11-19  Jim Meyering  <meyering@redhat.com>
24182
24183         test-rename.h: fix compilation failure
24184         * tests/test-rename.h (test_rename): Add omitted "}".
24185
24186 2010-11-17  Jim Meyering  <meyering@redhat.com>
24187
24188         maint.mk: add a URL discussing the no-@acronym policy
24189         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24190
24191 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24192
24193         ftoastr: depend on snprintf, improve comments
24194         * lib/ftoastr.c: Also mention Loitsch's draft.
24195         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24196         needed in the current implementation, but it might simplify
24197         speeding up the code later.
24198         * modules/ftoastr: Depend on snprintf; this improves portability.
24199         Suggested by Bruno Haible in the same email.
24200
24201         ftoastr: port to hosts lacking strtof and strtold
24202         Problem reported by Bruno Haible in
24203         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24204         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24205         environment and strtold (and presumably strtof) are not available.
24206         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24207         (configure.ac): Require gl_C99_STRTOLD.
24208
24209 2010-11-18  Bruno Haible  <bruno@clisp.org>
24210
24211         c-strtold: Avoid link error on AIX 7.
24212         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24213         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24214         (gl_C_STRTOLD): Test whether strtold_l exists.
24215         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24216
24217 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24218
24219         intprops: new macro INT_BITS_STRLEN_BOUND
24220         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24221         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24222         not exposed.  Also, it uses a slightly tighter bound than before;
24223         though this makes no practical difference, we might as well be as
24224         tight as we easily can.
24225
24226         ftoastr: new module, for lossless conversion of floats to short strings
24227         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24228         * modules/ftoastr: New files.
24229
24230 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24231
24232         bootstrap: port to Solaris sed
24233         * build-aux/bootstrap (get_version): Port to Solaris sed.
24234         See Ralf Wildenhues's note in
24235         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24236
24237 2010-11-14  Jim Meyering  <meyering@redhat.com>
24238
24239         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24240         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24241         and move definition closer to sole use.
24242
24243 2010-11-13  Jim Meyering  <meyering@redhat.com>
24244
24245         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24246         Now we require at least autoconf-2.59, which means the work-around
24247         is no longer needed.
24248         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24249         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24250         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24251         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24252         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24253
24254 2010-11-13  Bruno Haible  <bruno@clisp.org>
24255
24256         rename, renameat: Avoid test failures at NFS mounted locations.
24257         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24258         functions.
24259         (test_rename): Use assert_nonexistent.
24260         * tests/test-rename.c: Include <dirent.h>.
24261         * tests/test-renameat.c: Likewise.
24262         Reported by Gary V. Vaughan <gary@gnu.org>.
24263
24264         rename, renameat: Document Linux bug with NFS
24265         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24266         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24267         * doc/posix-functions/renameat.texi: Likewise.
24268         Suggested by Eric Blake.
24269
24270 2010-11-13  Bruno Haible  <bruno@clisp.org>
24271
24272         rename test: Add comments.
24273         * tests/test-rename.h (test_rename): Add structure and comments.
24274
24275 2010-11-13  Eric Blake  <eblake@redhat.com>
24276
24277         maintainer-makefile: cover a few more files
24278         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24279         scripts generated within C files, for libvirt.
24280
24281 2010-11-13  Bruno Haible  <bruno@clisp.org>
24282
24283         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24284         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24285         character, return the number of bytes that belong together, not always
24286         1.
24287         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24288         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24289         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24290         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24291         number of bytes of an invalid character.
24292         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24293         (main): Invoke it.
24294         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24295         results.
24296         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24297         malformed byte sequences.
24298         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24299         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24300         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24301         Reported by Ben Pfaff and Paolo Bonzini.
24302
24303 2010-11-13  Bruno Haible  <bruno@clisp.org>
24304
24305         openat: Work around glibc bug with fchownat() and empty file names.
24306         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24307         (gl_FUNC_FCHOWNAT): Invoke it.
24308         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24309         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24310         Reported by Gary V. Vaughan <gary@gnu.org>.
24311
24312 2010-11-13  Bruno Haible  <bruno@clisp.org>
24313
24314         openat: Ensure autoconf macro ordering.
24315         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24316         gl_USE_SYSTEM_EXTENSIONS.
24317         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24318
24319 2010-11-13  Bruno Haible  <bruno@clisp.org>
24320
24321         Update comments.
24322         * lib/unistr/u8-check.c: Update file name in comments.
24323         * lib/unistr/u8-mblen.c: Likewise.
24324         * lib/unistr/u8-prev.c: Likewise.
24325         * lib/unistr/u8-strmblen.c: Likewise.
24326         * lib/unistr/u8-strmbtouc.c: Likewise.
24327
24328 2010-11-13  Jim Meyering  <meyering@redhat.com>
24329
24330         tests: avoid test failure on Solaris 10 due to lack of PATH export
24331         * tests/test-update-copyright.sh: Don't forget to export PATH.
24332
24333         init.sh: ensure that IFS is defined, just in case...
24334         * tests/init.sh (setup_): Ensure that IFS is defined,
24335         so that saving and restoring it works as expected.  This
24336         appears to be useful at least for an old version of dash
24337         from a long time ago (RH 6).  See here for details:
24338         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24339
24340         maint.mk: tighten "test a == b" check
24341         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24342         test to files that contain something like #!/bin/sh.
24343         Without this, coreutils would get two false positives in
24344         the comments of C source files.
24345
24346 2010-11-12  Eric Blake  <eblake@redhat.com>
24347
24348         bootstrap: fix typo in previous attempt
24349         * build-aux/bootstrap (buildreq): Correct the grouping.
24350         Reported by Paul Eggert.
24351
24352         maintainer-makefile: prohibit test x == x
24353         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24354         Based on a report by Matthias Bolte.
24355
24356         bootstrap: allow FreeBSD gzip
24357         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24358         which has no '.' and goes to stderr.
24359         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24360         Reported by Matthias Bolte.
24361
24362         maintainer-makefile: check for i18n setup
24363         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24364         will likely work.
24365
24366 2010-11-12  Bruno Haible  <bruno@clisp.org>
24367
24368         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24369         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24370         * lib/nanosleep.c (nanosleep): Likewise.
24371
24372 2010-11-11  Bruno Haible  <bruno@clisp.org>
24373
24374         fcntl-h: Fix for use of C++ on glibc systems.
24375         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24376         also on glibc systems in C++ mode.
24377         Reported by Gary V. Vaughan <gary@gnu.org>.
24378
24379 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24380
24381         mknod: avoid false failure with dash
24382         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24383
24384 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24385
24386         unlink: Fix "is it should" typo in diagnostic.
24387         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24388         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24389
24390 2010-11-11  Bruno Haible  <bruno@clisp.org>
24391
24392         Tests for module 'strerror_r-posix'.
24393         * modules/strerror_r-posix-tests: New file.
24394         * tests/test-strerror_r.c: New file.
24395         * tests/test-string-c++.cc: Check the signature of strerror_r.
24396
24397         New module 'strerror_r-posix'.
24398         * lib/string.in.h (strerror_r): New declaration.
24399         * lib/strerror_r.c: New file.
24400         * m4/strerror_r.m4: New file.
24401         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
24402         of strerror_r.
24403         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
24404         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24405         * modules/strerror_r-posix: New file.
24406         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
24407         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24408         * doc/posix-functions/strerror_r.texi: Mention the new module and the
24409         portability problems.
24410
24411 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
24412
24413         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
24414         line is also considered for output. Quoted function name in shell
24415         command, so temporary files for functions like MyClass::operator()
24416         are removed correctly without errors.
24417
24418 2010-11-09  Bruno Haible  <bruno@clisp.org>
24419
24420         * doc/posix-functions/strerror.texi: List more failing platforms.
24421
24422         * doc/posix-functions/strerror.texi: Add a comment.
24423
24424 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
24425
24426         fdopendir: fix bug on MacOS X when low on file descriptors
24427
24428         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
24429         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
24430         All callers changed.
24431         (fdopendir): Invoke save_cwd at the top level, not after using
24432         multiple dup() calls to use up file descriptors.  Then retry
24433         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
24434         less than the maximum number of open file descriptors, because
24435         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
24436         on Mac OS X 10.6.4 for tar 1.24
24437         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
24438         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
24439         and for tar 1.25
24440         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
24441
24442 2010-11-07  Bruno Haible  <bruno@clisp.org>
24443
24444         vasnprintf: Support I flag on glibc systems.
24445         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
24446         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
24447         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
24448         snprintf function.
24449         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
24450         glibc systems.
24451         * tests/test-vasnprintf-posix3.c: New file.
24452         * modules/vasnprintf-posix-tests (Files): Add it.
24453         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
24454
24455 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24456
24457         [html] Fix copy/paste bug: Use unique name for compiler warnings.
24458         * MODULES.html.sh: For compiler warnings, use name
24459         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
24460
24461 2010-11-05  Eric Blake  <eblake@redhat.com>
24462
24463         ceil, floor: avoid spurious failure with icc
24464         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
24465         [denormals-as-zero] when optimizing without -mieee-fp option.
24466         * tests/test-floorf2.c (floorf_reference): Likewise.
24467         * tests/test-ceilf1.c (dummy): New function.
24468         (main): Use it to outsmart icc's optimization.
24469         * tests/test-floorf1.c (dummy, main): Likewise.
24470
24471         tests: require working signbit
24472         * modules/ceilf-tests (Depends-on): Add signbit.
24473         * modules/ceill-tests (Depends-on): Likewise.
24474         * modules/floorf-tests (Depends-on): Likewise.
24475         * modules/floorl-tests (Depends-on): Likewise.
24476         * modules/round-tests (Depends-on): Likewise.
24477         * modules/roundf-tests (Depends-on): Likewise.
24478         * modules/roundl-tests (Depends-on): Likewise.
24479         * modules/trunc-tests (Depends-on): Likewise.
24480         * modules/truncf-tests (Depends-on): Likewise.
24481         * modules/truncl-tests (Depends-on): Likewise.
24482
24483         strtod: work around icc bug
24484         * lib/strtod.c (minus_zero): Define to working value.
24485         (strtod): Use it to avoid icc bug.
24486
24487         copysign: enhance tests
24488         * modules/copysign-tests (Files): Add minus-zero.h.
24489         * tests/test-copysign.c (main): Also test zeros.
24490
24491 2010-11-04  Eric Blake  <eblake@redhat.com>
24492
24493         ceil, floor, round, trunc: enhance tests of -0
24494         * tests/test-ceilf1.c (main): Ensure correct sign of result.
24495         * tests/test-ceill.c (main): Likewise.
24496         * tests/test-floorf1.c (main): Likewise.
24497         * tests/test-floorl.c (main): Likewise.
24498         * tests/test-round1.c (main): Likewise.
24499         * tests/test-roundf1.c (main): Likewise.
24500         * tests/test-roundl.c (main): Likewise.
24501         * tests/test-trunc1.c (main): Likewise.
24502         * tests/test-truncf1.c (main): Likewise.
24503         * tests/test-truncl.c (main): Likewise.
24504
24505 2010-11-04  Eric Blake  <eblake@redhat.com>
24506
24507         frexp, tests: work around ICC bug with -zero
24508         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
24509         works with more compilers.
24510         * tests/minus-zero.h: New file.
24511         * modules/ceilf-tests (Files): Include it.
24512         * modules/ceill-tests (Files): Likewise.
24513         * modules/floorf-tests (Files): Likewise.
24514         * modules/floorl-tests (Files): Likewise.
24515         * modules/frexp-nolibm-tests (Files): Likewise.
24516         * modules/frexp-tests (Files): Likewise.
24517         * modules/frexpl-nolibm-tests (Files): Likewise.
24518         * modules/frexpl-tests (Files): Likewise.
24519         * modules/isnan-tests (Files): Likewise.
24520         * modules/isnand-nolibm-tests (Files): Likewise.
24521         * modules/isnand-tests (Files): Likewise.
24522         * modules/isnanf-nolibm-tests (Files): Likewise.
24523         * modules/isnanf-tests (Files): Likewise.
24524         * modules/isnanl-nolibm-tests (Files): Likewise.
24525         * modules/isnanl-tests (Files): Likewise.
24526         * modules/round-tests (Files): Likewise.
24527         * modules/roundf-tests (Files): Likewise.
24528         * modules/roundl-tests (Files): Likewise.
24529         * modules/ldexpl-tests (Files): Likewise.
24530         * modules/signbit-tests (Files): Likewise.
24531         * modules/snprintf-posix-tests (Files): Likewise.
24532         * modules/sprintf-posix-tests (Files): Likewise.
24533         * modules/strtod-tests (Files): Likewise.
24534         * modules/trunc-tests (Files): Likewise.
24535         * modules/truncf-tests (Files): Likewise.
24536         * modules/truncl-tests (Files): Likewise.
24537         * modules/vsnprintf-posix-tests (Files): Likewise.
24538         * modules/vsprintf-posix-tests (Files): Likewise.
24539         * modules/vasnprintf-posix-tests (Files): Likewise.
24540         * modules/vasprintf-posix-tests (Files): Likewise.
24541         * tests/test-ceilf1.c (main): Use it.
24542         * tests/test-ceill.c (main): Likewise.
24543         * tests/test-floorf1.c (main): Likewise.
24544         * tests/test-floorl.c (main): Likewise.
24545         * tests/test-frexp.c (main): Likewise.
24546         * tests/test-frexpl.c (main): Likewise.
24547         * tests/test-isnan.c (main): Likewise.
24548         * tests/test-isnand.h (main): Likewise.
24549         * tests/test-isnanf.h (main): Likewise.
24550         * tests/test-isnanl.h (main): Likewise.
24551         * tests/test-ldexpl.c (main): Likewise.
24552         * tests/test-round.c (main): Likewise.
24553         * tests/test-roundf.c (main): Likewise.
24554         * tests/test-roundl.c (main): Likewise.
24555         * tests/test-signbit.c (test_signbitf, test_signbitd)
24556         (test_signbitl): Likewise.
24557         * tests/test-snprintf-posix.h (test_function): Likewise.
24558         * tests/test-sprintf-posix.h (test_function): Likewise.
24559         * tests/test-strtod.c (main): Likewise.
24560         * tests/test-trunc1.c (main): Likewise.
24561         * tests/test-truncf1.c (main): Likewise.
24562         * tests/test-truncl.c (main): Likewise.
24563
24564         isnanl: work around icc bug
24565         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24566
24567 2010-11-03  Eric Blake  <eblake@redhat.com>
24568
24569         tests: fix compiler warnings
24570         * tests/test-getopt.h (test_getopt): Fix condition.
24571         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24572         * tests/test-pipe2.c (main): Likewise.
24573         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24574
24575         utimens: fix broken m4 test
24576         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24577
24578 2010-10-28  Bruno Haible  <bruno@clisp.org>
24579
24580         posix_spawn*, getdtablesize: Relax license.
24581         * modules/posix_spawn (License): Change to LGPLv2+.
24582         * modules/posix_spawnp (License): Likewise.
24583         * modules/posix_spawn-internal (License): Likewise.
24584         * modules/posix_spawnattr_init (License): Likewise.
24585         * modules/posix_spawnattr_getflags (License): Likewise.
24586         * modules/posix_spawnattr_setflags (License): Likewise.
24587         * modules/posix_spawnattr_getpgroup (License): Likewise.
24588         * modules/posix_spawnattr_setpgroup (License): Likewise.
24589         * modules/posix_spawnattr_getschedparam (License): Likewise.
24590         * modules/posix_spawnattr_setschedparam (License): Likewise.
24591         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24592         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24593         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24594         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24595         * modules/posix_spawnattr_getsigmask (License): Likewise.
24596         * modules/posix_spawnattr_setsigmask (License): Likewise.
24597         * modules/posix_spawnattr_destroy (License): Likewise.
24598         * modules/posix_spawn_file_actions_init (License): Likewise.
24599         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24600         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24601         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24602         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24603         * modules/getdtablesize (License): Likewise.
24604         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24605
24606 2010-10-26  Bruno Haible  <bruno@clisp.org>
24607
24608         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24609         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24610         Cygwin and mingw.
24611         Suggested by Eric Blake.
24612
24613 2010-10-26  Bruno Haible  <bruno@clisp.org>
24614
24615         stdio: Work around compilation error due to renameat() on Solaris 10.
24616         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24617         * lib/renameat.c: Don't include <unistd.h> here.
24618         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24619         Reported by Paul Eggert and Eric Blake.
24620
24621 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24622
24623         renameat: port to Solaris 10, which declares renameat in unistd.h
24624
24625         * lib/renameat.c: Include unistd.h before stdio.h, because
24626         Solaris 10 declares renameat in unistd.h.  Problem encountered
24627         when building GNU tar 1.24 on Solaris 10.
24628
24629 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24630
24631         fdopendir: fix C89 compilation
24632         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24633         compilers.
24634
24635 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24636
24637         inttostr: simplify by removing unnecessary redundancy
24638         * lib/anytostr.c: Don't include verify.h.
24639         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24640         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24641         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24642         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24643         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24644         Likewise.
24645         * modules/inttostr (Depends-on): Remove 'verify'.
24646
24647 2010-10-23  Bruno Haible  <bruno@clisp.org>
24648
24649         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24650         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24651         Reported by Eric Blake.
24652
24653 2010-10-23  Bruno Haible  <bruno@clisp.org>
24654
24655         Tests: Fix LOCALE_JA on MirBSD 10.
24656         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24657         to an UTF-8 locale.
24658         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24659         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24660         Reported by Eric Blake.
24661
24662 2010-10-21  Bruno Haible  <bruno@clisp.org>
24663
24664         nl_langinfo test: Avoid test failure on NetBSD 5.
24665         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24666         Reported by Eric Blake.
24667
24668 2010-10-21  Eric Blake  <eblake@redhat.com>
24669
24670         c-stack: work around libsigsegv 2.8 bug
24671         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24672         overflow on at least PowerPC64.
24673
24674 2010-10-17  Bruno Haible  <bruno@clisp.org>
24675
24676         userspec: Drop redundant file.
24677         * modules/userspec (Files): Remove lib/inttostr.h.
24678
24679 2010-10-17  Bruno Haible  <bruno@clisp.org>
24680
24681         nl_langinfo tests: Silence some warnings.
24682         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24683         Reported by Jim Meyering.
24684
24685 2010-10-17  Bruno Haible  <bruno@clisp.org>
24686
24687         Make use of GCC's attribute __alloc_size__.
24688         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24689         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24690         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24691         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24692         __alloc_size__.
24693         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24694         Suggested by Jim Meyering.
24695
24696 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24697
24698         bootstrap: anchor .gitignore entries.
24699         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24700         with...
24701         (insert_vc_ignore): ... this new function, which prepends `/' to
24702         all .gitignore entries before passing them to
24703         insert_sorted_if_absent.
24704
24705 2010-10-16  Bruno Haible  <bruno@clisp.org>
24706
24707         nextafter: Fix configure check.
24708         * modules/nextafter (configure.ac): Correct expected prototype.
24709
24710 2010-10-16  Bruno Haible  <bruno@clisp.org>
24711
24712         termios: Update documentation.
24713         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24714
24715 2010-10-16  Bruno Haible  <bruno@clisp.org>
24716
24717         tests: Make them compile with TinyCC.
24718         * tests/test-strstr.c (main): Remove parentheses around array
24719         initializer.
24720
24721 2010-10-15  Eric Blake  <eblake@redhat.com>
24722
24723         ignore-value: make header idempotent
24724         * lib/ignore-value.h: Add double-inclusion guards.
24725         Reported by Stefan Berger.
24726
24727 2010-10-15  Jim Meyering  <meyering@redhat.com>
24728
24729         GNUmakefile: handle "stable" target, not "major"
24730         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24731         lists in maint.mk and announce-gen.  Without this, "make stable"
24732         would fail to ensure that $(VERSION) is up to date.
24733
24734 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24735
24736         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24737         & co.
24738
24739 2010-10-14  Bruno Haible  <bruno@clisp.org>
24740
24741         vasnprintf: Don't set errno to 0.
24742         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24743         block that sets it to 0.
24744         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24745
24746 2010-10-14  Bruno Haible  <bruno@clisp.org>
24747
24748         socketlib: Fix.
24749         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24750         gl_PREREQ_SYS_H_WINSOCK2.
24751         Reported by Ian Beckwith <ianb@erislabs.net>.
24752
24753 2010-10-13  Jim Meyering  <meyering@redhat.com>
24754
24755         test-select-stdin.c: avoid warn_unused_result warnings
24756         * tests/test-select-stdin.c: Include "macros.h".
24757         ASSERT that read and fflush succeed.
24758
24759 2010-10-13  Jim Meyering  <meyering@redhat.com>
24760
24761         git-version-gen: do require git-VC'd files in cwd
24762         * build-aux/git-version-gen: Reject a git version string
24763         if there are no commits associated with the current directory.
24764         This avoids an unlikely false-positive (unrelated dir whose parent
24765         repository also contains a tag matching v*), as pointed out
24766         by Giuseppe Scrivano in
24767         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24768
24769 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24770
24771         argv-iter: omit nonconforming declaration
24772         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24773         enum arg_iter_err declaration, which doesn't conform to C99.
24774         Solaris 10 cc warns about this.
24775
24776 2010-10-13  Eric Blake  <eblake@redhat.com>
24777
24778         termios: fix compilation on mingw
24779         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24780         (gl_TERMIOS_H): Adjust it on mingw.
24781         * modules/termios (Makefile.am): Substitute new key.
24782         * lib/termios.in.h (includes): Make include_next conditional.
24783         * doc/posix-headers/termios.texi (termios.h): Update
24784         documentation.
24785         Reported by Daniel P. Berrange.
24786
24787 2010-10-13  Jim Meyering  <meyering@redhat.com>
24788
24789         git-version-gen: don't require that .git/ be in the current dir
24790         * build-aux/git-version-gen: Adjust this script so that it works
24791         when run from any working directory beneath the top-level .git/-
24792         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24793         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24794
24795         test-select: avoid warn_unused_result warnings
24796         * tests/test-select.c: Include "macros.h".
24797         ASSERT that each call to read, write, and pipe succeeds.
24798         While not technically required, also check each "close".
24799         * modules/select-tests (Files): Add tests/macros.h.
24800
24801         test-symlinkat: remove declaration of unused local
24802         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24803
24804         test-inttostr: avoid shadowing warnings
24805         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24806         and use malloc rather than the stack for the same reason as
24807         mentioned in the comment justifying the other allocation.
24808
24809 2010-10-11  Bruno Haible  <bruno@clisp.org>
24810
24811         stdlib: Allow multiple gnulib generated replacements to coexist.
24812         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24813         Reported by Sam Steingold <sds@gnu.org>.
24814
24815 2010-10-11  Jim Meyering  <meyering@redhat.com>
24816
24817         fix a documentation typo
24818         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24819
24820 2010-10-11  Eric Blake  <eblake@redhat.com>
24821
24822         futimens: work around Solaris 11 bug
24823         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24824         * tests/test-futimens.h (test_futimens): Enhance, rather than
24825         weaken test.
24826         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24827
24828 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24829
24830         Indentation.
24831         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24832         higher-level operators more to the left.
24833
24834 2010-10-11  Jim Meyering  <meyering@redhat.com>
24835
24836         test-futimens: avoid unwarranted test failure on Solaris 5.11
24837         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24838         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24839         because it tries to dereference the NULL name argument.
24840
24841 2010-10-11  Bruno Haible  <bruno@clisp.org>
24842
24843         Indentation.
24844         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24845         indentation.
24846
24847 2010-10-11  Jim Meyering  <meyering@redhat.com>
24848
24849         spawn.in.h: make indentation consistent with parentheses
24850         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24851         Make indentation consistent with parentheses.
24852
24853 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24854
24855         Fix mismatched parens in previous commit
24856         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24857         parens.
24858
24859 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24860
24861         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24862
24863         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24864         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24865         * lib/malloca.c: Include "verify.h".
24866         (verify1): Remove, replacing with a verify call.
24867         * lib/relocwrapper.c (verify1): Likewise.
24868         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24869         Likewise.
24870         * modules/malloca (Depends-on): Add 'verify'.
24871         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24872         * modules/vasnprintf (Depends-on): Add 'verify'.
24873         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24874         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24875         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24876         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24877         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24878         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24879         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24880
24881         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24882
24883         Formerly the style was sometimes 2*X - 1, because the C standard
24884         was wrongly thought to disallow ?: in integral constant expressions.
24885         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24886         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24887         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24888         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24889         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24890         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24891         verify that time_t cannot be floating.
24892
24893 2010-10-08  Eric Blake  <eblake@redhat.com>
24894
24895         time: enforce recent POSIX ruling that time_t is integral
24896         * lib/time.in.h (__time_t_must_be_integral): Detect any
24897         problematic systems, allowing the rest of gnulib to assume POSIX.
24898
24899 2010-10-08  Jim Meyering  <meyering@redhat.com>
24900
24901         fdopendir: fix a bug on systems lacking openat and /proc support
24902         OpenBSD 4.7 is one such system.  The most noticeable effect was
24903         failure of any application making nontrivial use of fts: rm, du,
24904         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
24905           ./rm: traversal failed: `a': Bad file descriptor
24906         Debugging that, you see that even though FD 6 was closed just
24907         prior to the opendir call in fd_clone_opendir, its resulting
24908         dir->dd_fd was 8, rather than the expected value of 6:
24909
24910         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
24911         93                close (fd);
24912         (gdb) n
24913         94                dir = fd_clone_opendir (dupfd);
24914         (gdb) n
24915         95                saved_errno = errno;
24916         (gdb) p dir->dd_fd
24917         $11 = 8
24918
24919         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
24920         The problem is that on OpenBSD, fd_clone_opendir has to resort
24921         to using the old-style save/restore CWD mechanism, due to its
24922         lack of openat/proc support, and *that* would steal the FD (6)
24923         that opendir was supposed to use.
24924
24925         The fix is to squirrel away the desired FD so that save_cwd uses a
24926         different one, and then free the dest FD right before calling opendir.
24927         That guarantees opendir will use the required file descriptor.
24928
24929         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
24930
24931 2010-10-08  Bruno Haible  <bruno@clisp.org>
24932
24933         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
24934         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
24935
24936 2010-10-08  Bruno Haible  <bruno@clisp.org>
24937
24938         nanosleep: Make replacement POSIX compliant.
24939         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
24940         is out of range.
24941         Reported by Jim Meyering.
24942
24943 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
24944
24945         bootstrap: add hook for altering gnulib.mk, for Bison
24946         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
24947         the Bison bootstrapping process can rewrite file names and variables
24948         in this file before later parts of 'bootstrap' use the file.
24949         Bison wants to include lib/gnulib.mk from the top-level makefile,
24950         so it needs the file names in this file to be relative to the top
24951         level, not relative to lib; plus it needs variable names to be
24952         rewritten.
24953         (slurp): Use the new function.
24954
24955         bootstrap: reformat for readability
24956         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
24957
24958 2010-10-08  Eric Blake  <eblake@redhat.com>
24959
24960         docs: update cygwin progress
24961         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
24962         1.7.7.
24963         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
24964         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
24965         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
24966         * doc/posix-functions/carg.texi (carg): Likewise.
24967         * doc/posix-functions/cargf.texi (cargf): Likewise.
24968         * doc/posix-functions/casin.texi (casin): Likewise.
24969         * doc/posix-functions/casinf.texi (casinf): Likewise.
24970         * doc/posix-functions/casinh.texi (casinh): Likewise.
24971         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
24972         * doc/posix-functions/catan.texi (catan): Likewise.
24973         * doc/posix-functions/catanf.texi (catanf): Likewise.
24974         * doc/posix-functions/catanh.texi (catanh): Likewise.
24975         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
24976         * doc/posix-functions/ccos.texi (ccos): Likewise.
24977         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
24978         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
24979         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
24980         * doc/posix-functions/cexp.texi (cexp): Likewise.
24981         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
24982         * doc/posix-functions/cimag.texi (cimag): Likewise.
24983         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
24984         * doc/posix-functions/clog.texi (clog): Likewise.
24985         * doc/posix-functions/clogf.texi (clogf): Likewise.
24986         * doc/posix-functions/conj.texi (conj): Likewise.
24987         * doc/posix-functions/conjf.texi (conjf): Likewise.
24988         * doc/posix-functions/cpow.texi (cpow): Likewise.
24989         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
24990         * doc/posix-functions/cproj.texi (cproj): Likewise.
24991         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
24992         * doc/posix-functions/creal.texi (creal): Likewise.
24993         * doc/posix-functions/crealf.texi (crealf): Likewise.
24994         * doc/posix-functions/csin.texi (csin): Likewise.
24995         * doc/posix-functions/csinf.texi (csinf): Likewise.
24996         * doc/posix-functions/csinh.texi (csinh): Likewise.
24997         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
24998         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
24999         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25000         * doc/posix-functions/ctan.texi (ctan): Likewise.
25001         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25002         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25003         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25004         * doc/posix-headers/complex.texi (complex.h): Likewise.
25005
25006 2010-10-07  Jim Meyering  <meyering@redhat.com>
25007
25008         parse-datetime: avoid compilation failure on OpenBSD 4.7
25009         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25010         This works around a compilation failure on OpenBSD 4.7:
25011         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25012
25013 2010-10-07  Eric Blake  <eblake@redhat.com>
25014
25015         docs: update cygwin progress
25016         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25017         1.7.6.
25018         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25019         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25020         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25021         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25022         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25023         Likewise.
25024         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25025         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25026         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25027         Likewise.
25028         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25029         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25030         Likewise.
25031         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25032         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25033         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25034         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25035         Likewise.
25036         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25037         Likewise.
25038         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25039
25040         docs: update parse-datetime history
25041         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25042         documentation of this function's history and alternatives.
25043
25044         cygwin: use more robust version check
25045         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25046         exclude an eventual cygwin 1.9.1.
25047         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25048         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25049         (gl_FUNC_STRCASESTR): Likewise.
25050         Reported by Bruno Haible.
25051
25052 2010-10-06  Bruno Haible  <bruno@clisp.org>
25053
25054         string, sys_select: Avoid #including large headers unless necessary.
25055         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25056         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25057         OSF/1, BeOS, Haiku.
25058         Reported by Jim Meyering.
25059
25060 2010-10-05  Eric Blake  <eblake@redhat.com>
25061
25062         memmem, strstr, strcasestr: fix bug with long periodic needle
25063         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25064         periodic needle having false positive.
25065         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25066         and cygwin 1.7.7.
25067         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25068         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25069         (gl_FUNC_STRCASESTR): Likewise.
25070         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25071         * tests/test-memmem.c (main): Expose the bug.
25072         * tests/test-strcasestr.c (main): Likewise.
25073         * tests/test-strstr.c (main): Likewise.
25074         * tests/test-c-strcasestr.c (main): Likewise.
25075         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25076         * doc/posix-functions/strstr.texi (strstr): Likewise.
25077         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25078         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25079
25080 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25081
25082         parse-datetime: do some more renaming
25083         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25084         parse_datetime, not get_date.  Mention the renaming.
25085         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25086         in comments.
25087         * m4/bison.m4: Likewise.
25088
25089 2010-10-05  Eric Blake  <eblake@redhat.com>
25090
25091         parse-datetime: better name than get_date
25092         * NEWS: Reword the deprecation notice.
25093         * modules/get_date: Rename to modules/parse-datetime.
25094         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25095         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25096         * lib/get_date.y: Rename to lib/parse-datetime.y.
25097         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25098         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25099         * doc/getdate.texi: Provide fallback wrapper.
25100         * lib/getdate.h: Move guts, and wrap...
25101         * lib/parse-datetime.h: ...new file.
25102         * lib/parse-datetime.y (get_date): Rename...
25103         (parse_datetime): ...to this.
25104         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25105         (gl_PARSE_DATETIME): ...to this.
25106         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25107         documentation.
25108         * modules/getdate (Files): Provide fallback docs and header.
25109         (Notice, Depends-on): Update references.
25110         * tests/test-parse-datetime.c: Likewise.
25111         * DEPENDENCIES: Likewise.
25112         * MODULES.html.sh (Date and time <time.h>): Likewise.
25113         * doc/parse-datetime.texi (Date input formats)
25114         (Authors of parse_datetime): Likewise.
25115         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25116         (Include): Likewise.
25117         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25118         * gnulib-tool: Likewise.
25119         * m4/bison.m4 (gl_BISON): Likewise.
25120         Suggested by Bruno Haible.
25121
25122 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25123
25124         more ports to Solaris tr, which needs [] around ranges
25125         * gnulib-tool: Solaris tr needs [] around ranges.
25126         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25127         * tests/test-pipe-filter-gi1.c (main): Likewise.
25128         * tests/test-pipe-filter-ii1.c (main): Likewise.
25129
25130 2010-10-05  Eric Blake  <eblake@redhat.com>
25131
25132         bootstrap: fix Solaris regression
25133         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25134         around ranges.
25135         Reported by Pádraig Brady.
25136
25137         bootstrap: work with pkg-config
25138         * build-aux/bootstrap (check_versions): Also transliterate - in
25139         prerequisite name.
25140         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25141         prerequisites that were already found, to avoid confusion.
25142         Reported by Justin Clift.
25143
25144         faccessat: remove unused wrappers
25145         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25146         presence of these wrappers dragged in -lgen on Solaris.
25147         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25148
25149 2010-10-05  Jim Meyering  <meyering@redhat.com>
25150
25151         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25152         * Makefile (sc_pragma_columns): New syntax-check rule.
25153
25154 2010-10-04  Bruno Haible  <bruno@clisp.org>
25155
25156         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25157         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25158         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25159         Reported by Bruce Korb and Eric Blake.
25160
25161 2010-10-04  Bruno Haible  <bruno@clisp.org>
25162
25163         threadlib: Make option --with-libpth-prefix work.
25164         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25165         use $LIBPTH, not just -lpth.
25166
25167 2010-10-04  Bruno Haible  <bruno@clisp.org>
25168
25169         Avoid line length limitation from HP NonStop system header files.
25170         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25171         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25172         * lib/ctype.in.h: Likewise.
25173         * lib/dirent.in.h: Likewise.
25174         * lib/errno.in.h: Likewise.
25175         * lib/fcntl.in.h: Likewise.
25176         * lib/float.in.h: Likewise.
25177         * lib/getopt.in.h: Likewise.
25178         * lib/iconv.in.h: Likewise.
25179         * lib/inttypes.in.h: Likewise.
25180         * lib/langinfo.in.h: Likewise.
25181         * lib/locale.in.h: Likewise.
25182         * lib/math.in.h: Likewise.
25183         * lib/netdb.in.h: Likewise.
25184         * lib/netinet_in.in.h: Likewise.
25185         * lib/poll.in.h: Likewise.
25186         * lib/pthread.in.h: Likewise.
25187         * lib/pty.in.h: Likewise.
25188         * lib/sched.in.h: Likewise.
25189         * lib/se-selinux.in.h: Likewise.
25190         * lib/search.in.h: Likewise.
25191         * lib/signal.in.h: Likewise.
25192         * lib/spawn.in.h: Likewise.
25193         * lib/stdarg.in.h: Likewise.
25194         * lib/stddef.in.h: Likewise.
25195         * lib/stdint.in.h: Likewise.
25196         * lib/stdio.in.h: Likewise.
25197         * lib/stdlib.in.h: Likewise.
25198         * lib/string.in.h: Likewise.
25199         * lib/strings.in.h: Likewise.
25200         * lib/sys_file.in.h: Likewise.
25201         * lib/sys_ioctl.in.h: Likewise.
25202         * lib/sys_select.in.h: Likewise.
25203         * lib/sys_socket.in.h: Likewise.
25204         * lib/sys_stat.in.h: Likewise.
25205         * lib/sys_time.in.h: Likewise.
25206         * lib/sys_times.in.h: Likewise.
25207         * lib/sys_utsname.in.h: Likewise.
25208         * lib/sys_wait.in.h: Likewise.
25209         * lib/sysexits.in.h: Likewise.
25210         * lib/termios.in.h: Likewise.
25211         * lib/time.in.h: Likewise.
25212         * lib/unistd.in.h: Likewise.
25213         * lib/wchar.in.h: Likewise.
25214         * lib/wctype.in.h: Likewise.
25215         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25216         * modules/ctype (Makefile.am): Likewise.
25217         * modules/dirent (Makefile.am): Likewise.
25218         * modules/errno (Makefile.am): Likewise.
25219         * modules/fcntl-h (Makefile.am): Likewise.
25220         * modules/float (Makefile.am): Likewise.
25221         * modules/getopt-posix (Makefile.am): Likewise.
25222         * modules/iconv-h (Makefile.am): Likewise.
25223         * modules/inttypes (Makefile.am): Likewise.
25224         * modules/langinfo (Makefile.am): Likewise.
25225         * modules/locale (Makefile.am): Likewise.
25226         * modules/math (Makefile.am): Likewise.
25227         * modules/netdb (Makefile.am): Likewise.
25228         * modules/netinet_in (Makefile.am): Likewise.
25229         * modules/poll-h (Makefile.am): Likewise.
25230         * modules/pthread (Makefile.am): Likewise.
25231         * modules/pty (Makefile.am): Likewise.
25232         * modules/sched (Makefile.am): Likewise.
25233         * modules/search (Makefile.am): Likewise.
25234         * modules/selinux-h (Makefile.am): Likewise.
25235         * modules/signal (Makefile.am): Likewise.
25236         * modules/spawn (Makefile.am): Likewise.
25237         * modules/stdarg (Makefile.am): Likewise.
25238         * modules/stddef (Makefile.am): Likewise.
25239         * modules/stdint (Makefile.am): Likewise.
25240         * modules/stdio (Makefile.am): Likewise.
25241         * modules/stdlib (Makefile.am): Likewise.
25242         * modules/string (Makefile.am): Likewise.
25243         * modules/strings (Makefile.am): Likewise.
25244         * modules/sys_file (Makefile.am): Likewise.
25245         * modules/sys_ioctl (Makefile.am): Likewise.
25246         * modules/sys_select (Makefile.am): Likewise.
25247         * modules/sys_socket (Makefile.am): Likewise.
25248         * modules/sys_stat (Makefile.am): Likewise.
25249         * modules/sys_time (Makefile.am): Likewise.
25250         * modules/sys_times (Makefile.am): Likewise.
25251         * modules/sys_utsname (Makefile.am): Likewise.
25252         * modules/sys_wait (Makefile.am): Likewise.
25253         * modules/sysexits (Makefile.am): Likewise.
25254         * modules/termios (Makefile.am): Likewise.
25255         * modules/time (Makefile.am): Likewise.
25256         * modules/unistd (Makefile.am): Likewise.
25257         * modules/wchar (Makefile.am): Likewise.
25258         * modules/wctype (Makefile.am): Likewise.
25259
25260 2010-10-04  Bruno Haible  <bruno@clisp.org>
25261
25262         read-file tests: Avoid a test failure on NonStop Kernel.
25263         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25264         a regular file.
25265         Reported by Joachim Schmitz <schmitz@hp.com>.
25266
25267 2010-10-03  Bruno Haible  <bruno@clisp.org>
25268
25269         gnulib-tool: Fixes for --create-testdir with --libtool.
25270         * gnulib-tool (func_get_automake_snippet): Don't augment
25271         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25272         an executable.
25273         (func_create_testdir): Handle module 'alloca' like func_import.
25274         Reported by Bruce Korb <bruce.korb@gmail.com>.
25275
25276 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25277
25278         Avoid some lines longer than 80 characters.
25279         * lib/stdint.in.h: Break long comment lines.
25280         * lib/math.in.h: Likewise.
25281         (_GL_NUM_UINT_WORDS): New macro, for readability.
25282         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25283         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25284         * lib/stdlib.in.h: Likewise.
25285         * lib/spawn.in.h: Likewise.
25286         * lib/sys_socket.in.h: Update an URL.
25287         * lib/sys_stat.in.h: Break long line.
25288
25289 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25290
25291         Improve pmccabe2html.
25292         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25293         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25294         when the sources change. Remove the line in the HTML about "Used
25295         ranges" (which implied that there might be other unused ranges),
25296         rename "Resume" to "Summary" (easier to understand for more users).
25297         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25298         styles, and some unnecessary blank lines.
25299
25300 2010-10-03  Bruno Haible  <bruno@clisp.org>
25301             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25302
25303         acl: Add support for ACLs on NonStop Kernel.
25304         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25305         Check whether the function aclsort() exists.
25306         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25307         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25308         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25309         (acl_nontrivial [HAVE_ACLSORT]: New function.
25310         (file_has_acl): Implement for NonStop Kernel.
25311         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25312         (qset_acl): Implement for NonStop Kernel.
25313         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25314         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25315         (main): Implement for NonStop Kernel.
25316         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25317         Kernel. Handle this flavor.
25318         * tests/test-set-mode-acl.sh: Likewise.
25319         * tests/test-copy-acl.sh: Likewise.
25320         * tests/test-copy-file.sh: Likewise.
25321
25322 2010-10-03  Bruno Haible  <bruno@clisp.org>
25323
25324         Info about ACLs on NonStop Kernel.
25325         * doc/acl-resources.txt: Add info about NonStop Kernel.
25326         References by Joachim Schmitz <schmitz@hp.com>.
25327
25328 2010-10-02  Bruno Haible  <bruno@clisp.org>
25329
25330         Define missing EDQUOT on NonStop Kernel.
25331         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25332         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25333         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25334         missing.
25335         * doc/posix-headers/errno.texi: Mention the NSK bug.
25336         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25337         Reported by Joachim Schmitz <schmitz@hp.com>.
25338
25339 2010-10-02  Bruno Haible  <bruno@clisp.org>
25340
25341         Update doc for POSIX:2008.
25342         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25343         Update URL of POSIX specification.
25344
25345 2010-10-02  Bruno Haible  <bruno@clisp.org>
25346
25347         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25348         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25349         from gnulib, not from Automake.
25350
25351 2010-10-02  Bruno Haible  <bruno@clisp.org>
25352
25353         New module 'system-posix'.
25354         * modules/system-posix: New file.
25355         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25356         module is present.
25357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25358         GNULIB_SYSTEM_POSIX.
25359         * modules/stdlib (Depends-on): Remove sys_wait.
25360         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25361         * doc/posix-functions/system.texi: Mention the new module.
25362         * doc/posix-headers/stdlib.texi: Likewise.
25363         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25364         define test_sys_wait_macros to a no-op.
25365         Reported by Sam Steingold <sds@gnu.org>.
25366
25367 2010-09-30  Bruno Haible  <bruno@clisp.org>
25368
25369         More renaming from 'getdate' to 'get_date'.
25370         * doc/get_date.texi: Renamed from doc/getdate.texi.
25371         * modules/get_date (Files): Update.
25372         * MODULES.html.sh (Date and time <time.h>): Update.
25373         * DEPENDENCIES: Update.
25374         * gnulib-tool: Update comment.
25375         * m4/bison.m4 (gl_BISON): Likewise.
25376         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25377
25378 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25379
25380         bootstrap: support ACLOCAL_FLAGS during aclocal
25381         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25382         can add additional -I dir for third-party .m4 files.
25383
25384 2010-09-30  Eric Blake  <eblake@redhat.com>
25385
25386         bootstrap: use glibtoolize on MacOS
25387         * build-aux/bootstrap (check_versions): Convert libtool into
25388         libtoolize.
25389         (tool search): Move libtool check earlier, and look for
25390         glibtoolize for MacOS.
25391         (gnulib_tool_options): Auto-add --libtool when appropriate.
25392         Reported by Justin Clift.
25393
25394         poll: fix typo that broke test on MacOS
25395         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
25396         Reported by Justin Clift.
25397
25398         getdate: rename to get_date
25399         Note: getdate.h is not renamed, to minimize client impact.
25400         * modules/getdate: Mark obsolete.  Move old contents...
25401         * modules/get_date: ...to new module name.
25402         * modules/getdate-tests: Move...
25403         * modules/get_date-tests: ...here.
25404         * m4/getdate.m4: Move...
25405         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
25406         * lib/getdate.y: Move...
25407         * lib/get_date.y: ...here.
25408         * tests/test-getdate.c: Move...
25409         * tests/test-get_date.c: ...here.
25410         * doc/posix-functions/getdate.texi (getdate): Update name.
25411         * NEWS: Mention the change.
25412
25413 2010-09-29  Bruno Haible  <bruno@clisp.org>
25414
25415         Separate the module 'waitpid' from the module 'sys_wait'.
25416         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
25417         present.
25418         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
25419         gl_MODULE_INDICATOR_FOR_TESTS.
25420         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
25421         * modules/sys_wait (Depends-on): Remove waitpid.
25422         (Makefile.am): Substitute GNULIB_WAITPID.
25423         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
25424         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
25425         signature only if the 'waitpid' module is present.
25426         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
25427         * NEWS: Mention the change.
25428         * modules/grantpt (Depends-on): Add waitpid.
25429         * modules/wait-process (Depends-on): Likewise.
25430
25431 2010-09-29  Bruno Haible  <bruno@clisp.org>
25432
25433         More tests for module 'sys_wait'.
25434         * modules/sys_wait-c++-tests: New file.
25435         * tests/test-sys_wait-c++.cc: New file.
25436         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
25437         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25438
25439 2010-09-29  Bruno Haible  <bruno@clisp.org>
25440
25441         New module 'waitpid'.
25442         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
25443         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
25444         Don't include <process.h>.
25445         (waitpid): Declare only, using modern idiom.
25446         * m4/waitpid.m4: New file.
25447         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
25448         * modules/waitpid: New file.
25449         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
25450         (Makefile.am): Update.
25451         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25452
25453 2010-09-28  Bruno Haible  <bruno@clisp.org>
25454
25455         poll: Assume ANSI C.
25456         * lib/poll.c (poll): Use an ANSI C declaration.
25457
25458 2010-09-28  Bruno Haible  <bruno@clisp.org>
25459
25460         poll-h: Create poll.h on all platforms.
25461         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
25462         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
25463         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
25464         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
25465         (gl_REPLACE_POLL_H): Don't set POLL_H.
25466         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
25467         * modules/poll-h (Depends-on): Add include_next.
25468         (Makefile.am): Create poll.h unconditionally. Substitute also
25469         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
25470
25471 2010-09-28  Bruno Haible  <bruno@clisp.org>
25472
25473         Tests for module 'poll-h'.
25474         * modules/poll-h-c++-tests: New file.
25475         * tests/test-poll-h-c++.cc: New file.
25476
25477         Tests for module 'poll-h'.
25478         * modules/poll-h-tests: New file.
25479         * tests/test-poll-h.c: New file.
25480
25481 2010-09-28  Bruno Haible  <bruno@clisp.org>
25482
25483         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
25484         * modules/poll-h (Depends-on): Add 'extensions'.
25485
25486 2010-09-28  Bruno Haible  <bruno@clisp.org>
25487
25488         New module 'poll-h'.
25489         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
25490         (poll): Use modern idiom.
25491         * modules/poll-h: New file.
25492         * modules/poll (Files): Remove lib/poll.in.h.
25493         (Depends-on): Add poll-h.
25494         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
25495         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
25496         * m4/poll_h.m4: New file.
25497         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
25498         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
25499         and invoke gl_REPLACE_POLL_H.
25500         * lib/poll.c: Use common idiom.
25501         * tests/test-poll.c: Likewise.
25502         * doc/posix-headers/poll.texi: Mention the poll-h module.
25503         Suggested by Eric Blake.
25504
25505 2010-09-26  Bruno Haible  <bruno@clisp.org>
25506
25507         sys_wait: Implement WSTOPSIG.
25508         * lib/sys_wait.in.h (WSTOPSIG): New macro.
25509         Reported by Simon Josefsson.
25510
25511 2010-09-26  Simon Josefsson  <simon@josefsson.org>
25512
25513         stdlib, sys_wait: Avoid compilation error on mingw.
25514         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
25515
25516 2010-09-26  Bruno Haible  <bruno@clisp.org>
25517
25518         stdlib tests: Avoid code duplication.
25519         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
25520         * modules/sys_wait-tests (Files): Likewise.
25521         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
25522         * tests/test-stdlib.c: Include test-sys_wait.h.
25523         (main): Invoke test_sys_wait_macros.
25524         * tests/test-sys_wait.c: Include test-sys_wait.h.
25525         (main): Invoke test_sys_wait_macros.
25526
25527 2010-09-25  Simon Josefsson  <simon@josefsson.org>
25528
25529         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
25530         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
25531         sure Windows sockets are working before calling getaddrinfo.
25532         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25533         * doc/gnulib.texi (Windows sockets): Fix typo.
25534
25535 2010-09-25  Bruno Haible  <bruno@clisp.org>
25536
25537         Tests for module 'regex-quote'.
25538         * modules/regex-quote-tests: New file.
25539         * tests/test-regex-quote.c: New file.
25540
25541         New module 'regex-quote'.
25542         * lib/regex-quote.h: New file.
25543         * lib/regex-quote.c: New file.
25544         * modules/regex-quote: New file.
25545         Suggested by Reuben Thomas <rrt@sc3d.org>.
25546
25547 2010-09-24  Bruno Haible  <bruno@clisp.org>
25548
25549         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25550         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25551
25552 2010-09-23  Bruno Haible  <bruno@clisp.org>
25553
25554         setenv: Relax license.
25555         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25556         Blake.
25557         Requested by Eric Blake.
25558
25559 2010-09-22  Bruno Haible  <bruno@clisp.org>
25560
25561         termios: Relax license.
25562         * modules/termios (License): Change to LGPLv2+.
25563         Requested by Eric Blake.
25564
25565 2010-09-22  Bruno Haible  <bruno@clisp.org>
25566
25567         threadlib: Allow the package to change the default to 'no'.
25568         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25569         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25570         Reported by Paul Eggert.
25571
25572 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25573             Bruno Haible  <bruno@clisp.org>
25574
25575         Fix endless loop in mbmemcasecoll.
25576         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25577         byte.
25578         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25579
25580 2010-09-22  Bruno Haible  <bruno@clisp.org>
25581
25582         Tests for module 'memcoll'.
25583         * modules/memcoll-tests: New file.
25584         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25585
25586         memcoll, xmemcoll: Clarify size vs. length.
25587         * modules/memcoll.c (memcoll0): Clarify specification.
25588         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25589         passed to collate_error.
25590
25591 2010-09-22  Bruno Haible  <bruno@clisp.org>
25592
25593         Tests for module 'memcasecmp'.
25594         * modules/memcasecmp-tests: New file.
25595         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25596
25597 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25598
25599         * lib/pthread.in.h: Add split double-inclusion guard, and include
25600         system <pthread.h> if there is one.  Use @@-style as in other
25601         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25602         pthread.h doesn't.
25603         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25604         (pthread_mutexattr_settype, pthread_mutex_trylock):
25605         New static inline functions, if there's no system <pthread.h>.
25606         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25607         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25608         Approximate with mutexes if the system lacks spinlocks, as in
25609         MacOS.
25610         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25611         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25612         @@-style.  Check for spinlocks separately.
25613         (gl_PTHREAD_DEFAULTS): New macro.
25614         * modules/pthread: Redo to use a more typical style for in.h files.
25615
25616 2010-09-21  Eric Blake  <eblake@redhat.com>
25617
25618         net_if: enhance tests
25619         * tests/test-net_if.c (main): Move signature checks earlier.
25620         Print failures to stderr.
25621         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25622         Document the bug that we do not yet fix.
25623
25624 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25625
25626         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25627         about gnulib, not GSS.
25628
25629 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25630
25631         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25632         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25633         for Emacs.
25634         * build-aux/pmccabe2html: Make Makefile.am example code more
25635         cut-and-paste friendly.
25636
25637 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25638
25639         * tests/test-net_if.c: New file.
25640         * modules/net_if-tests: New file.
25641
25642 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25643
25644         pthread: add pthread_spin_destroy
25645         * lib/pthread.in.h (pthread_spin_destroy): New function.
25646
25647 2010-09-19  Bruno Haible  <bruno@clisp.org>
25648
25649         gnulib-tool: Fix --help output.
25650         * gnulib-tool (func_usage): Fix help message.
25651         Reported by Reuben Thomas <rrt@sc3d.org>.
25652
25653 2010-09-18  Jim Meyering  <meyering@redhat.com>
25654
25655         maint.mk: avoid unexpanded \n in two diagnostics
25656         * top/maint.mk (sc_prohibit_always_true_header_tests):
25657         Don't use a literal \n in a halt=... assignment.  It would not be
25658         expanded, and the two \n bytes would appear in the diagnostic output
25659         rather than the desired newline.  Use halt=$$(printf ... instead.
25660         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25661
25662 2010-09-18  Bruno Haible  <bruno@clisp.org>
25663
25664         netinet_in: Doc tweak.
25665         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25666         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25667
25668 2010-09-18  Jim Meyering  <meyering@redhat.com>
25669
25670         init.sh: correct an outdated comment
25671         * tests/init.sh (create_exe_shims_):  s/function/alias/
25672
25673         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25674         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25675         a file named "*.exe" is removed between the glob expansion and the
25676         processing of that oddly named file.
25677
25678 2010-09-17  Eric Blake  <eblake@redhat.com>
25679
25680         mirbsd: add some more support
25681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25682         in BSD family.
25683         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25684         devices as OpenBSD.
25685         * m4/host-os.m4 (mirbsd): Add MirBSD.
25686
25687         tests: fix unportable assumption on sys/wait.h
25688         * tests/test-sys_wait.c (main): Relax test.
25689         * tests/test-stdlib.c (main): Likewise.
25690
25691         init.sh: accomodate directory with no .exes
25692         * tests/init.sh: Accomodate directory containing only scripts.
25693
25694         tests: avoid compiler warning
25695         * tests/test-stdlib.c (main): Use the variable.
25696
25697         fdutimens, fdutimensat: update signature, again
25698         * lib/utimens.h (gl_futimens): Delete, and move signature...
25699         (fdutimens): ...here.
25700         (fdutimensat): Rearrange signature.
25701         (lutimensat): Rename variable for clarity.
25702         * lib/fdutimensat.c (fdutimensat): Update signature.
25703         * lib/utimens.c (fdutimens): Likewise.
25704         (gl_futimens): Delete.
25705         (utimens, lutimens): Update callers.
25706         * lib/futimens.c (futimens): Likewise.
25707         * tests/test-fdutimensat.c: Likewise.
25708         * tests/test-utimens.c: Likewise.
25709         * tests/test-futimens.h: Update comment.
25710         * NEWS: Mention this.
25711         Suggested by Paul Eggert.
25712
25713 2010-09-17  Bruno Haible  <bruno@clisp.org>
25714
25715         Take over the maintenance of some older macros from Autoconf.
25716         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25717         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25718         GNU Autoconf.
25719         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25720         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25721
25722 2010-09-17  Eric Blake  <eblake@redhat.com>
25723
25724         fdutimensat: drop atflag validation
25725         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25726         with valid fd, to close a race scenario where futimens is
25727         unsupported and FILE was replaced by a symlink.
25728         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25729         accordingly.
25730         Suggested by Paul Eggert.
25731
25732 2010-09-16  Bruno Haible  <bruno@clisp.org>
25733
25734         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25735         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25736
25737 2010-09-16  Bruno Haible  <bruno@clisp.org>
25738
25739         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25740         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25741         login_tty exists.
25742         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25743
25744 2010-09-16  Bruno Haible  <bruno@clisp.org>
25745
25746         login_tty: Make the replacement code work on BSD systems.
25747         * lib/login_tty.c: Include <sys/ioctl.h>.
25748         (login_tty): Use ioctl TIOCSCTTY when available.
25749         * modules/login_tty (Depends-on): Add sys_ioctl.
25750         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25751
25752 2010-09-16  Bruno Haible  <bruno@clisp.org>
25753
25754         login_tty: Stricter unit test.
25755         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25756         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25757         and tcgetsid() after login_tty.
25758         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25759
25760 2010-09-16  Bruno Haible  <bruno@clisp.org>
25761
25762         New module 'tcgetsid'.
25763         * lib/tcgetsid.c: New file.
25764         * m4/tcgetsid.m4: New file.
25765         * modules/tcgetsid: New file.
25766         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25767         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25768         GNULIB_TCGETSID, HAVE_TCGETSID.
25769         * lib/termios.in.h: Include <sys/types.h>.
25770         (tcgetsid): New declaration.
25771         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25772         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25773         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25774         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25775
25776 2010-09-16  Bruno Haible  <bruno@clisp.org>
25777
25778         Tests for module 'termios'.
25779         * modules/termios-c++-tests: New file.
25780         * modules/termios-tests: New file.
25781         * tests/test-termios-c++.cc: New file.
25782         * tests/test-termios.c: New file.
25783
25784         New module 'termios'.
25785         * modules/termios: New file.
25786         * lib/termios.in.h: New file.
25787         * m4/termios_h.m4: New file.
25788         * doc/posix-headers/termios.texi: Mention the new module.
25789
25790 2010-09-16  Eric Blake  <eblake@redhat.com>
25791
25792         fdutimensat: add an atflag parameter
25793         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25794         * lib/utimens.h (fdutimensat): Update prototype.
25795         * tests/test-fdutimensat.c: Adjust test to match.
25796         * NEWS: Document the change.
25797         Suggested by Paul Eggert.
25798
25799 2010-09-16  Bruno Haible  <bruno@clisp.org>
25800
25801         Fix typos in comments.
25802         * lib/striconveh.h: Fix typo in comment.
25803         * lib/login_tty.c (login_tty): Likewise.
25804
25805 2010-09-15  Bruno Haible  <bruno@clisp.org>
25806
25807         stdlib: clarify MirBSD WEXITSTATUS bug
25808         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25809         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25810
25811 2010-09-15  Eric Blake  <eblake@redhat.com>
25812
25813         stdlib: work around MirBSD WEXITSTATUS bug
25814         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25815         * modules/stdlib (Depends-on): Add sys_wait.
25816         * tests/test-sys_wait.c (main): Enhance test.
25817         * tests/test-stdlib.c (main): Likewise.
25818         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25819
25820         docs: mention MacOS issue with WEXITSTATUS(constant)
25821         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25822         issue.
25823         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25824
25825         strnlen: add tests
25826         * modules/strnlen-tests: New file.
25827         * tests/test-strnlen.c: Likewise.
25828
25829 2010-09-14  Bruno Haible  <bruno@clisp.org>
25830
25831         unistr/base: Avoid link errors when module 'libunistring' is also used.
25832         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25833         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25834         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25835         Declare also when HAVE_LIBUNISTRING is set.
25836         Reported by Pádraig Brady <P@draigbrady.com>.
25837
25838 2010-09-14  Eric Blake  <eblake@redhat.com>
25839
25840         test-rawmemchr: make more robust
25841         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25842         (Depends-on, configure.ac): Add needed prerequisites to use it.
25843         * modules/memchr-tests (Files, Depends-on, configure.ac):
25844         Likewise, to avoid implicit reliance on memchr module prereqs.
25845         * tests/test-memchr.c (main): Ensure proper masking.
25846         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25847         reads.
25848
25849         memchr: detect glibc Alpha bug
25850         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25851         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25852         Alpha.
25853         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25854         * tests/test-memchr.c (main): Enhance test.
25855         Reported by Nelson H. F. Beebe.
25856
25857 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25858
25859         fts, getcwd, glob: audit for dirfd returning -1
25860         * lib/fts.c (opendir): Remove #define; no longer used.
25861         (opendirat): New arg PDIR_FD.  All callers changed.
25862         (fts_build, _opendir2): Use new opendirat to avoid the need for
25863         dirfd, or for checking whether dirfd returns a negative value.
25864         Don't use opendir; always use openat followed by fdopendir.
25865         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25866         it.
25867         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25868         returns -1 here.
25869         * modules/fts (Depends-on): Remove dirfd.
25870         * modules/getcwd (Depends-on): Likewise.
25871
25872 2010-09-13  Eric Blake  <eblake@redhat.com>
25873
25874         float: fix broken MirBSD header
25875         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25876         * doc/posix-headers/float.texi (float.h): Document it.
25877
25878 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25879
25880         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25881         * lib/fts.c (opendirat): New arg extra_flags.
25882         (__opendir2): Use it to avoid following symlinks when opening
25883         a directory, if symlinks are not supposed to be followed.  See
25884         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25885
25886         fdopendir: preserve argument fd before returning
25887         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25888         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25889         (fdopendir): Use them, arranging for FD to be open to the same
25890         directory that it was when it started.  (It might be temporarily
25891         closed while fdopendir is running, so this not thread- or
25892         signal-safe.)  Be careful to do the right thing even when file
25893         descriptors are scarce and dup fails with errno == EMFILE.  See
25894         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25895
25896 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25897
25898         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25899         * NEWS: Document change.
25900         * m4/regex.m4: Disable test for regoff_t size.
25901
25902 2010-09-13  Jim Meyering  <meyering@redhat.com>
25903
25904         fts: don't operate on an invalid file descriptor after failed dup
25905         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
25906         negative file descriptor.
25907
25908 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25909
25910         savedir: add streamsavedir, deprecate fdsavedir
25911         * NEWS: Mention deprecation of fdsavedir.
25912         * lib/savedir.c (streamsavedir): New extern function, whose name
25913         ends in "savedir" to be consistent with the others.  This differs
25914         from savedirstream in that it doesn't close its argument.  The
25915         next version of GNU tar will use this instead of fdsavedir, to
25916         avoid some race conditions and conserve file descriptors.
25917         (savedirstream): Reimplement as a wrapper around streamsavedir.
25918         (fdsavedir): Add a comment deprecating this function.  As far as
25919         I know, only GNU tar used it, and GNU tar doesn't need it any more.
25920         * lib/savedir.h (streamsavedir): New decl.
25921         (fdsavedir): Add a comment deprecating this.
25922
25923 2010-09-10  Bruno Haible  <bruno@clisp.org>
25924
25925         langinfo: Fix last commit.
25926         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
25927         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
25928         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25929
25930 2010-09-10  Bruno Haible  <bruno@clisp.org>
25931
25932         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
25933         * lib/progreloc.c (O_EXEC): Define fallback.
25934
25935 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
25936
25937         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
25938         * NEWS: Document recent changes to fcntl-h.
25939         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
25940         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
25941         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
25942         Similarly for O_SEARCH; this last was already true, but not documented.
25943         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
25944         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
25945         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
25946         Likewise.
25947         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
25948         is zero, not whether it is defined.
25949         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
25950         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
25951         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
25952
25953 2010-09-10  Bruno Haible  <bruno@clisp.org>
25954
25955         langinfo, nl_langinfo: Fix for IRIX 5.3.
25956         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
25957         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
25958         HAVE_LANGINFO_YESEXPR.
25959         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
25960         HAVE_LANGINFO_YESEXPR.
25961         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
25962         HAVE_LANGINFO_T_FMT_AMPM is 0.
25963         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
25964         HAVE_LANGINFO_YESEXPR is 0.
25965         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
25966         NOEXPR.
25967         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
25968         * doc/posix-functions/nl_langinfo.texi: Likewise.
25969         Reported by Eric Blake.
25970
25971 2010-09-10  Bruno Haible  <bruno@clisp.org>
25972
25973         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
25974         * doc/glibc-functions/login_tty.texi: Mention the include file problem
25975         on FreeBSD 8.0 and OpenBSD 4.6.
25976         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
25977         * m4/pty_h.m4 (gl_PTY_H): Likewise.
25978         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
25979         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
25980         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
25981         ac_includes_default.
25982         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25983
25984 2010-09-09  Eric Blake  <eblake@redhat.com>
25985
25986         strsignal: work around NetBSD bug
25987         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
25988         * lib/string.in.h (includes): Likewise.
25989         * doc/posix-functions/strsignal.texi (strsignal): Document the
25990         bug.
25991         Reported by Nelson H. F. Beebe.
25992
25993         gnulib-tool: work with NetBSD /bin/sh
25994         * gnulib-tool (func_cache_var, func_cache_lookup_module)
25995         (func_get_description, func_get_comment, func_get_status)
25996         (func_get_notice, func_get_applicability, func_get_filelist)
25997         (func_get_dependencies, func_get_autoconf_early_snippet)
25998         (func_get_autoconf_snippet, func_get_automake_snippet)
25999         (func_get_include_directive, func_get_link_directive)
26000         (func_get_license, func_get_maintainer, func_import): Avoid
26001         shell syntax errors from parsing syntax extensions.
26002
26003 2010-09-09  Bruno Haible  <bruno@clisp.org>
26004
26005         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26006         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26007         a reliable way to determine whether the 'alias' command works.
26008
26009 2010-09-08  Jim Meyering  <meyering@redhat.com>
26010
26011         init.sh: penalize a set-x-impaired shell; don't disqualify it
26012         * tests/init.sh: Too many shells corrupt application stderr when
26013         you set -x, so we can't afford to disqualify them, since at least
26014         on Irix-6.5, that would disqualify all bourne shells.
26015         Instead, use a two-pass approach.
26016         On the first pass, try to find a shell that meets the stricter
26017         condition that set -x does not corrupt stderr.
26018         If no shell meets the stricter condition, retest each candidate
26019         shell, but without that extra condition.  Finally, when
26020         VERBOSE=yes is requested and set -x might cause trouble, simply
26021         issue a warning and refrain from enabling debug output.
26022
26023 2010-09-08  Eric Blake  <eblake@redhat.com>
26024
26025         unsetenv: fix OpenBSD bug
26026         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26027         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26028         documentation.
26029         Reported by Jim Meyering.
26030
26031         strtod: work around IRIX 6.5 bug
26032         * lib/strtod.c (strtod): Reparse number on shorter string if
26033         exponent parse was invalid.
26034         * tests/test-strtod.c (main): Add check for "0x1p 2".
26035         Reported by Tom G. Christensen.
26036
26037         getopt: optimize previous patch
26038         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26039         empty variable.  Speed up awk script.
26040         Reported by Paolo Bonzini.
26041
26042 2010-09-08  Jim Meyering  <meyering@redhat.com>
26043
26044         test.sh: disqualify shells for which set -x corrupts stderr
26045         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26046         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26047         appear in stderr output.  For example, this command:
26048             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26049         prints "P=1" on those two systems:
26050
26051 2010-09-08  Bruno Haible  <bruno@clisp.org>
26052
26053         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26054         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26055         commands, because some shells ignore redirections when there is an
26056         error in the command lookup.
26057         Reported by Eric Blake.
26058
26059 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26060
26061         * lib/regex.h: Fix a mention of `regex_compile' (should be
26062         `re_compile_pattern').
26063         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26064         (re_set_registers): Correct name of parameter in comment.
26065
26066         * doc/regex.texi: Add documentation for missing syntax flags.
26067         Remove commented-out documentation of defunct syntax option
26068         RE_NO_EMPTY_ALTS.
26069         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26070         Add documentation of re_set_registers.
26071         Document trick to re-use a pattern buffer by setting fastmap manually.
26072         Update documentation of struct re_pattern_buffer per public members.
26073         Uncomment documentation of equivalence class operators and
26074         collating symbol operators, since they are now implemented,
26075         Explain leftmost-longest matching in relation to alternatives.
26076         Tidy documentation of substring matching.
26077         Remove POSIX documentation, which is done better in
26078         glibc, and refer the reader there. Keep BSD API documentation, as
26079         that is not readily available elsewhere.
26080
26081 2010-09-07  Eric Blake  <eblake@redhat.com>
26082
26083         getopt: handle POSIXLY_CORRECT set but not exported
26084         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26085         export state of POSIXLY_CORRECT, due to bash set -o posix.
26086         Reported by Dustin J. Mitchell.
26087
26088 2010-09-05  Bruno Haible  <bruno@clisp.org>
26089
26090         gnulib-tool: Highlight the changed options.
26091         * gnulib-tool (func_usage): Display the --import, --add-import,
26092         --remove-import explanations in bold font.
26093
26094 2010-09-06  Karl Berry  <karl@gnu.org>
26095
26096         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26097
26098 2010-09-05  Bruno Haible  <bruno@clisp.org>
26099
26100         uniwidth/width: Update comment.
26101         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26102         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26103
26104 2010-09-05  Bruno Haible  <bruno@clisp.org>
26105
26106         isinf, isnan: Relax license.
26107         * modules/isinf (License): Change from GPL to LGPL, with consent from
26108         Ben Pfaff.
26109         * modules/isnan (License): Likewise.
26110         Requested by Ludovic Courtès.
26111
26112 2010-09-04  Bruno Haible  <bruno@clisp.org>
26113
26114         gnulib-tool: Help migration from --import to --add-import or --update.
26115         * gnulib-tool: Emit a verbose error message when --import is used
26116         without any module name.
26117
26118 2010-09-04  Bruno Haible  <bruno@clisp.org>
26119
26120         Update doc about gnulib-tool.
26121         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26122         'gnulib-tool --update' in more detail.
26123         Reported by Eric Blake.
26124
26125 2010-09-04  Bruno Haible  <bruno@clisp.org>
26126
26127         gnulib-tool: Change --import. New options --add/remove-import.
26128         * gnulib-tool: New options --add-import, --remove-import.
26129         (func_usage): Document them.
26130         (have_associative): Define always.
26131         (func_import): In import mode, don't merge the specified settings with
26132         the cached settings. Implement remove-import mode.
26133         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26134         Explain when to use them versus --import.
26135         (Simple update): Use --add-import instead of --import.
26136         * NEWS: Mention the change.
26137
26138 2010-09-04  Bruno Haible  <bruno@clisp.org>
26139
26140         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26141         separate gnulib.mk.
26142
26143 2010-09-04  Bruno Haible  <bruno@clisp.org>
26144
26145         gnulib-tool: Don't talk about CVS any more.
26146         * gnulib-tool (func_usage, func_import): Write "version control"
26147         instead of CVS.
26148
26149 2010-09-04  Jim Meyering  <meyering@redhat.com>
26150
26151         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26152         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26153         false positives (whose names may be ill-chosen) when searching
26154         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26155         would cause a false-positive.
26156
26157         avoid coreutils "make distcheck" failure
26158         Coreutils tests with an absolute build directory name that contains
26159         a space.  Not quoting this directory name caused a failure.
26160         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26161         * tests/test-vc-list-files-cvs.sh: Likewise.
26162
26163 2010-09-04  Bruno Haible  <bruno@clisp.org>
26164
26165         gnulib-tool: Avoid error when run in a package without Makefile.am.
26166         * gnulib-tool: When collecting the m4dirs in a package that does not
26167         have a Makefile.am, eliminate those directories that contain no
26168         gnulib-cache.m4. Fix expression that counts these directories.
26169
26170 2010-09-04  Bruno Haible  <bruno@clisp.org>
26171
26172         update-copyright test: Improve output when perl is missing or too old.
26173         * tests/test-update-copyright.sh: Move test of Perl version down after
26174         the test whether Perl exists. Provide an explanation relating Perl's
26175         error message to Automake's SKIP: message.
26176
26177 2010-09-04  Bruno Haible  <bruno@clisp.org>
26178
26179         Don't augment PATH in TESTS_ENVIRONMENT.
26180         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26181         set abs_aux_dir instead of augmenting PATH.
26182         * modules/vc-list-files-tests (Makefile.am): Likewise.
26183         * tests/test-update-copyright.sh: Augment PATH here.
26184         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26185         path_prepend_.
26186         * tests/test-vc-list-files-git.sh: Likewise.
26187
26188 2010-09-04  Jim Meyering  <meyering@redhat.com>
26189
26190         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26191         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26192
26193 2010-09-04  Bruno Haible  <bruno@clisp.org>
26194
26195         strdup: Fix compilation error in C++ mode.
26196         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26197         the macro.
26198
26199 2010-09-04  Bruno Haible  <bruno@clisp.org>
26200
26201         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26202         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26203         macro into a function.
26204         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26205
26206 2010-09-04  Bruno Haible  <bruno@clisp.org>
26207
26208         Set PATH_SEPARATOR the same way autoconf does.
26209         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26210         the value of PATH_SEPARATOR the same way autoconf-generated configure
26211         scripts do.
26212         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26213         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26214
26215 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26216
26217         Set PATH_SEPARATOR the same way autoconf does.
26218         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26219         the same way autoconf-generated configure scripts do.
26220         * posix-modules: Likewise.
26221
26222 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26223
26224         hash: fix safe_hasher const typo
26225         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26226         const; otherwise, there is a type error later.
26227
26228 2010-09-02  Jim Meyering  <meyering@redhat.com>
26229
26230         test-update-copyright.sh: require perl 5.8.0
26231         * tests/test-update-copyright.sh: Require 5.8.0,
26232         which Tom G. Christensen has confirmed is adequate,
26233         while 5.6.1 is not.
26234
26235 2010-09-02  Eric Blake  <eblake@redhat.com>
26236
26237         tests: init.sh improvements for re-exec'ing with zsh
26238         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26239         -vx through shell re-exec.
26240         Reported by Tom G. Christensen.
26241
26242         wctype: fix typo in previous commit
26243         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26244         Reported by Ludovic Courtès.
26245
26246 2010-09-02  Jim Meyering  <meyering@redhat.com>
26247
26248         test-update-copyright.sh: skip test if Perl is too old
26249         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26250         Reported by Tom G. Christensen.
26251
26252 2010-09-02  Bruno Haible  <bruno@clisp.org>
26253
26254         wctype: Avoid compilation error on IRIX 6.5.30.
26255         * lib/wctype.in.h (iswblank): Declare with a replacement if
26256         REPLACE_ISWBLANK is set.
26257         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26258         declared. Set REPLACE_ISWBLANK.
26259         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26260         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26261         * doc/posix-headers/wctype.texi: Likewise.
26262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26263
26264 2010-09-01  Bruno Haible  <bruno@clisp.org>
26265
26266         New module 'socketlib'.
26267         * modules/socketlib: New file.
26268         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26269         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26270         * modules/sockets (Depends-on): Add socketlib.
26271         Suggested by Sam Steingold <sds@gnu.org>.
26272
26273 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26274
26275         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26276
26277         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26278         when one needs search access to a directory but not read access.
26279         On systems where it is available, it works in some cases where
26280         O_RDONLY does not, namely on directories that are searchable but
26281         not readable, and which need only to be searchable.  If O_SEARCH
26282         is not available, fall back to the traditional method of using
26283         O_RDONLY.
26284
26285         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26286         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26287         when opening a directory that needs only to be searchable.
26288         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26289         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26290         * lib/openat-proc.c (openat_proc_name): Likewise.
26291         * lib/openat.c (openat_needs_fchdir): Likewise.
26292         * lib/save-cwd.c (save_cwd): Likewise.
26293         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26294
26295 2010-08-28  Bruno Haible  <bruno@clisp.org>
26296
26297         New module 'host-cpu-c-abi'.
26298         * modules/host-cpu-c-abi: New file.
26299         * m4/host-cpu-c-abi.m4: New file, based on part of
26300         clisp/src/m4/general.m4.
26301         Requested by Sam Steingold <sds@gnu.org>.
26302
26303 2010-08-31  Eric Blake  <eblake@redhat.com>
26304         and Jim Meyering  <meyering@redhat.com>
26305
26306         hash: factor, and guard against misbehaving hasher function
26307         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26308         of table->hasher's return value.  Also protect against a hash value
26309         so large that adding it to table->bucket results in a NULL pointer.
26310         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26311         Use it in place of open-coded check-and-abort.
26312
26313 2010-08-30  Bruno Haible  <bruno@clisp.org>
26314
26315         hash: silence spurious clang warning
26316         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26317         Reported by Eric Blake.
26318
26319 2010-08-30  Eric Blake  <eblake@redhat.com>
26320
26321         strstr, memmem, strcasestr: avoid leaked shell message
26322         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26323         FreeBSD.
26324         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26325         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26326
26327         tests: silence clang warning
26328         * tests/test-malloca.c (do_allocation): Avoid dead store.
26329
26330 2010-08-29  Bruno Haible  <bruno@clisp.org>
26331
26332         gettext: Fix recent mistake.
26333         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26334
26335 2010-08-29  Bruno Haible  <bruno@clisp.org>
26336
26337         selinux-h: Offer a --without-selinux option.
26338         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26339         --without-selinux was specified, skip all tests and define
26340         HAVE_SELINUX_SELINUX_H to 0.
26341         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26342         set LIB_SELINUX to empty.
26343         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26344         gl_LIBSELINUX. If --without-selinux was specified, replace
26345         selinux/context.h.
26346         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26347
26348 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26349             Bruno Haible  <bruno@clisp.org>
26350
26351         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26352         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26353         of HAVE_REALLOC.
26354         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26355         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26356         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26357         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26358
26359 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26360             Bruno Haible  <bruno@clisp.org>
26361
26362         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26363         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26364         HAVE_CALLOC.
26365         * lib/xmalloc.c: Update accordingly.
26366         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26367         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26368         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26369
26370 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26371             Bruno Haible  <bruno@clisp.org>
26372
26373         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26374         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26375         HAVE_MALLOC.
26376         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26377         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26378         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26379
26380 2010-08-29  Bruno Haible  <bruno@clisp.org>
26381
26382         Update modules list.
26383         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26384         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26385         (String handling <string.h>): Add astrxfrm.
26386         (File system functions): Add readlinkat.
26387
26388 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26389
26390         Tests for module 'realloc-gnu'.
26391         * modules/realloc-gnu-tests: New file.
26392         * tests/test-realloc-gnu.c: New file.
26393
26394         Tests for module 'calloc-gnu'.
26395         * modules/calloc-gnu-tests: New file.
26396         * tests/test-calloc-gnu.c: New file.
26397
26398         Tests for module 'malloc-gnu'.
26399         * modules/malloc-gnu-tests: New file.
26400         * tests/test-malloc-gnu.c: New file.
26401
26402 2010-08-28  Bruno Haible  <bruno@clisp.org>
26403
26404         Rename module 'realloc' -> 'realloc-gnu'.
26405         * modules/realloc-gnu: New file, copied from modules/realloc.
26406         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
26407         obsolete.
26408         * modules/mgetgroups (Depends-on): Update.
26409         * doc/posix-functions/realloc.texi: Update.
26410         * NEWS: Mention the change.
26411
26412         Rename module 'calloc' -> 'calloc-gnu'.
26413         * modules/calloc-gnu: New file, copied from modules/calloc.
26414         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
26415         obsolete.
26416         * doc/posix-functions/calloc.texi: Update.
26417         * NEWS: Mention the change.
26418
26419         Rename module 'malloc' -> 'malloc-gnu'.
26420         * modules/malloc-gnu: New file, copied from modules/malloc.
26421         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
26422         obsolete.
26423         * modules/argp (Depends-on): Update.
26424         * modules/regex (Depends-on): Update.
26425         * doc/posix-functions/malloc.texi: Update.
26426         * NEWS: Mention the change.
26427
26428 2010-08-28  Eric Blake  <eblake@redhat.com>
26429
26430         pread, pwrite: add missing dependency
26431         * modules/pread (Depends-on): Add extensions.
26432         * modules/pwrite (Depends-on): Likewise.
26433
26434 2010-08-28  Bruno Haible  <bruno@clisp.org>
26435
26436         unistr/u*-strchr: Fix tests dependencies.
26437         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
26438         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
26439         Reported by Ian Beckwith <ianb@erislabs.net>.
26440
26441 2010-08-28  Bruno Haible  <bruno@clisp.org>
26442
26443         read-file: Don't occupy too much unused memory.
26444         * lib/read-file.c (fread_file): Shrink the buffer at the end.
26445
26446 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
26447             Eric Blake  <eblake@redhat.com>
26448             Bruno Haible  <bruno@clisp.org>
26449
26450         read-file: Avoid memory reallocations with regular files.
26451         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
26452         (fread_file): With regular files, use the remaining length as the
26453         initial buffer size.  Check against overflow.
26454         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
26455         sys_stat.
26456
26457 2010-08-28  Bruno Haible  <bruno@clisp.org>
26458
26459         ftello: Relax license.
26460         * modules/ftello (License): Relax to LGPLv2+.
26461         Reported by Eric Blake.
26462
26463 2010-08-28  Bruno Haible  <bruno@clisp.org>
26464
26465         Avoid relocwrapper link errors due to gnulib replacement functions.
26466         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
26467         function.
26468         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26469
26470 2010-08-28  Bruno Haible  <bruno@clisp.org>
26471
26472         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
26473         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
26474         defined.
26475         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
26476         Suggested by Eric Blake.
26477
26478 2010-08-28  Bruno Haible  <bruno@clisp.org>
26479
26480         sys_socket, netdb: Ensure socklen_t gets defined.
26481         * modules/sys_socket (Depends-on): Add socklen.
26482         * modules/netdb (Depends-on): Likewise.
26483         * modules/getaddrinfo (Depends-on): Remove socklen.
26484         * modules/getsockopt (Depends-on): Likewise.
26485         * modules/setsockopt (Depends-on): Likewise.
26486         * tests/test-sys_socket.c: Check that socklen_t is defined.
26487         * tests/test-netdb.c: Likewise.
26488         * m4/socklen.m4: Update comments.
26489         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26490
26491 2010-08-27  Eric Blake  <eblake@redhat.com>
26492
26493         login_tty: add missing dependency
26494         * modules/login_tty (Depends-on): Add pty.
26495
26496 2010-08-26  Eric Blake  <eblake@redhat.com>
26497
26498         lib-symbol-versions: fix m4 quoting
26499         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
26500         format for AC_LINK_IFELSE.
26501
26502         glob: fix compile test
26503         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
26504
26505         btowc: fix missing file
26506         * modules/btowc (Files): Also ship locale-fr.m4.
26507
26508         lseek: fix link test
26509         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
26510         AC_LINK_IFELSE.
26511
26512         include_next: silence autoconf 2.68 warning
26513         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
26514         AC_COMPILE_IFELSE as special.
26515         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
26516         autoconf < 2.68.
26517
26518         acl: fix compilation test
26519         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
26520         AC_COMPILE_IFELSE.
26521
26522 2010-08-26  Bruno Haible  <bruno@clisp.org>
26523
26524         Modernize AC_TRY_RUN invocations.
26525         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
26526         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26527         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
26528         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
26529         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
26530         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26531         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26532         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26533         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26534         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26535         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26536         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26537         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26538         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26539         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26540         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26541         gl_MBRLEN_NUL_RETVAL): Likewise.
26542         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26543         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26544         Likewise.
26545         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26546         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26547         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26548         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26549         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26550         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26551         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26552         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26553         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26554         Likewise.
26555         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26556         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26557         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26558         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26559         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26560         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26561         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26562         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26563         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26565
26566 2010-08-26  Bruno Haible  <bruno@clisp.org>
26567
26568         Modernize AC_TRY_LINK invocations.
26569         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26570         AC_TRY_LINK.
26571         * m4/argp.m4 (gl_ARGP): Likewise.
26572         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26573         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26574         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26575         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26576         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26577         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26578         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26579         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26580         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26581         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26582         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26583         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26584         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26585         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26586         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26587         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26588         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26589         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26590         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26591         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26592         Likewise.
26593         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26594         Likewise.
26595         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26596         Likewise.
26597         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26598         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26599         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26600         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26601         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26602         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26603         * m4/servent.m4 (gl_SERVENT): Likewise.
26604         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26605         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26606         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26607         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26608         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26609         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26610         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26611         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26612         * modules/tsearch-tests (configure.ac): Likewise.
26613
26614 2010-08-26  Bruno Haible  <bruno@clisp.org>
26615
26616         Modernize AC_TRY_COMPILE invocations.
26617         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26618         AC_TRY_COMPILE.
26619         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26620         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26621         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26622         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26623         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26624         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26625         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26626         * m4/lock.m4 (gl_LOCK): Likewise.
26627         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26628         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26629         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26630         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26631         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26632         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26633         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26634         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26635         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26636         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26637         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26638         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26639         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26640         extraneous semicolon.
26641
26642 2010-08-26  Jim Meyering  <meyering@redhat.com>
26643
26644         stat-time: relax license LGPL
26645         * modules/stat-time (License): Change from GPL to LGPL,
26646         with consent from all contributors, for use in libguile.
26647         Requested by Ludovic Courtès.
26648
26649 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26650
26651         poll: return immediately on POLLHUP.
26652         * lib/poll.c (poll): Always set timeout before wait_timeout is
26653         computed.
26654
26655 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26656
26657         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26658         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26659         rmdir ("dir/.//"), unlinkat.
26660
26661 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26662
26663         stdbool: avoid spurious failure with modern xlc
26664         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26665
26666 2010-08-24  Bruno Haible  <bruno@clisp.org>
26667
26668         getloadavg: simplify code
26669         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26670         gl_have_func. Update comments.
26671
26672 2010-08-24  Eric Blake  <eblake@redhat.com>
26673
26674         getloadavg: don't define SVR4 on cygwin
26675         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26676         only define SVR4 when -lkvm is required.
26677         Reported by Yaakov Selkowitz.
26678
26679 2010-08-24  Bruno Haible  <bruno@clisp.org>
26680
26681         priv-set: fix comment
26682         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26683
26684 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26685
26686         priv-set: fix comments
26687         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26688         to match code, as suggested by David Bartley in:
26689         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26690
26691 2010-08-23  Eric Blake  <eblake@redhat.com>
26692
26693         stdbool: avoid rejecting clang
26694         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26695         * tests/test-stdbool.c: Enable more tests if using the system
26696         <stdbool.h> instead of the gnulib replacement.
26697         (main): Move xlc bug test to a runtime test for all compilers.
26698         Reported by Anders Kaseorg.
26699
26700         argz: fix shell quoting issue
26701         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26702         Reported by Charles Wilson.
26703
26704 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26705             Erik Faye-Lund <kusmabite@gmail.com>
26706
26707         poll, select: handle ERROR_BROKEN_PIPE.
26708         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26709         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26710         * lib/select.c (win32_compute_revents): Do not mark a pipe
26711         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26712
26713 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26714
26715         fts: allow compilation with C++
26716         * lib/fts_.h: Specify extern "C" linkage with C++.
26717
26718 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26719
26720         Fix gnulib-tool sed script de-commentation for AIX sed.
26721         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26722         sed.
26723
26724 2010-08-17  Eric Blake  <eblake@redhat.com>
26725
26726         test-stddef: test for (some) offsetof bugs
26727         * tests/test-stddef.c: Enhance test to ensure correct type of
26728         offsetof.
26729         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26730         that we are not fixing at this time.
26731
26732 2010-08-15  Bruno Haible  <bruno@clisp.org>
26733
26734         stpncpy: Allow stpncpy to be defined as a macro.
26735         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26736         if it's already correctly declared.
26737         * lib/string.in.h (stpncpy): Undefine before redefining.
26738         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26739
26740 2010-08-14  Bruno Haible  <bruno@clisp.org>
26741
26742         Rename module 'memxfrm' to 'amemxfrm'.
26743         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26744         (amemxfrm): Renamed from memxfrm.
26745         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26746         (amemxfrm): Renamed from memxfrm.
26747         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26748         * NEWS: Mention the change.
26749         * MODULES.html.sh (String handling <string.h>): Update.
26750         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26751         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26752         * lib/unicase/u16-casexfrm.c: Likewise.
26753         * lib/unicase/u32-casexfrm.c: Likewise.
26754         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26755         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26756         * lib/uninorm/u16-normxfrm.c: Likewise.
26757         * lib/uninorm/u32-normxfrm.c: Likewise.
26758         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26759         memxfrm.
26760         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26761         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26762         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26763         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26764         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26765         Suggested by Paul Eggert.
26766
26767 2010-08-14  Bruno Haible  <bruno@clisp.org>
26768
26769         Tests for module 'astrxfrm'.
26770         * modules/astrxfrm-tests: New file.
26771         * tests/test-astrxfrm.c: New file.
26772
26773         New module 'astrxfrm'.
26774         * lib/astrxfrm.h: New file.
26775         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26776         * modules/astrxfrm: New file.
26777
26778 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26779
26780         regex: Tweak doc.
26781         * doc/regex.texi (Overview): Don't mention regex.c.
26782         (GNU Regular Expression Compiling): Likewise.
26783         (Match-end-of-line Operator): Mention 'not_eol'.
26784
26785 2010-08-14  Brian Gough  <bjg@gnu.org>
26786             Bruno Haible  <bruno@clisp.org>
26787
26788         git-merge-changelog: add doc relating to use with bzr and hg.
26789         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26790
26791 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26792
26793         pthread: fix pthread.h creation for srcdir != builddir
26794         * modules/pthread (Makefile.am): Fix the rule to work also in a
26795         non-srcdir build.
26796
26797 2010-08-13  Karl Berry  <karl@gnu.org>
26798
26799         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26800         * doc/posix-*/*: force line break before @url of POSIX
26801         specifications.
26802         Suggested by Werner Lemberg.
26803
26804 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26805
26806         strtod: fix const diagnostic
26807         * lib/strtod.c (strtod): Don't assign const char * to char *,
26808         as this elicits a warning from GCC when warnings are enabled.
26809
26810 2010-08-10  Pádraig Brady <P@draigbrady.com>
26811         and Eric Blake  <eblake@redhat.com>
26812
26813         copy-acl: ignore ENOTSUP on HP-UX
26814         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26815         so that it is available for HP-UX.
26816         * lib/copy-acl.c (qcopy_acl): Use it.
26817         Reported by Patrick M. Callahan.
26818
26819 2010-08-10  Eric Blake  <eblake@redhat.com>
26820
26821         open, chown: relax license
26822         * modules/open (License): Change to LGPLv2+, with consent by all
26823         authors, for use in augeas.
26824         * modules/chown (License): Likewise.
26825         * modules/lchown (Likewise): Likewise.
26826         Requested by Adam Stokes.
26827
26828 2010-08-09  Karl Berry  <karl@gnu.org>
26829
26830         * build-aux/ar-lib: new file, import from Automake.
26831         * config/srclist.txt: autocheck for updates.
26832
26833 2010-08-09  Eric Blake  <eblake@redhat.com>
26834
26835         readlinkat: adjust client modules
26836         * modules/areadlinkat (Depends-on): Use readlinkat, not
26837         symlinkat.
26838         * modules/areadlinkat-with-size (Depends-on): Likewise.
26839
26840         mknod: be more vocal about danger of running tests as root
26841         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26842         root, since that is just asking for problems.
26843         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26844
26845         readlinkat: split into its own module
26846         * modules/symlinkat: Split readlinkat...
26847         * modules/readlinkat: ...into separate module.
26848         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26849         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26850         * lib/symlinkat.c (readlinkat): Move...
26851         * lib/readlinkat.c: ...into new file.
26852         * modules/symlinkat-tests: Split readlinkat test...
26853         * modules/readlinkat-tests: ...into separate module.
26854         * tests/test-symlinkat.c: Split...
26855         * tests/test-readlinkat.c: ...into new file.
26856         * NEWS: Document the split.
26857         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26858         * lib/unistd.in.h (readlinkat): Likewise.
26859         Suggested by Bruno Haible.
26860
26861 2010-08-08  Bruno Haible  <bruno@clisp.org>
26862
26863         memxfrm: Speed up.
26864         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26865         that usually only one call to strxfrm is necessary for each string
26866         part.
26867         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26868
26869 2010-08-07  Karl Berry  <karl@gnu.org>
26870
26871         * doc/posix-headers/limits.texi,
26872         * doc/posix-functions/malloc.texi,
26873         * doc/posix-functions/strsignal.texi: missing @item.
26874         * doc/ld-version-script.texi: spurious leading i.
26875         * doc/regex.texi (Interval Operators): no commas inside @var.
26876
26877 2010-08-01  Bruno Haible  <bruno@clisp.org>
26878
26879         Integrate the regex documentation.
26880         * doc/gnulib.texi: Define 'cn' index.
26881         (Regular expressions): New a chapter that includes regex.texi and
26882         regexprops-generic.texi.
26883         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26884         syntax.
26885
26886         Whitespace cleanup.
26887         * doc/regex.texi: Remove trailing spaces.
26888
26889         Add regex documentation.
26890         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26891         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26892         Written by Kathy A. Hargreaves and Karl Berry.
26893
26894 2010-08-01  Bruno Haible  <bruno@clisp.org>
26895
26896         link: Update documentation.
26897         * doc/posix-functions/link.texi: Update regarding Solaris.
26898
26899 2010-07-31  Bruno Haible  <bruno@clisp.org>
26900
26901         Update modules list.
26902         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26903         (String handling <string.h>): Add memcmp2, memxfrm.
26904         (Container data structures): Add xlist, xsublist, xoset.
26905         (Core language properties): Add alignof, unused-parameter.
26906         (Process control, Numeric conversion functions <stdlib.h>): Renamed
26907         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
26908         (Unibyte characters <ctype.h>): New section.
26909         (String handling <string.h>): New section.
26910         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
26911         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
26912         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
26913         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
26914         tan, tanh, tanl, y0, y1, yn.
26915         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
26916         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
26917         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
26918         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
26919         unlockpt, vdprintf, vdprintf-posix.
26920         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
26921         (File system functions): Add concat-filename, sys_file, sys_ioctl,
26922         xconcat-filename.
26923         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
26924         getdtablesize, pipe2, pipe2-safer.
26925         (Security): New section.
26926         (Networking functions): Add accept4.
26927         (Signal handling): Add sigpipe.
26928         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
26929         mbmemcasecoll.
26930         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
26931         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
26932         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
26933         pipe-filter-ii.
26934         (Misc): Add argp-version-etc, login_tty, parse-duration.
26935
26936 2010-07-31  Bruno Haible  <bruno@clisp.org>
26937
26938         Improve doc in MODULES.html.
26939         * modules/linkat (Description): Add the word "function".
26940         * modules/mkfifo (Description): Likewise.
26941         * modules/mknod (Description): Likewise.
26942         * modules/remove (Description): Likewise.
26943         * modules/renameat (Description): Likewise.
26944         * modules/stat (Description): Likewise.
26945         * modules/symlink (Description): Likewise.
26946         * modules/unlink (Description): Likewise.
26947
26948 2010-07-31  Bruno Haible  <bruno@clisp.org>
26949
26950         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
26951         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
26952         option --enable/disable-c++ instead of --enable/disable-cxx.
26953         * NEWS: Mention the change.
26954
26955 2010-07-31  Bruno Haible  <bruno@clisp.org>
26956
26957         readlink, areadlink: Relax test a bit.
26958         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
26959         alternative to ENOTDIR.
26960         * tests/test-areadlink.h (test_areadlink): Likewise.
26961         Reported by Rainer Tammer.
26962
26963 2010-07-31  Bruno Haible  <bruno@clisp.org>
26964
26965         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
26966         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
26967         character, perform the search using U_STRCHR.
26968         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
26969         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
26970         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
26971         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
26972         Suggested by Paolo Bonzini.
26973
26974 2010-07-31  Bruno Haible  <bruno@clisp.org>
26975
26976         unistr/u*-strstr: Fix dependencies.
26977         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
26978         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
26979         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
26980
26981 2010-07-31  Bruno Haible  <bruno@clisp.org>
26982
26983         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
26984         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
26985         the beginning of the loop.
26986         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
26987         cases in 'switch' statement.
26988
26989         unistr/u8-strchr: Fix several bugs.
26990         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
26991         the string. When not found, return NULL, not a pointer near the end.
26992
26993         More tests for unistr/u8-strchr.
26994         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
26995         that the function does not read past the first occurrence of the byte
26996         being searched.
26997         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
26998         * tests/unistr/test-u16-strchr.c (main): New function.
26999         * tests/unistr/test-u32-strchr.c (main): New function.
27000
27001 2010-07-31  Bruno Haible  <bruno@clisp.org>
27002
27003         posix-modules: Ignore backup files of documentation files.
27004         * posix-modules: grep only through files named *.texi.
27005
27006 2010-07-31  Bruno Haible  <bruno@clisp.org>
27007
27008         symlinkat: Fix documentation.
27009         * doc/posix-functions/readlinkat.texi: Fix module name.
27010
27011 2010-07-31  Bruno Haible  <bruno@clisp.org>
27012
27013         fchownat: Replace also when chown has the trailing slash bug.
27014         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27015         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27016         introduced on 2010-04-10.
27017         Reported by Rainer Tammer.
27018
27019 2010-07-31  Bruno Haible  <bruno@clisp.org>
27020
27021         linkat: Work around AIX 7.1 bug.
27022         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27023         whether linkat handles trailing slash correctly. If not, replace linkat
27024         and define LINKAT_TRAILING_SLASH_BUG.
27025         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27026         check whether (fd1,file1) points to a directory if file1 or file2 ends
27027         in a slash. Code taken from lib/link.c.
27028         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27029         Reported by Rainer Tammer.
27030
27031 2010-07-31  Bruno Haible  <bruno@clisp.org>
27032
27033         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27034         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27035         This disables an xlc optimization that was causing wrong test results.
27036         Reported by Rainer Tammer.
27037
27038 2010-07-31  Bruno Haible  <bruno@clisp.org>
27039
27040         iconv: Work around AIX 6.1..7.1 bug.
27041         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27042         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27043         cross-compiling, guess no on all versions of AIX.
27044         Reported by Rainer Tammer.
27045
27046 2010-07-31  Bruno Haible  <bruno@clisp.org>
27047
27048         readlink: Relax test a bit.
27049         * tests/test-readlink.h (test_readlink): Allow different errno value
27050         when readlink is called with a file name that ends in / and refers to
27051         a file.
27052         Suggested by Eric Blake.
27053         Reported by Rainer Tammer.
27054
27055 2010-07-31  Bruno Haible  <bruno@clisp.org>
27056
27057         copysign: Does not require -lm on glibc systems.
27058         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27059         gl_COMMON_DOUBLE_MATHFUNC.
27060         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27061
27062 2010-07-31  Bruno Haible  <bruno@clisp.org>
27063
27064         duplocale: Work around AIX 7.1 bug.
27065         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27066         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27067         * lib/duplocale.c (rpl_duplocale): Update comment.
27068         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27069         Reported by Rainer Tammer.
27070
27071 2010-07-30  Bruno Haible  <bruno@clisp.org>
27072
27073         dirfd: Avoid link error on AIX 7.1.
27074         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27075         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27076         exist, set REPLACE_DIRFD.
27077         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27078         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27079         * doc/posix-functions/dirfd.texi: Update.
27080         Reported by Rainer Tammer.
27081
27082 2010-07-30  Eric Blake  <eblake@redhat.com>
27083
27084         strtod: next round of AIX fixes
27085         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27086         exponent.
27087         * tests/test-strtod.c (main): Enhance tests.
27088         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27089         Reported by Rainer Tammer.
27090
27091         futimens: fix configure check
27092         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27093         Reported by Bruno Haible.
27094
27095 2010-07-30  Bruno Haible  <bruno@clisp.org>
27096
27097         getline: Update regarding AIX.
27098         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27099         Reported by Rainer Tammer.
27100
27101 2010-07-30  Bruno Haible  <bruno@clisp.org>
27102
27103         wcwidth: Drop replacement on AIX 7.
27104         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27105         AIX 7.
27106         Reported by Rainer Tammer.
27107
27108 2010-07-30  Bruno Haible  <bruno@clisp.org>
27109
27110         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27111         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27112         a 'char *'.
27113         Reported by Rainer Tammer.
27114
27115 2010-07-30  Bruno Haible  <bruno@clisp.org>
27116
27117         unlink: Update regarding AIX.
27118         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27119         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27120         Reported by Rainer Tammer.
27121
27122 2010-07-30  Bruno Haible  <bruno@clisp.org>
27123
27124         symlink: Update regarding AIX.
27125         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27126         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27127         Reported by Rainer Tammer.
27128
27129 2010-07-30  Bruno Haible  <bruno@clisp.org>
27130
27131         strndup: Update regarding AIX.
27132         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27133         AIX 7.
27134         Reported by Rainer Tammer.
27135
27136 2010-07-30  Bruno Haible  <bruno@clisp.org>
27137
27138         stat: Update regarding AIX.
27139         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27140         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27141         Reported by Rainer Tammer.
27142
27143 2010-07-30  Bruno Haible  <bruno@clisp.org>
27144
27145         truncl: Fix autoconf test.
27146         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27147         whether truncl works.
27148         Reported by Rainer Tammer.
27149
27150 2010-07-30  Bruno Haible  <bruno@clisp.org>
27151
27152         round: Update regarding AIX.
27153         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27154         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27155         Reported by Rainer Tammer.
27156
27157 2010-07-30  Bruno Haible  <bruno@clisp.org>
27158
27159         rename: Update regarding AIX.
27160         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27161         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27162         Reported by Rainer Tammer.
27163
27164 2010-07-30  Bruno Haible  <bruno@clisp.org>
27165
27166         printf.m4: Update regarding AIX.
27167         * m4/printf.m4: Update comments regarding AIX.
27168         Reported by Rainer Tammer.
27169
27170 2010-07-30  Bruno Haible  <bruno@clisp.org>
27171
27172         iconv: Update regarding AIX.
27173         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27174         AIX 7.
27175         Reported by Rainer Tammer.
27176
27177 2010-07-30  Bruno Haible  <bruno@clisp.org>
27178
27179         getopt: Update regarding AIX.
27180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27181         no on AIX.
27182         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27183         Reported by Rainer Tammer.
27184
27185 2010-07-30  Bruno Haible  <bruno@clisp.org>
27186
27187         ldexpl; Update regarding AIX.
27188         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27189         on AIX 7.
27190         Reported by Rainer Tammer.
27191
27192 2010-07-30  Bruno Haible  <bruno@clisp.org>
27193
27194         frexpl: Update regarding AIX.
27195         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27196         on AIX 7.
27197         Reported by Rainer Tammer.
27198
27199 2010-07-30  Bruno Haible  <bruno@clisp.org>
27200
27201         open, fopen: Update regarding AIX.
27202         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27203         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27204         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27205         * doc/posix-functions/fopen.texi: Likewise.
27206         Reported by Rainer Tammer.
27207
27208 2010-07-30  Bruno Haible  <bruno@clisp.org>
27209
27210         chown: Update doc regarding AIX.
27211         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27212         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27213         Reported by Rainer Tammer.
27214
27215 2010-07-30  Eric Blake  <eblake@redhat.com>
27216
27217         strtod: fix bug in replacement function on AIX
27218         * lib/strtod.c (strtod): Special case broken "0x" parse in
27219         underlying strtod.
27220         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27221         * doc/posix-functions/strtod.texi (strtod): Likewise.
27222         Reported by Rainer Tammer.
27223
27224 2010-07-30  Bruno Haible  <bruno@clisp.org>
27225
27226         mbrlen: Fix cross-compilation guess for AIX.
27227         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27228         guess. Leftover from 2008-12-22.
27229
27230 2010-07-30  Bruno Haible  <bruno@clisp.org>
27231
27232         mbrtowc: Fix cross-compilation guess for AIX.
27233         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27234         guess. Leftover from 2008-12-21.
27235
27236 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27237
27238         init.sh: work around trap limitation of some shells
27239         * tests/init.sh (setup_): Move exit trap outside of shell function.
27240
27241 2010-07-29  Eric Blake  <eblake@redhat.com>
27242
27243         strtod: aid debugging
27244         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27245         understanding why strtod is rejected.
27246
27247 2010-07-28  Bruno Haible  <bruno@clisp.org>
27248
27249         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27250         * lib/unistr/u8-chr.c: Include <string.h>.
27251         * tests/unistr/test-u8-chr.c: Likewise.
27252         * tests/unistr/test-u16-chr.c: Likewise.
27253         * tests/unistr/test-u32-chr.c: Likewise.
27254         * tests/unistr/test-u8-strchr.c: Likewise.
27255         * tests/unistr/test-u16-strchr.c: Likewise.
27256         * tests/unistr/test-u32-strchr.c: Likewise.
27257         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27258         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27259         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27260         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27261
27262 2010-07-28  Bruno Haible  <bruno@clisp.org>
27263
27264         Use spaces for indentation, not tabs.
27265         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27266
27267 2010-07-27  Bruno Haible  <bruno@clisp.org>
27268
27269         mbspcasecmp: Fix function specification.
27270         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27271         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27272         Reported by Eric Blake <eblake@redhat.com>.
27273
27274 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27275
27276         timespec: use cast and not conditional, as truncation isn't possible
27277         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27278         instead of a conditional.  Comment about the situation in more detail.
27279         This undoes most of the 2009-10-29 patch.
27280
27281 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27282
27283         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27284         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27285         * lib/unistr/u8-strchr.c: Likewise.
27286         * modules/unistr/u8-chr: Depend on memchr.
27287
27288         unistr/u*-strchr: add tests
27289         * modules/unistr/u8-strchr-tests: New file.
27290         * modules/unistr/u16-strchr-tests: New file.
27291         * modules/unistr/u32-strchr-tests: New file.
27292         * tests/unistr/test-strchr.h: New file.
27293         * tests/unistr/test-u8-strchr.c: New file.
27294         * tests/unistr/test-u16-strchr.c: New file.
27295         * tests/unistr/test-u32-strchr.c: New file.
27296
27297         unistr/u*-chr: test multibyte sequences more
27298         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27299         test vector.
27300         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27301         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27302         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27303
27304         unistr/u*-chr: test multibyte sequences
27305         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27306
27307         unistr/u*-chr: prepare for multibyte tests
27308         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27309         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27310         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27311         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27312         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27313         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27314
27315 2010-07-18  Bruno Haible  <bruno@clisp.org>
27316
27317         unistr/u8-strchr: Optimize non-ASCII argument case.
27318         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27319         because the first byte often matches anyway.
27320         Reported by Pádraig Brady <P@draigbrady.com>.
27321
27322 2010-07-15  Karl Berry  <karl@gnu.org>
27323
27324         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27325
27326 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27327
27328         getcwd: on Solaris, work better if ancestors are inaccessible
27329         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27330         buffer and size, try again with a large buffer.  This works better
27331         on Solaris, since its getcwd succeeds even if the path to the root
27332         is inaccessible, and this is helpful in common cases such as .zfs
27333         hidden directories.  Problem reported by J Chapman Flack in
27334         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27335         Use system getcwd if it's declared, not merely if it's partly
27336         working; use the partly-working test only to avoid needless effort
27337         if the system getcwd fails.
27338         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27339         comment that was already obsolete and is now even more obsolete.
27340         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27341         now might call strdup.
27342
27343 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27344
27345         pthread: Add enough so that coreutils/src/sort.c compiles.
27346         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27347         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27348         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27349         Include <sys/types.h>, in case it defines pthread_t.
27350         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27351         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27352         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27353         (pthread_rwlockattr_t, pthread_spinlock_t):
27354         New typedefs, if HAVE_PTHREAD_T is not defined.
27355         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27356         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27357         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27358         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27359         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27360         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27361         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27362         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27363         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27364         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27365         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27366         New macros.
27367         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27368         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27369         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27370         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27371         (pthread_spin_unlock): New dummy functions.
27372         (pthread_create): Return EAGAIN; don't set errno.
27373         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27374         require AC_C_INLINE.
27375         * modules/pthread (Depends-on): Add sched, time.
27376         (pthread.h): Use AM_V_GEN.
27377
27378 2010-07-13  Bruno Haible  <bruno@clisp.org>
27379
27380         striconveh: Don't malloc memory if the result buffer is sufficient.
27381         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27382         buffer if its size is sufficient.
27383         Reported by Ludovic Courtès <ludo@gnu.org>.
27384
27385 2010-07-13  Bruno Haible  <bruno@clisp.org>
27386
27387         strtod: Add safety check.
27388         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27389
27390 2010-07-12  Bruno Haible  <bruno@clisp.org>
27391
27392         Unify tests that set gl_cv_func_ldexpl_no_libm.
27393         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
27394         gl_FUNC_LDEXPL.
27395         (gl_FUNC_LDEXPL): Invoke it.
27396         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27397
27398 2010-07-12  Bruno Haible  <bruno@clisp.org>
27399
27400         Unify tests that set gl_cv_func_ldexp_no_libm.
27401         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
27402         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
27403         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
27404         (configure.ac): Simply invoke gl_FUNC_LDEXP.
27405         * modules/strtod (Files): Add m4/ldexp.m4.
27406
27407 2010-07-12  Bruno Haible  <bruno@clisp.org>
27408
27409         Unify tests that set gl_cv_func_frexpl_no_libm.
27410         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
27411         gl_FUNC_FREXPL_NO_LIBM.
27412         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
27413         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27414
27415 2010-07-12  Bruno Haible  <bruno@clisp.org>
27416
27417         Unify tests that set gl_cv_func_frexp_no_libm.
27418         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
27419         gl_FUNC_FREXP_NO_LIBM.
27420         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
27421         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27422
27423 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27424
27425         memcoll: clarify sizes versus lengths, document better, and tweak perf
27426         * lib/memcoll.c (strcoll_loop, memcoll0):
27427         Improve quality of descriptive comments.  Name variables
27428         consistently as to whether they are lengths (which do not include
27429         terminating null) versus sizes (which do).
27430         * lib/xmemcoll.c (xmemcoll0): Likewise.
27431         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
27432         returned when s1size == 0; this is easier to compile and saves
27433         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
27434
27435 2010-07-12  Bruno Haible  <bruno@clisp.org>
27436
27437         Tests for module '_Exit'.
27438         * modules/_Exit-tests: New file.
27439         * tests/test-_Exit.sh: New file.
27440         * tests/test-_Exit.c: New file.
27441
27442         New module '_Exit'.
27443         * lib/stdlib.in.h (__attribute__): New macro.
27444         (_Exit): New declaration.
27445         * lib/_Exit.c: New file.
27446         * m4/_Exit.m4: New file.
27447         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
27448         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
27449         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
27450         * modules/_Exit: New file.
27451         * tests/test-stdlib-c++.cc (_Exit): Check signature.
27452         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
27453
27454 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27455
27456         strtod: make it more-accurate typically, and don't require libm
27457         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
27458         Include limits.h.  Don't include string.h.
27459         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
27460         (locale_isspace): New function, so that no casts are needed to
27461         check whether *s is a space.
27462         (ldexp): Provide an unused dummy if not available.
27463         (scale_radix_exp, parse_number, underlying_strtod): New functions.
27464         (strtod): Use them.  This implementation prefers to use the
27465         underlying strtod if available, falling back on our own code
27466         only to fix known bugs.  This is more likely to produce an
27467         accurate result.  Also, it avoids the use of libm functions.
27468         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
27469         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
27470         was absent, but it caused a test failure with coreutils.
27471         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
27472         with libm.
27473         * modules/strtod (Makefile.am, Link): libm is no longer needed.
27474         * modules/strtod-tests (Makefile.am): Likewise.
27475
27476 2010-07-11  Pádraig Brady  <P@draigBrady.com>
27477             Bruno Haible  <bruno@clisp.org>
27478
27479         unistr/u8-strchr: Optimize ASCII argument case.
27480         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
27481
27482 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27483
27484         (x)memcoll: minor tweaks
27485         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
27486         is after the type that it qualifies.
27487         (memcoll0): Likewise.
27488         * lib/memcoll.h (memcoll0): Likewise.
27489         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
27490         * lib/xmemcoll.h (xmemcoll0): Likewise.
27491         * lib/memcoll.c (memcoll0): Correct the comment.  This function
27492         differs from memcoll in that the NUL byte is part of the argument.
27493         Omit the abort-checks, as performance is a real issue here.  Plus,
27494         the checks were wrong anyway (an off-by-one error).  Omit local
27495         variable 'diff', as it's a bit clearer that way.
27496         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
27497         no longer needed.
27498
27499 2010-07-08  Chen Guo <chenguo4@yahoo.com>
27500
27501         (x)memcoll: speedup when input is known to be NUL delimited
27502         * lib/memcoll.c: Include stdlib.
27503         (memcoll0): New function.
27504         (strcoll_loop): New function, refactored for use in both memcoll
27505         and memcoll0.
27506         * lib/memcoll.h (memcoll0): Add prototype.
27507         * lib/xmemcoll.c (xmemcoll0): New function.
27508         (collate_error): New function, refactored for use in both xmemcoll
27509         and xmemcoll0.
27510         * lib/xmemcoll.h (xmemcoll0): Add prototype.
27511         * m4/memcoll.m4: add inline invocation.
27512
27513 2010-07-06  Pádraig Brady  <P@draigBrady.com>
27514
27515         * build-aux/bootstrap: Remove any local translations
27516         from the translation project synchronization directory,
27517         so that local only translations are not distributed.
27518
27519 2010-07-04  Bruno Haible  <bruno@clisp.org>
27520
27521         fsusage: Clarify which code applies to which platforms.
27522         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
27523         platform.
27524         * lib/fsusage.c (get_fs_usage): Likewise.
27525
27526 2010-07-04  Bruno Haible  <bruno@clisp.org>
27527
27528         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
27529         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
27530         Reported by Martin Lambers <marlam@marlam.de>.
27531
27532 2010-07-04  Jim Meyering  <meyering@redhat.com>
27533
27534         hash: once again explicitly disallow insertion of NULL
27535         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27536         inserting a NULL pointer cannot work with these functions.
27537         Add a comment with details.
27538         This reverts part of the 2010-07-01 commit, 5bef1a35
27539         "hash: extend module to deal with non-pointer keys".
27540
27541 2010-07-01  Bruno Haible  <bruno@clisp.org>
27542
27543         stdbool: Update doc.
27544         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27545         Info from Christian Weisgerber <naddy@mips.inka.de>.
27546
27547 2010-07-01  Jim Meyering  <meyering@redhat.com>
27548
27549         hash: extend module to deal with non-pointer keys
27550         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27551         but that allows insertion of non-pointer entries.
27552         Do not disallow an ENTRY value of NULL.
27553         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27554         * lib/hash.h (hash_insert0): Declare.
27555
27556 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27557
27558         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27559         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27560         not present (i.e. with autoconf 2.59 and when using gettextize, not
27561         gnulib), require AC_GNU_SOURCE instead.
27562
27563 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27564
27565         idpriv-drop: Fix tests.
27566         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27567         not to the test-idpriv-droptemp program.
27568
27569 2010-06-29  Bruno Haible  <bruno@clisp.org>
27570
27571         string: Fix syntax error with g++ 2.96.
27572         * lib/string.in.h (__pure__): Remove definition.
27573         (_GL_ATTRIBUTE_PURE): New macro.
27574         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27575         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27576         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27577
27578 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27579
27580         unitypes: Fix bug introduced on 2010-05-18.
27581         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27582
27583 2010-06-22  Eric Blake  <eblake@redhat.com>
27584
27585         memmem: slight optimization
27586         * lib/str-two-way.h (critical_factorization): Update comments.
27587         Reduce work during factorization phase.
27588         Reported by Carlos Bueno <carlos@bueno.org>.
27589
27590 2010-06-21  Bruno Haible  <bruno@clisp.org>
27591
27592         Fix HAVE_CALLOC_POSIX misnomer.
27593         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27594         !HAVE_CALLOC_POSIX.
27595         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27596         HAVE_CALLOC_POSIX.
27597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27598         instead of HAVE_CALLOC_POSIX.
27599         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27600         HAVE_CALLOC_POSIX.
27601
27602         Use modern idiom for calloc() replacement.
27603         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27604         AC_FUNC_CALLOC.
27605         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27606         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27607         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27608         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27609         (gl_REPLACE_CALLOC): New macro.
27610
27611 2010-06-21  Bruno Haible  <bruno@clisp.org>
27612
27613         Fix HAVE_REALLOC_POSIX misnomer.
27614         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27615         !HAVE_REALLOC_POSIX.
27616         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27617         HAVE_REALLOC_POSIX.
27618         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27619         instead of HAVE_REALLOC_POSIX.
27620         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27621         HAVE_REALLOC_POSIX.
27622
27623         Use modern idiom for realloc() replacement.
27624         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27625         AC_FUNC_REALLOC.
27626         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27627         Autoconf's AC_FUNC_REALLOC.
27628         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27629         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27630         (gl_REPLACE_REALLOC): New macro.
27631         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27632
27633 2010-06-21  Bruno Haible  <bruno@clisp.org>
27634
27635         Fix HAVE_MALLOC_POSIX misnomer.
27636         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27637         !HAVE_MALLOC_POSIX.
27638         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27639         HAVE_MALLOC_POSIX.
27640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27641         instead of HAVE_MALLOC_POSIX.
27642         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27643         HAVE_MALLOC_POSIX.
27644
27645         Use modern idiom for malloc() replacement.
27646         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27647         AC_FUNC_MALLOC.
27648         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27649         Autoconf's AC_FUNC_MALLOC.
27650         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27651         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27652         (gl_REPLACE_MALLOC): New macro.
27653         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27654
27655 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27656
27657         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27658         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27659         This macro takes 3 arguments, not 4.
27660
27661 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27662
27663         ipv6: fix detection under mingw
27664         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27665         in6_addr.
27666
27667 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27668
27669         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27670         that strtod() works when cross-compiling to a glibc version known
27671         to work.
27672
27673 2010-06-15  Bruno Haible  <bruno@clisp.org>
27674
27675         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27676
27677 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27678
27679         select: Correct timeout.
27680         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27681
27682 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27683
27684         git-version-gen: init shell var to avoid env var influence
27685         * build-aux/git-version-gen (v): Init shell var to empty.
27686
27687 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27688
27689         priv-set: Don't assume that priv.h exists merely because getppriv does.
27690         See Jan Andersen's bug report about AIX 5L in
27691         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27692         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27693         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27694         * lib/priv-set.h: Likewise.
27695         * tests/test-priv-set.c: Likewise.
27696
27697 2010-06-13  Bruno Haible  <bruno@clisp.org>
27698
27699         relocatable: Make it easier to test whether to install wrappers.
27700         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27701         RELOCATABLE_VIA_WRAPPER.
27702
27703 2010-06-13  Bruno Haible  <bruno@clisp.org>
27704
27705         gnulib-tool: Display specified modules and dependencies differently.
27706         * gnulib-tool (func_show_module_list): New function.
27707         (func_import, func_create_testdir): Invoke it.
27708         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27709
27710 2010-06-13  Bruno Haible  <bruno@clisp.org>
27711
27712         gnulib-tool: Align code of func_import and func_create_testdir.
27713         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27714         specified_modules.
27715
27716 2010-06-12  Jim Meyering  <meyering@redhat.com>
27717
27718         test-inttostr: avoid spurious failure on Solaris 9
27719         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27720         to accept "%ju".  Reported by Bruno Haible.
27721
27722 2010-06-11  Jim Meyering  <meyering@redhat.com>
27723
27724         test-sys_socket: mark variables as used more readably
27725         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27726         as "used" explicitly via (void) statement casts.  This is more
27727         readable than using them in an artificial return expression.
27728         Suggestion from Bruno Haible.
27729
27730 2010-06-11  Bruno Haible  <bruno@clisp.org>
27731
27732         Avoid some more warnings from "gcc -Wwrite-strings".
27733         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27734         to 'const char *'.
27735         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27736         * tests/test-c-strcasestr.c (main): Likewise.
27737         * tests/test-mbscasestr1.c (main): Likewise.
27738         * tests/test-mbscasestr2.c (main): Likewise.
27739         * tests/test-memmem.c (main): Likewise.
27740         * tests/test-strstr.c (main): Likewise.
27741         * tests/test-strcasestr.c (main): Likewise.
27742
27743 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27744
27745         init.sh: change framework_failure_ to fail with status 99, not 1
27746         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27747         automake's parallel-tests rule that this is an unexpected failure,
27748         even if the test is listed in XFAIL_TESTS.
27749
27750 2010-06-11  Jim Meyering  <meyering@redhat.com>
27751
27752         test-inttostr: avoid warnings about 4-6KB literal strings
27753         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27754         Include "macros.h", for its definition of ASSERT.
27755         (CK): s/assert/ASSERT/
27756         * modules/inttostr-tests (Files): Add macros.h.
27757
27758         init.sh: don't use $ME_ or skip_ before they are defined
27759         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27760         their first uses.  Also hoist their companions: warn_, fail_,
27761         framework_failure_, $stderr_fileno.  Prompted by a patch from
27762         Stefano Lattarini.
27763
27764         test-sys_socket: avoid set-but-not-used warnings from gcc
27765         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27766         avoid warning about set-but-not-used variables.
27767
27768         test-xvasprintf: avoid 'const' discard warnings
27769         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27770         "const" when assigning from literal strings.
27771         (test_xasprintf): Add "void" in function argument list to placate
27772         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27773
27774         tests: avoid compilation warnings in argmatch and exclude tests...
27775         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27776         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27777         Since it always exits, declare with the "noreturn" attribute.
27778         * tests/test-argmatch.c: Likewise.
27779
27780         tests: avoid 'const' discard warnings in mbsstr tests
27781         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27782         * tests/test-mbsstr2.c (main): Likewise.
27783
27784         test-verify: avoid warning from gcc's -Wmissing-declarations
27785         * tests/test-verify.c (function): Declare to be static.
27786
27787         test-inttostr.c: include <string.h> for use of strcmp
27788         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27789
27790         test-linkat: avoid failed assertion on "other" architectures
27791         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27792         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27793         sparc: https://bugs.launchpad.net/bugs/591968
27794
27795 2010-06-11  Jim Meyering  <meyering@redhat.com>
27796
27797         printf.m4: avoid autoconf's "Expanded Before Required" warning
27798         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27799         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27800         autoconf warning.
27801
27802 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27803
27804         Replacement header templates are now named with ".in", not "_".
27805         * doc/gnulib-intro.texi: Correct.
27806
27807 2010-06-10  Jim Meyering  <meyering@redhat.com>
27808
27809         inttostr-tests: depend on snprintf, not snprintf-posix
27810         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27811         snprintf-posix, to avoid this aclocal failure:
27812           missing file gnulib-tests/vasnprintf.c
27813           configure.ac:45: error: expected source file, required through \
27814           AC_LIBSOURCES, not found
27815
27816 2010-06-10  Jim Meyering  <meyering@redhat.com>
27817
27818         inttostr: add a new function, inttostr, and tests
27819         The namesake function was not available.  The existence of the
27820         template file, inttostr.c makes its addition nontrivial.
27821         * lib/anytostr.c: Rename from inttostr.c.
27822         (anytostr): Rename from inttostr.
27823         * lib/inttostr.c: New file.
27824         * modules/inttostr (Files): Add anytostr.c.
27825         (Makefile.am): Set lib_SOURCES instead of ...
27826         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27827         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27828         * lib/offtostr.c: Likewise.
27829         * lib/uinttostr.c: Likewise.
27830         * lib/umaxtostr.c: Likewise.
27831         * modules/inttostr-tests: New file.
27832         * tests/test-inttostr.c: New file.  Test these functions.
27833
27834 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27835             Bruno Haible  <bruno@clisp.org>
27836
27837         Add "Extending Gnulib" chapter to manual.
27838         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27839         chapter.
27840         (Extending Gnulib): New chapter.
27841         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27842         chapter.
27843
27844 2010-06-09  Bruno Haible  <bruno@clisp.org>
27845
27846         Avoid relocwrapper link errors due to gnulib replacement functions.
27847         * lib/areadlink.c: Use the system's malloc, realloc functions.
27848         (areadlink): Set errno to ENOMEM explicitly.
27849         * modules/areadlink (Depends-on): Remove malloc-posix.
27850         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27851
27852 2010-06-09  Bruno Haible  <bruno@clisp.org>
27853
27854         Avoid relocwrapper link errors due to gnulib replacement functions.
27855         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27856         * lib/malloca.c: Likewise.
27857         * lib/relocatable.c: Likewise.
27858         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27859         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27860         * lib/setenv.c: Use the system's malloc, realloc functions.
27861         * lib/strerror.c: Use the system's sprintf function.
27862         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27863
27864 2010-06-04  Bruno Haible  <bruno@clisp.org>
27865
27866         Prefer documented low-level autoconf macro names.
27867         * m4/lib-link.m4: Use m4_translit instead of translit.
27868         * m4/environ.m4: Likewise.
27869         * m4/mathfunc.m4: Likewise.
27870         * m4/onceonly.m4: Likewise.
27871         * m4/stdint.m4: Likewise.
27872         Suggested by Eric Blake.
27873
27874 2010-06-04  Martin Lambers  <marlam@marlam.de>
27875             Bruno Haible  <bruno@clisp.org>
27876
27877         havelib: Allow library names with '+' characters.
27878         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27879         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27880
27881 2010-06-09  Bruno Haible  <bruno@clisp.org>
27882
27883         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27884         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27885         realloc failed.
27886
27887 2010-06-08  Peter Simons  <simons@cryp.to>
27888
27889         maint.mk: make the news-check rule more configurable
27890         * top/maint.mk (news-check-lines-spec): New variable.
27891         (news-check): Use "sed -n 1,10p" in place of "head".
27892
27893 2010-06-07  Jim Meyering  <meyering@redhat.com>
27894
27895         do-release-commit-and-tag: fix typo in --help
27896         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27897
27898         regex: avoid new dead-code warning with gcc-4.6.0
27899         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27900         if-block containing a while-loop.  It's been unused for at least
27901         5 years.
27902
27903 2010-06-05  Bruno Haible  <bruno@clisp.org>
27904
27905         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
27906         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
27907
27908 2010-06-04  Bruno Haible  <bruno@clisp.org>
27909
27910         Update to GNU gettext 0.18.1.
27911         * modules/gettext (configure.ac): Require gettext infrastructure from
27912         version 0.18.1.
27913
27914 2010-06-03  Bruno Haible  <bruno@clisp.org>
27915
27916         Don't use AC_LIBOBJ with file names in subdirectories.
27917         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
27918         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
27919         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
27920         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
27921         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
27922         gl_LIBUNISTRING_LIBSOURCE.
27923         (Makefile.am): Augment lib_SOURCES here, conditionally.
27924         * NEWS: Drop requirement for Automake option 'subdir-objects'.
27925
27926 2010-06-03  Bruno Haible  <bruno@clisp.org>
27927
27928         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
27929         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
27930         expansion does not end with a newline.
27931         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
27932         unnecessary newline.
27933
27934 2010-06-03  Bruno Haible  <bruno@clisp.org>
27935
27936         Reduce dependencies.
27937         * tests/test-quotearg.h: New file, extracted from
27938         tests/test-quotearg.c.
27939         * tests/test-quotearg-simple.c: New file, extracted from
27940         tests/test-quotearg.c.
27941         * tests/test-quotearg.c: Don't include <ctype.h>.
27942         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
27943         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
27944         use_quote_double_quotes, use_quotearg_colon): Moved to
27945         tests/test-quotearg.h.
27946         (results_g, flag_results, custom_quotes, custom_results): Moved
27947         to tests/test-quotearg-simple.c.
27948         (main): Moved the part that does not depend on gettext to
27949         tests/test-quotearg-simple.c. Return 77 if the test cannot be
27950         performed.
27951         * modules/quotearg-simple: New file.
27952         * modules/quotearg-simple-tests: New file.
27953         * modules/quotearg (Depends-on): Add quotearg-simple.
27954         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
27955         (Files): Add tests/test-quotearg.h.
27956         Reported by Paolo Bonzini.
27957
27958 2010-06-03  Bruno Haible  <bruno@clisp.org>
27959
27960         Reduce dependencies.
27961         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
27962
27963 2010-06-03  Bruno Haible  <bruno@clisp.org>
27964
27965         time: Undefine more broken macros.
27966         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
27967         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
27968         Reported by Eric Blake.
27969
27970 2010-06-03  Bruno Haible  <bruno@clisp.org>
27971
27972         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
27973         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
27974         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
27975         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
27976         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
27977         Reported by Ludovic Courtès <ludo@gnu.org>.
27978
27979 2010-06-02  Eric Blake  <eblake@redhat.com>
27980
27981         time: work with mingw + pthreads-win32 library
27982         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
27983         if timespec is defined only in pthread.h.
27984         * modules/time (Makefile.am): Substitute it.
27985         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
27986         <pthread.h>, when needed.
27987         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
27988         from the library.
27989
27990 2010-05-31  Bruno Haible  <bruno@clisp.org>
27991
27992         Avoid expanding two macros in the wrong order.
27993         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
27994         gl_LIBUNISTRING if it is defined.
27995         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
27996         autoconf >= 2.64.
27997         Reported by Ludovic Courtès <ludo@gnu.org>.
27998
27999 2010-05-27  Jim Meyering  <meyering@redhat.com>
28000
28001         maint.mk: also prohibit "#undef" of always-defined symbols
28002         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28003         Allow more than one space before the symbol name.
28004         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28005         the regexp uses alternation.
28006
28007 2010-05-26  Eric Blake  <eblake@redhat.com>
28008
28009         maint.mk: avoid echo -e
28010         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28011         Convert all uses of echo -* to printf.
28012         Reported by Matthias Bolte.
28013
28014 2010-05-25  Bruno Haible  <bruno@clisp.org>
28015
28016         Update to GNU gettext 0.18, part 2.
28017         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28018         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28019
28020 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28021
28022         Add missing include in test-pwrite.c.
28023         * tests/test-pwrite.c: Include string.h, for strcmp.
28024
28025 2010-05-24  Bruno Haible  <bruno@clisp.org>
28026
28027         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28028
28029 2010-05-24  Bruno Haible  <bruno@clisp.org>
28030
28031         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28032         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28033         iconveh_error argument.
28034         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28035         U_STRCONV_TO_LOCALE.
28036         * lib/unistr/u16-strcoll.c: Likewise.
28037         * lib/unistr/u32-strcoll.c: Likewise.
28038         * modules/unistr/u8-strcoll (Depends-on): Add
28039         uniconv/u8-strconv-to-enc, localcharset. Remove
28040         uniconv/u8-strconv-to-locale.
28041         (configure.ac): Bump version number.
28042         * modules/unistr/u16-strcoll (Depends-on): Add
28043         uniconv/u16-strconv-to-enc, localcharset. Remove
28044         uniconv/u16-strconv-to-locale.
28045         (configure.ac): Bump version number.
28046         * modules/unistr/u32-strcoll (Depends-on): Add
28047         uniconv/u32-strconv-to-enc, localcharset. Remove
28048         uniconv/u32-strconv-to-locale.
28049         (configure.ac): Bump version number.
28050
28051 2010-05-24  Bruno Haible  <bruno@clisp.org>
28052
28053         Avoid a test failure on NetBSD 5.0.
28054         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28055         an iconv() bug.
28056
28057 2010-05-24  Bruno Haible  <bruno@clisp.org>
28058
28059         Adjust #include directive style.
28060         * modules/regex (Includes): Recommend to write <regex.h>.
28061
28062 2010-05-24  Bruno Haible  <bruno@clisp.org>
28063
28064         regex: Don't require alloca.
28065         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28066         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28067         only inside if (0).
28068
28069 2010-05-23  Jim Meyering  <meyering@redhat.com>
28070
28071         test-renameat.c: include <sys/stat.h>
28072         * tests/test-renameat.c: Include <sys/stat.h>; required for
28073         definition of S_IS* macros.
28074
28075 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28076
28077         Update maintainer documentation for 'relocatable-prog' module.
28078         * doc/relocatable-maint.texi: Update.
28079         Comments by Bruno Haible.
28080
28081 2010-05-23  Bruno Haible  <bruno@clisp.org>
28082
28083         git-merge-changelog: Enable --split-merged-entry by default.
28084         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28085         (usage): Don't mention this option any more.
28086         Reported by Ralf Wildenhues.
28087
28088 2010-05-23  Jim Meyering  <meyering@redhat.com>
28089
28090         test-pwrite: do not leave behind a test file named "out"
28091         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28092         The trivial-looking use of init.sh is really necessary.
28093         It ensures that the temporary file, "out", is created in
28094         a temporary directory, and removed upon termination.
28095         * tests/test-pwrite.sh: Re-add file.
28096         * modules/pwrite-tests: Reference it.
28097
28098 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28099
28100         Fix output redirection buglet in init.sh.
28101         * tests/init.sh: Fix redirection of stderr.
28102
28103 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28104
28105         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28106
28107 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28108
28109         * modules/valgrind-tests: New file.
28110         * m4/valgrind-tests.m4: New file.
28111         * doc/valgrind-tests.texi: New file.
28112         * doc/gnulib.texi (Running self-tests under valgrind): New
28113         section.
28114
28115 2010-05-19  Bruno Haible  <bruno@clisp.org>
28116
28117         Clean up dead code in recent commit.
28118         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28119         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28120         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28121         Suggested by Paolo Bonzini.
28122
28123 2010-05-19  Bruno Haible  <bruno@clisp.org>
28124
28125         Avoid valgrind error reports from libunistring.
28126         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28127         * modules/libunistring (Files): Add it.
28128         * modules/libunistring-optional (Files): Likewise.
28129
28130 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28131             Bruno Haible  <bruno@clisp.org>
28132
28133         New module 'libunistring-optional'.
28134         * modules/libunistring-optional: New file.
28135         * m4/libunistring-base.m4: New file.
28136         * m4/libunistring-optional.m4: New file.
28137         * lib/unicase.in.h: Renamed from lib/unicase.h.
28138         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28139         * lib/unictype.in.h: Renamed from lib/unictype.h.
28140         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28141         * lib/uniname.in.h: Renamed from lib/uniname.h.
28142         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28143         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28144         * lib/unistr.in.h: Renamed from lib/unistr.h.
28145         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28146         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28147         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28148         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28149         gl_LIBUNISTRING. If the library was found, determine the installed
28150         version and set LIBUNISTRING_VERSION.
28151         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28152         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28153         handle a configuration option --with-included-libunistring.
28154         * modules/libunistring (Files): Add m4/absolute-header.m4.
28155         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28156         Add m4/libunistring-base.m4.
28157         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28158         (Makefile.am): Build unicase.h from unicase.in.h.
28159         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28160         Add m4/libunistring-base.m4.
28161         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28162         (Makefile.am): Build uniconv.h from uniconv.in.h.
28163         * modules/unictype/base (Files): Use unictype.in.h instead of
28164         unictype.h. Add m4/libunistring-base.m4.
28165         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28166         (Makefile.am): Build unictype.h from unictype.in.h.
28167         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28168         Add m4/libunistring-base.m4.
28169         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28170         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28171         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28172         Add m4/libunistring-base.m4.
28173         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28174         (Makefile.am): Build uniname.h from uniname.in.h.
28175         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28176         Add m4/libunistring-base.m4.
28177         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28178         (Makefile.am): Build uninorm.h from uninorm.in.h.
28179         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28180         unistdio.h. Add m4/libunistring-base.m4.
28181         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28182         (Makefile.am): Build unistdio.h from unistdio.in.h.
28183         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28184         Add m4/libunistring-base.m4.
28185         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28186         (Makefile.am): Build unistr.h from unistr.in.h.
28187         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28188         Add m4/libunistring-base.m4.
28189         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28190         (Makefile.am): Build unitypes.h from unitypes.in.h.
28191         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28192         Add m4/libunistring-base.m4.
28193         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28194         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28195         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28196         uniwidth.h. Add m4/libunistring-base.m4.
28197         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28198         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28199         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28200         instead of augmenting lib_SOURCES.
28201         * modules/unicase/empty-suffix-context: Likewise.
28202         * modules/unicase/locale-language: Likewise.
28203         * modules/unicase/tolower: Likewise.
28204         * modules/unicase/totitle: Likewise.
28205         * modules/unicase/toupper: Likewise.
28206         * modules/unicase/u8-casecmp: Likewise.
28207         * modules/unicase/u8-casecoll: Likewise.
28208         * modules/unicase/u8-casefold: Likewise.
28209         * modules/unicase/u8-casexfrm: Likewise.
28210         * modules/unicase/u8-ct-casefold: Likewise.
28211         * modules/unicase/u8-ct-tolower: Likewise.
28212         * modules/unicase/u8-ct-totitle: Likewise.
28213         * modules/unicase/u8-ct-toupper: Likewise.
28214         * modules/unicase/u8-is-cased: Likewise.
28215         * modules/unicase/u8-is-casefolded: Likewise.
28216         * modules/unicase/u8-is-lowercase: Likewise.
28217         * modules/unicase/u8-is-titlecase: Likewise.
28218         * modules/unicase/u8-is-uppercase: Likewise.
28219         * modules/unicase/u8-prefix-context: Likewise.
28220         * modules/unicase/u8-suffix-context: Likewise.
28221         * modules/unicase/u8-tolower: Likewise.
28222         * modules/unicase/u8-totitle: Likewise.
28223         * modules/unicase/u8-toupper: Likewise.
28224         * modules/unicase/u16-casecmp: Likewise.
28225         * modules/unicase/u16-casecoll: Likewise.
28226         * modules/unicase/u16-casefold: Likewise.
28227         * modules/unicase/u16-casexfrm: Likewise.
28228         * modules/unicase/u16-ct-casefold: Likewise.
28229         * modules/unicase/u16-ct-tolower: Likewise.
28230         * modules/unicase/u16-ct-totitle: Likewise.
28231         * modules/unicase/u16-ct-toupper: Likewise.
28232         * modules/unicase/u16-is-cased: Likewise.
28233         * modules/unicase/u16-is-casefolded: Likewise.
28234         * modules/unicase/u16-is-lowercase: Likewise.
28235         * modules/unicase/u16-is-titlecase: Likewise.
28236         * modules/unicase/u16-is-uppercase: Likewise.
28237         * modules/unicase/u16-prefix-context: Likewise.
28238         * modules/unicase/u16-suffix-context: Likewise.
28239         * modules/unicase/u16-tolower: Likewise.
28240         * modules/unicase/u16-totitle: Likewise.
28241         * modules/unicase/u16-toupper: Likewise.
28242         * modules/unicase/u32-casecmp: Likewise.
28243         * modules/unicase/u32-casecoll: Likewise.
28244         * modules/unicase/u32-casefold: Likewise.
28245         * modules/unicase/u32-casexfrm: Likewise.
28246         * modules/unicase/u32-ct-casefold: Likewise.
28247         * modules/unicase/u32-ct-tolower: Likewise.
28248         * modules/unicase/u32-ct-totitle: Likewise.
28249         * modules/unicase/u32-ct-toupper: Likewise.
28250         * modules/unicase/u32-is-cased: Likewise.
28251         * modules/unicase/u32-is-casefolded: Likewise.
28252         * modules/unicase/u32-is-lowercase: Likewise.
28253         * modules/unicase/u32-is-titlecase: Likewise.
28254         * modules/unicase/u32-is-uppercase: Likewise.
28255         * modules/unicase/u32-prefix-context: Likewise.
28256         * modules/unicase/u32-suffix-context: Likewise.
28257         * modules/unicase/u32-tolower: Likewise.
28258         * modules/unicase/u32-totitle: Likewise.
28259         * modules/unicase/u32-toupper: Likewise.
28260         * modules/unicase/ulc-casecmp: Likewise.
28261         * modules/unicase/ulc-casecoll: Likewise.
28262         * modules/unicase/ulc-casexfrm: Likewise.
28263         * modules/uniconv/u8-conv-from-enc: Likewise.
28264         * modules/uniconv/u8-conv-to-enc: Likewise.
28265         * modules/uniconv/u8-strconv-from-enc: Likewise.
28266         * modules/uniconv/u8-strconv-from-locale: Likewise.
28267         * modules/uniconv/u8-strconv-to-enc: Likewise.
28268         * modules/uniconv/u8-strconv-to-locale: Likewise.
28269         * modules/uniconv/u16-conv-from-enc: Likewise.
28270         * modules/uniconv/u16-conv-to-enc: Likewise.
28271         * modules/uniconv/u16-strconv-from-enc: Likewise.
28272         * modules/uniconv/u16-strconv-from-locale: Likewise.
28273         * modules/uniconv/u16-strconv-to-enc: Likewise.
28274         * modules/uniconv/u16-strconv-to-locale: Likewise.
28275         * modules/uniconv/u32-conv-from-enc: Likewise.
28276         * modules/uniconv/u32-conv-to-enc: Likewise.
28277         * modules/uniconv/u32-strconv-from-enc: Likewise.
28278         * modules/uniconv/u32-strconv-from-locale: Likewise.
28279         * modules/uniconv/u32-strconv-to-enc: Likewise.
28280         * modules/uniconv/u32-strconv-to-locale: Likewise.
28281         * modules/unictype/bidicategory-byname: Likewise.
28282         * modules/unictype/bidicategory-name: Likewise.
28283         * modules/unictype/bidicategory-of: Likewise.
28284         * modules/unictype/bidicategory-test: Likewise.
28285         * modules/unictype/block-list: Likewise.
28286         * modules/unictype/block-test: Likewise.
28287         * modules/unictype/category-C: Likewise.
28288         * modules/unictype/category-Cc: Likewise.
28289         * modules/unictype/category-Cf: Likewise.
28290         * modules/unictype/category-Cn: Likewise.
28291         * modules/unictype/category-Co: Likewise.
28292         * modules/unictype/category-Cs: Likewise.
28293         * modules/unictype/category-L: Likewise.
28294         * modules/unictype/category-Ll: Likewise.
28295         * modules/unictype/category-Lm: Likewise.
28296         * modules/unictype/category-Lo: Likewise.
28297         * modules/unictype/category-Lt: Likewise.
28298         * modules/unictype/category-Lu: Likewise.
28299         * modules/unictype/category-M: Likewise.
28300         * modules/unictype/category-Mc: Likewise.
28301         * modules/unictype/category-Me: Likewise.
28302         * modules/unictype/category-Mn: Likewise.
28303         * modules/unictype/category-N: Likewise.
28304         * modules/unictype/category-Nd: Likewise.
28305         * modules/unictype/category-Nl: Likewise.
28306         * modules/unictype/category-No: Likewise.
28307         * modules/unictype/category-P: Likewise.
28308         * modules/unictype/category-Pc: Likewise.
28309         * modules/unictype/category-Pd: Likewise.
28310         * modules/unictype/category-Pe: Likewise.
28311         * modules/unictype/category-Pf: Likewise.
28312         * modules/unictype/category-Pi: Likewise.
28313         * modules/unictype/category-Po: Likewise.
28314         * modules/unictype/category-Ps: Likewise.
28315         * modules/unictype/category-S: Likewise.
28316         * modules/unictype/category-Sc: Likewise.
28317         * modules/unictype/category-Sk: Likewise.
28318         * modules/unictype/category-Sm: Likewise.
28319         * modules/unictype/category-So: Likewise.
28320         * modules/unictype/category-Z: Likewise.
28321         * modules/unictype/category-Zl: Likewise.
28322         * modules/unictype/category-Zp: Likewise.
28323         * modules/unictype/category-Zs: Likewise.
28324         * modules/unictype/category-and: Likewise.
28325         * modules/unictype/category-and-not: Likewise.
28326         * modules/unictype/category-byname: Likewise.
28327         * modules/unictype/category-name: Likewise.
28328         * modules/unictype/category-none: Likewise.
28329         * modules/unictype/category-of: Likewise.
28330         * modules/unictype/category-or: Likewise.
28331         * modules/unictype/category-test: Likewise.
28332         * modules/unictype/combining-class: Likewise.
28333         * modules/unictype/ctype-alnum: Likewise.
28334         * modules/unictype/ctype-alpha: Likewise.
28335         * modules/unictype/ctype-blank: Likewise.
28336         * modules/unictype/ctype-cntrl: Likewise.
28337         * modules/unictype/ctype-digit: Likewise.
28338         * modules/unictype/ctype-graph: Likewise.
28339         * modules/unictype/ctype-lower: Likewise.
28340         * modules/unictype/ctype-print: Likewise.
28341         * modules/unictype/ctype-punct: Likewise.
28342         * modules/unictype/ctype-space: Likewise.
28343         * modules/unictype/ctype-upper: Likewise.
28344         * modules/unictype/ctype-xdigit: Likewise.
28345         * modules/unictype/decimal-digit: Likewise.
28346         * modules/unictype/digit: Likewise.
28347         * modules/unictype/mirror: Likewise.
28348         * modules/unictype/numeric: Likewise.
28349         * modules/unictype/property-alphabetic: Likewise.
28350         * modules/unictype/property-ascii-hex-digit: Likewise.
28351         * modules/unictype/property-bidi-arabic-digit: Likewise.
28352         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28353         * modules/unictype/property-bidi-block-separator: Likewise.
28354         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28355         * modules/unictype/property-bidi-common-separator: Likewise.
28356         * modules/unictype/property-bidi-control: Likewise.
28357         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28358         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28359         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28360         * modules/unictype/property-bidi-european-digit: Likewise.
28361         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28362         * modules/unictype/property-bidi-left-to-right: Likewise.
28363         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28364         * modules/unictype/property-bidi-other-neutral: Likewise.
28365         * modules/unictype/property-bidi-pdf: Likewise.
28366         * modules/unictype/property-bidi-segment-separator: Likewise.
28367         * modules/unictype/property-bidi-whitespace: Likewise.
28368         * modules/unictype/property-byname: Likewise.
28369         * modules/unictype/property-combining: Likewise.
28370         * modules/unictype/property-composite: Likewise.
28371         * modules/unictype/property-currency-symbol: Likewise.
28372         * modules/unictype/property-dash: Likewise.
28373         * modules/unictype/property-decimal-digit: Likewise.
28374         * modules/unictype/property-default-ignorable-code-point: Likewise.
28375         * modules/unictype/property-deprecated: Likewise.
28376         * modules/unictype/property-diacritic: Likewise.
28377         * modules/unictype/property-extender: Likewise.
28378         * modules/unictype/property-format-control: Likewise.
28379         * modules/unictype/property-grapheme-base: Likewise.
28380         * modules/unictype/property-grapheme-extend: Likewise.
28381         * modules/unictype/property-grapheme-link: Likewise.
28382         * modules/unictype/property-hex-digit: Likewise.
28383         * modules/unictype/property-hyphen: Likewise.
28384         * modules/unictype/property-id-continue: Likewise.
28385         * modules/unictype/property-id-start: Likewise.
28386         * modules/unictype/property-ideographic: Likewise.
28387         * modules/unictype/property-ids-binary-operator: Likewise.
28388         * modules/unictype/property-ids-trinary-operator: Likewise.
28389         * modules/unictype/property-ignorable-control: Likewise.
28390         * modules/unictype/property-iso-control: Likewise.
28391         * modules/unictype/property-join-control: Likewise.
28392         * modules/unictype/property-left-of-pair: Likewise.
28393         * modules/unictype/property-line-separator: Likewise.
28394         * modules/unictype/property-logical-order-exception: Likewise.
28395         * modules/unictype/property-lowercase: Likewise.
28396         * modules/unictype/property-math: Likewise.
28397         * modules/unictype/property-non-break: Likewise.
28398         * modules/unictype/property-not-a-character: Likewise.
28399         * modules/unictype/property-numeric: Likewise.
28400         * modules/unictype/property-other-alphabetic: Likewise.
28401         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
28402         * modules/unictype/property-other-grapheme-extend: Likewise.
28403         * modules/unictype/property-other-id-continue: Likewise.
28404         * modules/unictype/property-other-id-start: Likewise.
28405         * modules/unictype/property-other-lowercase: Likewise.
28406         * modules/unictype/property-other-math: Likewise.
28407         * modules/unictype/property-other-uppercase: Likewise.
28408         * modules/unictype/property-paired-punctuation: Likewise.
28409         * modules/unictype/property-paragraph-separator: Likewise.
28410         * modules/unictype/property-pattern-syntax: Likewise.
28411         * modules/unictype/property-pattern-white-space: Likewise.
28412         * modules/unictype/property-private-use: Likewise.
28413         * modules/unictype/property-punctuation: Likewise.
28414         * modules/unictype/property-quotation-mark: Likewise.
28415         * modules/unictype/property-radical: Likewise.
28416         * modules/unictype/property-sentence-terminal: Likewise.
28417         * modules/unictype/property-soft-dotted: Likewise.
28418         * modules/unictype/property-space: Likewise.
28419         * modules/unictype/property-terminal-punctuation: Likewise.
28420         * modules/unictype/property-test: Likewise.
28421         * modules/unictype/property-titlecase: Likewise.
28422         * modules/unictype/property-unassigned-code-value: Likewise.
28423         * modules/unictype/property-unified-ideograph: Likewise.
28424         * modules/unictype/property-uppercase: Likewise.
28425         * modules/unictype/property-variation-selector: Likewise.
28426         * modules/unictype/property-white-space: Likewise.
28427         * modules/unictype/property-xid-continue: Likewise.
28428         * modules/unictype/property-xid-start: Likewise.
28429         * modules/unictype/property-zero-width: Likewise.
28430         * modules/unictype/scripts: Likewise.
28431         * modules/unictype/syntax-c-ident: Likewise.
28432         * modules/unictype/syntax-c-whitespace: Likewise.
28433         * modules/unictype/syntax-java-ident: Likewise.
28434         * modules/unictype/syntax-java-whitespace: Likewise.
28435         * modules/unilbrk/u8-possible-linebreaks: Likewise.
28436         * modules/unilbrk/u8-width-linebreaks: Likewise.
28437         * modules/unilbrk/u16-possible-linebreaks: Likewise.
28438         * modules/unilbrk/u16-width-linebreaks: Likewise.
28439         * modules/unilbrk/u32-possible-linebreaks: Likewise.
28440         * modules/unilbrk/u32-width-linebreaks: Likewise.
28441         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
28442         * modules/unilbrk/ulc-width-linebreaks: Likewise.
28443         * modules/uniname/uniname: Likewise.
28444         * modules/uninorm/canonical-decomposition: Likewise.
28445         * modules/uninorm/composition: Likewise.
28446         * modules/uninorm/decomposing-form: Likewise.
28447         * modules/uninorm/decomposition: Likewise.
28448         * modules/uninorm/filter: Likewise.
28449         * modules/uninorm/nfc: Likewise.
28450         * modules/uninorm/nfd: Likewise.
28451         * modules/uninorm/nfkc: Likewise.
28452         * modules/uninorm/nfkd: Likewise.
28453         * modules/uninorm/u8-normalize: Likewise.
28454         * modules/uninorm/u8-normcmp: Likewise.
28455         * modules/uninorm/u8-normcoll: Likewise.
28456         * modules/uninorm/u8-normxfrm: Likewise.
28457         * modules/uninorm/u16-normalize: Likewise.
28458         * modules/uninorm/u16-normcmp: Likewise.
28459         * modules/uninorm/u16-normcoll: Likewise.
28460         * modules/uninorm/u16-normxfrm: Likewise.
28461         * modules/uninorm/u32-normalize: Likewise.
28462         * modules/uninorm/u32-normcmp: Likewise.
28463         * modules/uninorm/u32-normcoll: Likewise.
28464         * modules/uninorm/u32-normxfrm: Likewise.
28465         * modules/unistdio/u8-asnprintf: Likewise.
28466         * modules/unistdio/u8-asprintf: Likewise.
28467         * modules/unistdio/u8-snprintf: Likewise.
28468         * modules/unistdio/u8-sprintf: Likewise.
28469         * modules/unistdio/u8-u8-asnprintf: Likewise.
28470         * modules/unistdio/u8-u8-asprintf: Likewise.
28471         * modules/unistdio/u8-u8-snprintf: Likewise.
28472         * modules/unistdio/u8-u8-sprintf: Likewise.
28473         * modules/unistdio/u8-u8-vasnprintf: Likewise.
28474         * modules/unistdio/u8-u8-vasprintf: Likewise.
28475         * modules/unistdio/u8-u8-vsnprintf: Likewise.
28476         * modules/unistdio/u8-u8-vsprintf: Likewise.
28477         * modules/unistdio/u8-vasnprintf: Likewise.
28478         * modules/unistdio/u8-vasprintf: Likewise.
28479         * modules/unistdio/u8-vsnprintf: Likewise.
28480         * modules/unistdio/u8-vsprintf: Likewise.
28481         * modules/unistdio/u16-asnprintf: Likewise.
28482         * modules/unistdio/u16-asprintf: Likewise.
28483         * modules/unistdio/u16-snprintf: Likewise.
28484         * modules/unistdio/u16-sprintf: Likewise.
28485         * modules/unistdio/u16-u16-asnprintf: Likewise.
28486         * modules/unistdio/u16-u16-asprintf: Likewise.
28487         * modules/unistdio/u16-u16-snprintf: Likewise.
28488         * modules/unistdio/u16-u16-sprintf: Likewise.
28489         * modules/unistdio/u16-u16-vasnprintf: Likewise.
28490         * modules/unistdio/u16-u16-vasprintf: Likewise.
28491         * modules/unistdio/u16-u16-vsnprintf: Likewise.
28492         * modules/unistdio/u16-u16-vsprintf: Likewise.
28493         * modules/unistdio/u16-vasnprintf: Likewise.
28494         * modules/unistdio/u16-vasprintf: Likewise.
28495         * modules/unistdio/u16-vsnprintf: Likewise.
28496         * modules/unistdio/u16-vsprintf: Likewise.
28497         * modules/unistdio/u32-asnprintf: Likewise.
28498         * modules/unistdio/u32-asprintf: Likewise.
28499         * modules/unistdio/u32-snprintf: Likewise.
28500         * modules/unistdio/u32-sprintf: Likewise.
28501         * modules/unistdio/u32-u32-asnprintf: Likewise.
28502         * modules/unistdio/u32-u32-asprintf: Likewise.
28503         * modules/unistdio/u32-u32-snprintf: Likewise.
28504         * modules/unistdio/u32-u32-sprintf: Likewise.
28505         * modules/unistdio/u32-u32-vasnprintf: Likewise.
28506         * modules/unistdio/u32-u32-vasprintf: Likewise.
28507         * modules/unistdio/u32-u32-vsnprintf: Likewise.
28508         * modules/unistdio/u32-u32-vsprintf: Likewise.
28509         * modules/unistdio/u32-vasnprintf: Likewise.
28510         * modules/unistdio/u32-vasprintf: Likewise.
28511         * modules/unistdio/u32-vsnprintf: Likewise.
28512         * modules/unistdio/u32-vsprintf: Likewise.
28513         * modules/unistdio/ulc-asnprintf: Likewise.
28514         * modules/unistdio/ulc-asprintf: Likewise.
28515         * modules/unistdio/ulc-fprintf: Likewise.
28516         * modules/unistdio/ulc-snprintf: Likewise.
28517         * modules/unistdio/ulc-sprintf: Likewise.
28518         * modules/unistdio/ulc-vasnprintf: Likewise.
28519         * modules/unistdio/ulc-vasprintf: Likewise.
28520         * modules/unistdio/ulc-vfprintf: Likewise.
28521         * modules/unistdio/ulc-vsnprintf: Likewise.
28522         * modules/unistdio/ulc-vsprintf: Likewise.
28523         * modules/unistr/u8-check: Likewise.
28524         * modules/unistr/u8-chr: Likewise.
28525         * modules/unistr/u8-cmp: Likewise.
28526         * modules/unistr/u8-cmp2: Likewise.
28527         * modules/unistr/u8-cpy: Likewise.
28528         * modules/unistr/u8-cpy-alloc: Likewise.
28529         * modules/unistr/u8-endswith: Likewise.
28530         * modules/unistr/u8-mblen: Likewise.
28531         * modules/unistr/u8-mbsnlen: Likewise.
28532         * modules/unistr/u8-mbtouc: Likewise.
28533         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28534         * modules/unistr/u8-mbtoucr: Likewise.
28535         * modules/unistr/u8-move: Likewise.
28536         * modules/unistr/u8-next: Likewise.
28537         * modules/unistr/u8-prev: Likewise.
28538         * modules/unistr/u8-set: Likewise.
28539         * modules/unistr/u8-startswith: Likewise.
28540         * modules/unistr/u8-stpcpy: Likewise.
28541         * modules/unistr/u8-stpncpy: Likewise.
28542         * modules/unistr/u8-strcat: Likewise.
28543         * modules/unistr/u8-strchr: Likewise.
28544         * modules/unistr/u8-strcmp: Likewise.
28545         * modules/unistr/u8-strcoll: Likewise.
28546         * modules/unistr/u8-strcpy: Likewise.
28547         * modules/unistr/u8-strcspn: Likewise.
28548         * modules/unistr/u8-strdup: Likewise.
28549         * modules/unistr/u8-strlen: Likewise.
28550         * modules/unistr/u8-strmblen: Likewise.
28551         * modules/unistr/u8-strmbtouc: Likewise.
28552         * modules/unistr/u8-strncat: Likewise.
28553         * modules/unistr/u8-strncmp: Likewise.
28554         * modules/unistr/u8-strncpy: Likewise.
28555         * modules/unistr/u8-strnlen: Likewise.
28556         * modules/unistr/u8-strpbrk: Likewise.
28557         * modules/unistr/u8-strrchr: Likewise.
28558         * modules/unistr/u8-strspn: Likewise.
28559         * modules/unistr/u8-strstr: Likewise.
28560         * modules/unistr/u8-strtok: Likewise.
28561         * modules/unistr/u8-to-u16: Likewise.
28562         * modules/unistr/u8-to-u32: Likewise.
28563         * modules/unistr/u8-uctomb: Likewise.
28564         * modules/unistr/u16-check: Likewise.
28565         * modules/unistr/u16-chr: Likewise.
28566         * modules/unistr/u16-cmp: Likewise.
28567         * modules/unistr/u16-cmp2: Likewise.
28568         * modules/unistr/u16-cpy: Likewise.
28569         * modules/unistr/u16-cpy-alloc: Likewise.
28570         * modules/unistr/u16-endswith: Likewise.
28571         * modules/unistr/u16-mblen: Likewise.
28572         * modules/unistr/u16-mbsnlen: Likewise.
28573         * modules/unistr/u16-mbtouc: Likewise.
28574         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28575         * modules/unistr/u16-mbtoucr: Likewise.
28576         * modules/unistr/u16-move: Likewise.
28577         * modules/unistr/u16-next: Likewise.
28578         * modules/unistr/u16-prev: Likewise.
28579         * modules/unistr/u16-set: Likewise.
28580         * modules/unistr/u16-startswith: Likewise.
28581         * modules/unistr/u16-stpcpy: Likewise.
28582         * modules/unistr/u16-stpncpy: Likewise.
28583         * modules/unistr/u16-strcat: Likewise.
28584         * modules/unistr/u16-strchr: Likewise.
28585         * modules/unistr/u16-strcmp: Likewise.
28586         * modules/unistr/u16-strcoll: Likewise.
28587         * modules/unistr/u16-strcpy: Likewise.
28588         * modules/unistr/u16-strcspn: Likewise.
28589         * modules/unistr/u16-strdup: Likewise.
28590         * modules/unistr/u16-strlen: Likewise.
28591         * modules/unistr/u16-strmblen: Likewise.
28592         * modules/unistr/u16-strmbtouc: Likewise.
28593         * modules/unistr/u16-strncat: Likewise.
28594         * modules/unistr/u16-strncmp: Likewise.
28595         * modules/unistr/u16-strncpy: Likewise.
28596         * modules/unistr/u16-strnlen: Likewise.
28597         * modules/unistr/u16-strpbrk: Likewise.
28598         * modules/unistr/u16-strrchr: Likewise.
28599         * modules/unistr/u16-strspn: Likewise.
28600         * modules/unistr/u16-strstr: Likewise.
28601         * modules/unistr/u16-strtok: Likewise.
28602         * modules/unistr/u16-to-u32: Likewise.
28603         * modules/unistr/u16-to-u8: Likewise.
28604         * modules/unistr/u16-uctomb: Likewise.
28605         * modules/unistr/u32-check: Likewise.
28606         * modules/unistr/u32-chr: Likewise.
28607         * modules/unistr/u32-cmp: Likewise.
28608         * modules/unistr/u32-cmp2: Likewise.
28609         * modules/unistr/u32-cpy: Likewise.
28610         * modules/unistr/u32-cpy-alloc: Likewise.
28611         * modules/unistr/u32-endswith: Likewise.
28612         * modules/unistr/u32-mblen: Likewise.
28613         * modules/unistr/u32-mbsnlen: Likewise.
28614         * modules/unistr/u32-mbtouc: Likewise.
28615         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28616         * modules/unistr/u32-mbtoucr: Likewise.
28617         * modules/unistr/u32-move: Likewise.
28618         * modules/unistr/u32-next: Likewise.
28619         * modules/unistr/u32-prev: Likewise.
28620         * modules/unistr/u32-set: Likewise.
28621         * modules/unistr/u32-startswith: Likewise.
28622         * modules/unistr/u32-stpcpy: Likewise.
28623         * modules/unistr/u32-stpncpy: Likewise.
28624         * modules/unistr/u32-strcat: Likewise.
28625         * modules/unistr/u32-strchr: Likewise.
28626         * modules/unistr/u32-strcmp: Likewise.
28627         * modules/unistr/u32-strcoll: Likewise.
28628         * modules/unistr/u32-strcpy: Likewise.
28629         * modules/unistr/u32-strcspn: Likewise.
28630         * modules/unistr/u32-strdup: Likewise.
28631         * modules/unistr/u32-strlen: Likewise.
28632         * modules/unistr/u32-strmblen: Likewise.
28633         * modules/unistr/u32-strmbtouc: Likewise.
28634         * modules/unistr/u32-strncat: Likewise.
28635         * modules/unistr/u32-strncmp: Likewise.
28636         * modules/unistr/u32-strncpy: Likewise.
28637         * modules/unistr/u32-strnlen: Likewise.
28638         * modules/unistr/u32-strpbrk: Likewise.
28639         * modules/unistr/u32-strrchr: Likewise.
28640         * modules/unistr/u32-strspn: Likewise.
28641         * modules/unistr/u32-strstr: Likewise.
28642         * modules/unistr/u32-strtok: Likewise.
28643         * modules/unistr/u32-to-u16: Likewise.
28644         * modules/unistr/u32-to-u8: Likewise.
28645         * modules/unistr/u32-uctomb: Likewise.
28646         * modules/uniwbrk/u8-wordbreaks: Likewise.
28647         * modules/uniwbrk/u16-wordbreaks: Likewise.
28648         * modules/uniwbrk/u32-wordbreaks: Likewise.
28649         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28650         * modules/uniwbrk/wordbreak-property: Likewise.
28651         * modules/uniwidth/u8-strwidth: Likewise.
28652         * modules/uniwidth/u8-width: Likewise.
28653         * modules/uniwidth/u16-strwidth: Likewise.
28654         * modules/uniwidth/u16-width: Likewise.
28655         * modules/uniwidth/u32-strwidth: Likewise.
28656         * modules/uniwidth/u32-width: Likewise.
28657         * modules/uniwidth/width: Likewise.
28658         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28659         with $(LIBUNISTRING).
28660         * modules/unicase/ignorable-tests: Likewise.
28661         * modules/unicase/locale-language-tests: Likewise.
28662         * modules/unicase/tolower-tests: Likewise.
28663         * modules/unicase/totitle-tests: Likewise.
28664         * modules/unicase/toupper-tests: Likewise.
28665         * modules/unicase/u8-casecmp-tests: Likewise.
28666         * modules/unicase/u8-casecoll-tests: Likewise.
28667         * modules/unicase/u8-casefold-tests: Likewise.
28668         * modules/unicase/u8-is-cased-tests: Likewise.
28669         * modules/unicase/u8-is-casefolded-tests: Likewise.
28670         * modules/unicase/u8-is-lowercase-tests: Likewise.
28671         * modules/unicase/u8-is-titlecase-tests: Likewise.
28672         * modules/unicase/u8-is-uppercase-tests: Likewise.
28673         * modules/unicase/u8-tolower-tests: Likewise.
28674         * modules/unicase/u8-totitle-tests: Likewise.
28675         * modules/unicase/u8-toupper-tests: Likewise.
28676         * modules/unicase/u16-casecmp-tests: Likewise.
28677         * modules/unicase/u16-casecoll-tests: Likewise.
28678         * modules/unicase/u16-casefold-tests: Likewise.
28679         * modules/unicase/u16-is-cased-tests: Likewise.
28680         * modules/unicase/u16-is-casefolded-tests: Likewise.
28681         * modules/unicase/u16-is-lowercase-tests: Likewise.
28682         * modules/unicase/u16-is-titlecase-tests: Likewise.
28683         * modules/unicase/u16-is-uppercase-tests: Likewise.
28684         * modules/unicase/u16-tolower-tests: Likewise.
28685         * modules/unicase/u16-totitle-tests: Likewise.
28686         * modules/unicase/u16-toupper-tests: Likewise.
28687         * modules/unicase/u32-casecmp-tests: Likewise.
28688         * modules/unicase/u32-casecoll-tests: Likewise.
28689         * modules/unicase/u32-casefold-tests: Likewise.
28690         * modules/unicase/u32-is-cased-tests: Likewise.
28691         * modules/unicase/u32-is-casefolded-tests: Likewise.
28692         * modules/unicase/u32-is-lowercase-tests: Likewise.
28693         * modules/unicase/u32-is-titlecase-tests: Likewise.
28694         * modules/unicase/u32-is-uppercase-tests: Likewise.
28695         * modules/unicase/u32-tolower-tests: Likewise.
28696         * modules/unicase/u32-totitle-tests: Likewise.
28697         * modules/unicase/u32-toupper-tests: Likewise.
28698         * modules/unicase/ulc-casecmp-tests: Likewise.
28699         * modules/unicase/ulc-casecoll-tests: Likewise.
28700         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28701         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28702         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28703         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28704         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28705         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28706         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28707         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28708         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28709         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28710         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28711         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28712         * modules/unictype/bidicategory-byname-tests: Likewise.
28713         * modules/unictype/bidicategory-name-tests: Likewise.
28714         * modules/unictype/bidicategory-of-tests: Likewise.
28715         * modules/unictype/bidicategory-test-tests: Likewise.
28716         * modules/unictype/block-list-tests: Likewise.
28717         * modules/unictype/block-of-tests: Likewise.
28718         * modules/unictype/block-test-tests: Likewise.
28719         * modules/unictype/category-C-tests: Likewise.
28720         * modules/unictype/category-Cc-tests: Likewise.
28721         * modules/unictype/category-Cf-tests: Likewise.
28722         * modules/unictype/category-Cn-tests: Likewise.
28723         * modules/unictype/category-Co-tests: Likewise.
28724         * modules/unictype/category-Cs-tests: Likewise.
28725         * modules/unictype/category-L-tests: Likewise.
28726         * modules/unictype/category-Ll-tests: Likewise.
28727         * modules/unictype/category-Lm-tests: Likewise.
28728         * modules/unictype/category-Lo-tests: Likewise.
28729         * modules/unictype/category-Lt-tests: Likewise.
28730         * modules/unictype/category-Lu-tests: Likewise.
28731         * modules/unictype/category-M-tests: Likewise.
28732         * modules/unictype/category-Mc-tests: Likewise.
28733         * modules/unictype/category-Me-tests: Likewise.
28734         * modules/unictype/category-Mn-tests: Likewise.
28735         * modules/unictype/category-N-tests: Likewise.
28736         * modules/unictype/category-Nd-tests: Likewise.
28737         * modules/unictype/category-Nl-tests: Likewise.
28738         * modules/unictype/category-No-tests: Likewise.
28739         * modules/unictype/category-P-tests: Likewise.
28740         * modules/unictype/category-Pc-tests: Likewise.
28741         * modules/unictype/category-Pd-tests: Likewise.
28742         * modules/unictype/category-Pe-tests: Likewise.
28743         * modules/unictype/category-Pf-tests: Likewise.
28744         * modules/unictype/category-Pi-tests: Likewise.
28745         * modules/unictype/category-Po-tests: Likewise.
28746         * modules/unictype/category-Ps-tests: Likewise.
28747         * modules/unictype/category-S-tests: Likewise.
28748         * modules/unictype/category-Sc-tests: Likewise.
28749         * modules/unictype/category-Sk-tests: Likewise.
28750         * modules/unictype/category-Sm-tests: Likewise.
28751         * modules/unictype/category-So-tests: Likewise.
28752         * modules/unictype/category-Z-tests: Likewise.
28753         * modules/unictype/category-Zl-tests: Likewise.
28754         * modules/unictype/category-Zp-tests: Likewise.
28755         * modules/unictype/category-Zs-tests: Likewise.
28756         * modules/unictype/category-and-not-tests: Likewise.
28757         * modules/unictype/category-and-tests: Likewise.
28758         * modules/unictype/category-byname-tests: Likewise.
28759         * modules/unictype/category-name-tests: Likewise.
28760         * modules/unictype/category-none-tests: Likewise.
28761         * modules/unictype/category-of-tests: Likewise.
28762         * modules/unictype/category-or-tests: Likewise.
28763         * modules/unictype/category-test-withtable-tests: Likewise.
28764         * modules/unictype/combining-class-tests: Likewise.
28765         * modules/unictype/ctype-alnum-tests: Likewise.
28766         * modules/unictype/ctype-alpha-tests: Likewise.
28767         * modules/unictype/ctype-blank-tests: Likewise.
28768         * modules/unictype/ctype-cntrl-tests: Likewise.
28769         * modules/unictype/ctype-digit-tests: Likewise.
28770         * modules/unictype/ctype-graph-tests: Likewise.
28771         * modules/unictype/ctype-lower-tests: Likewise.
28772         * modules/unictype/ctype-print-tests: Likewise.
28773         * modules/unictype/ctype-punct-tests: Likewise.
28774         * modules/unictype/ctype-space-tests: Likewise.
28775         * modules/unictype/ctype-upper-tests: Likewise.
28776         * modules/unictype/ctype-xdigit-tests: Likewise.
28777         * modules/unictype/decimal-digit-tests: Likewise.
28778         * modules/unictype/digit-tests: Likewise.
28779         * modules/unictype/mirror-tests: Likewise.
28780         * modules/unictype/numeric-tests: Likewise.
28781         * modules/unictype/property-alphabetic-tests: Likewise.
28782         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28783         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28784         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28785         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28786         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28787         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28788         * modules/unictype/property-bidi-control-tests: Likewise.
28789         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28790         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28791         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28792         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28793         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28794         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28795         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28796         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28797         * modules/unictype/property-bidi-pdf-tests: Likewise.
28798         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28799         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28800         * modules/unictype/property-byname-tests: Likewise.
28801         * modules/unictype/property-combining-tests: Likewise.
28802         * modules/unictype/property-composite-tests: Likewise.
28803         * modules/unictype/property-currency-symbol-tests: Likewise.
28804         * modules/unictype/property-dash-tests: Likewise.
28805         * modules/unictype/property-decimal-digit-tests: Likewise.
28806         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28807         * modules/unictype/property-deprecated-tests: Likewise.
28808         * modules/unictype/property-diacritic-tests: Likewise.
28809         * modules/unictype/property-extender-tests: Likewise.
28810         * modules/unictype/property-format-control-tests: Likewise.
28811         * modules/unictype/property-grapheme-base-tests: Likewise.
28812         * modules/unictype/property-grapheme-extend-tests: Likewise.
28813         * modules/unictype/property-grapheme-link-tests: Likewise.
28814         * modules/unictype/property-hex-digit-tests: Likewise.
28815         * modules/unictype/property-hyphen-tests: Likewise.
28816         * modules/unictype/property-id-continue-tests: Likewise.
28817         * modules/unictype/property-id-start-tests: Likewise.
28818         * modules/unictype/property-ideographic-tests: Likewise.
28819         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28820         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28821         * modules/unictype/property-ignorable-control-tests: Likewise.
28822         * modules/unictype/property-iso-control-tests: Likewise.
28823         * modules/unictype/property-join-control-tests: Likewise.
28824         * modules/unictype/property-left-of-pair-tests: Likewise.
28825         * modules/unictype/property-line-separator-tests: Likewise.
28826         * modules/unictype/property-logical-order-exception-tests: Likewise.
28827         * modules/unictype/property-lowercase-tests: Likewise.
28828         * modules/unictype/property-math-tests: Likewise.
28829         * modules/unictype/property-non-break-tests: Likewise.
28830         * modules/unictype/property-not-a-character-tests: Likewise.
28831         * modules/unictype/property-numeric-tests: Likewise.
28832         * modules/unictype/property-other-alphabetic-tests: Likewise.
28833         * modules/unictype/property-other-default-ignorable-code-point-tests:
28834         Likewise.
28835         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28836         * modules/unictype/property-other-id-continue-tests: Likewise.
28837         * modules/unictype/property-other-id-start-tests: Likewise.
28838         * modules/unictype/property-other-lowercase-tests: Likewise.
28839         * modules/unictype/property-other-math-tests: Likewise.
28840         * modules/unictype/property-other-uppercase-tests: Likewise.
28841         * modules/unictype/property-paired-punctuation-tests: Likewise.
28842         * modules/unictype/property-paragraph-separator-tests: Likewise.
28843         * modules/unictype/property-pattern-syntax-tests: Likewise.
28844         * modules/unictype/property-pattern-white-space-tests: Likewise.
28845         * modules/unictype/property-private-use-tests: Likewise.
28846         * modules/unictype/property-punctuation-tests: Likewise.
28847         * modules/unictype/property-quotation-mark-tests: Likewise.
28848         * modules/unictype/property-radical-tests: Likewise.
28849         * modules/unictype/property-sentence-terminal-tests: Likewise.
28850         * modules/unictype/property-soft-dotted-tests: Likewise.
28851         * modules/unictype/property-space-tests: Likewise.
28852         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28853         * modules/unictype/property-test-tests: Likewise.
28854         * modules/unictype/property-titlecase-tests: Likewise.
28855         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28856         * modules/unictype/property-unified-ideograph-tests: Likewise.
28857         * modules/unictype/property-uppercase-tests: Likewise.
28858         * modules/unictype/property-variation-selector-tests: Likewise.
28859         * modules/unictype/property-white-space-tests: Likewise.
28860         * modules/unictype/property-xid-continue-tests: Likewise.
28861         * modules/unictype/property-xid-start-tests: Likewise.
28862         * modules/unictype/property-zero-width-tests: Likewise.
28863         * modules/unictype/scripts-tests: Likewise.
28864         * modules/unictype/syntax-c-ident-tests: Likewise.
28865         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28866         * modules/unictype/syntax-java-ident-tests: Likewise.
28867         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28868         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28869         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28870         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28871         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28872         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28873         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28874         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28875         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28876         * modules/uniname/uniname-tests: Likewise.
28877         * modules/uninorm/canonical-decomposition-tests: Likewise.
28878         * modules/uninorm/compat-decomposition-tests: Likewise.
28879         * modules/uninorm/composition-tests: Likewise.
28880         * modules/uninorm/decomposing-form-tests: Likewise.
28881         * modules/uninorm/decomposition-tests: Likewise.
28882         * modules/uninorm/filter-tests: Likewise.
28883         * modules/uninorm/nfc-tests: Likewise.
28884         * modules/uninorm/nfd-tests: Likewise.
28885         * modules/uninorm/nfkc-tests: Likewise.
28886         * modules/uninorm/nfkd-tests: Likewise.
28887         * modules/uninorm/u8-normcmp-tests: Likewise.
28888         * modules/uninorm/u8-normcoll-tests: Likewise.
28889         * modules/uninorm/u16-normcmp-tests: Likewise.
28890         * modules/uninorm/u16-normcoll-tests: Likewise.
28891         * modules/uninorm/u32-normcmp-tests: Likewise.
28892         * modules/uninorm/u32-normcoll-tests: Likewise.
28893         * modules/unistdio/u8-asnprintf-tests: Likewise.
28894         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28895         * modules/unistdio/u8-vasprintf-tests: Likewise.
28896         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28897         * modules/unistdio/u8-vsprintf-tests: Likewise.
28898         * modules/unistdio/u16-asnprintf-tests: Likewise.
28899         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28900         * modules/unistdio/u16-vasprintf-tests: Likewise.
28901         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28902         * modules/unistdio/u16-vsprintf-tests: Likewise.
28903         * modules/unistdio/u32-asnprintf-tests: Likewise.
28904         * modules/unistdio/u32-vasnprintf-tests: Likewise.
28905         * modules/unistdio/u32-vasprintf-tests: Likewise.
28906         * modules/unistdio/u32-vsnprintf-tests: Likewise.
28907         * modules/unistdio/u32-vsprintf-tests: Likewise.
28908         * modules/unistdio/ulc-asnprintf-tests: Likewise.
28909         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
28910         * modules/unistdio/ulc-vasprintf-tests: Likewise.
28911         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
28912         * modules/unistdio/ulc-vsprintf-tests: Likewise.
28913         * modules/unistr/u8-check-tests: Likewise.
28914         * modules/unistr/u8-chr-tests: Likewise.
28915         * modules/unistr/u8-cmp-tests: Likewise.
28916         * modules/unistr/u8-cmp2-tests: Likewise.
28917         * modules/unistr/u8-cpy-alloc-tests: Likewise.
28918         * modules/unistr/u8-cpy-tests: Likewise.
28919         * modules/unistr/u8-mblen-tests: Likewise.
28920         * modules/unistr/u8-mbsnlen-tests: Likewise.
28921         * modules/unistr/u8-mbtouc-tests: Likewise.
28922         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
28923         * modules/unistr/u8-mbtoucr-tests: Likewise.
28924         * modules/unistr/u8-move-tests: Likewise.
28925         * modules/unistr/u8-next-tests: Likewise.
28926         * modules/unistr/u8-prev-tests: Likewise.
28927         * modules/unistr/u8-set-tests: Likewise.
28928         * modules/unistr/u8-stpcpy-tests: Likewise.
28929         * modules/unistr/u8-stpncpy-tests: Likewise.
28930         * modules/unistr/u8-strcat-tests: Likewise.
28931         * modules/unistr/u8-strcmp-tests: Likewise.
28932         * modules/unistr/u8-strcoll-tests: Likewise.
28933         * modules/unistr/u8-strcpy-tests: Likewise.
28934         * modules/unistr/u8-strdup-tests: Likewise.
28935         * modules/unistr/u8-strlen-tests: Likewise.
28936         * modules/unistr/u8-strmblen-tests: Likewise.
28937         * modules/unistr/u8-strmbtouc-tests: Likewise.
28938         * modules/unistr/u8-strncat-tests: Likewise.
28939         * modules/unistr/u8-strncmp-tests: Likewise.
28940         * modules/unistr/u8-strncpy-tests: Likewise.
28941         * modules/unistr/u8-strnlen-tests: Likewise.
28942         * modules/unistr/u8-to-u16-tests: Likewise.
28943         * modules/unistr/u8-to-u32-tests: Likewise.
28944         * modules/unistr/u8-uctomb-tests: Likewise.
28945         * modules/unistr/u16-check-tests: Likewise.
28946         * modules/unistr/u16-chr-tests: Likewise.
28947         * modules/unistr/u16-cmp-tests: Likewise.
28948         * modules/unistr/u16-cmp2-tests: Likewise.
28949         * modules/unistr/u16-cpy-alloc-tests: Likewise.
28950         * modules/unistr/u16-cpy-tests: Likewise.
28951         * modules/unistr/u16-mblen-tests: Likewise.
28952         * modules/unistr/u16-mbsnlen-tests: Likewise.
28953         * modules/unistr/u16-mbtouc-tests: Likewise.
28954         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
28955         * modules/unistr/u16-mbtoucr-tests: Likewise.
28956         * modules/unistr/u16-move-tests: Likewise.
28957         * modules/unistr/u16-next-tests: Likewise.
28958         * modules/unistr/u16-prev-tests: Likewise.
28959         * modules/unistr/u16-set-tests: Likewise.
28960         * modules/unistr/u16-stpcpy-tests: Likewise.
28961         * modules/unistr/u16-stpncpy-tests: Likewise.
28962         * modules/unistr/u16-strcat-tests: Likewise.
28963         * modules/unistr/u16-strcmp-tests: Likewise.
28964         * modules/unistr/u16-strcoll-tests: Likewise.
28965         * modules/unistr/u16-strcpy-tests: Likewise.
28966         * modules/unistr/u16-strdup-tests: Likewise.
28967         * modules/unistr/u16-strlen-tests: Likewise.
28968         * modules/unistr/u16-strmblen-tests: Likewise.
28969         * modules/unistr/u16-strmbtouc-tests: Likewise.
28970         * modules/unistr/u16-strncat-tests: Likewise.
28971         * modules/unistr/u16-strncmp-tests: Likewise.
28972         * modules/unistr/u16-strncpy-tests: Likewise.
28973         * modules/unistr/u16-strnlen-tests: Likewise.
28974         * modules/unistr/u16-to-u32-tests: Likewise.
28975         * modules/unistr/u16-to-u8-tests: Likewise.
28976         * modules/unistr/u16-uctomb-tests: Likewise.
28977         * modules/unistr/u32-check-tests: Likewise.
28978         * modules/unistr/u32-chr-tests: Likewise.
28979         * modules/unistr/u32-cmp-tests: Likewise.
28980         * modules/unistr/u32-cmp2-tests: Likewise.
28981         * modules/unistr/u32-cpy-alloc-tests: Likewise.
28982         * modules/unistr/u32-cpy-tests: Likewise.
28983         * modules/unistr/u32-mblen-tests: Likewise.
28984         * modules/unistr/u32-mbsnlen-tests: Likewise.
28985         * modules/unistr/u32-mbtouc-tests: Likewise.
28986         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
28987         * modules/unistr/u32-mbtoucr-tests: Likewise.
28988         * modules/unistr/u32-move-tests: Likewise.
28989         * modules/unistr/u32-next-tests: Likewise.
28990         * modules/unistr/u32-prev-tests: Likewise.
28991         * modules/unistr/u32-set-tests: Likewise.
28992         * modules/unistr/u32-stpcpy-tests: Likewise.
28993         * modules/unistr/u32-stpncpy-tests: Likewise.
28994         * modules/unistr/u32-strcat-tests: Likewise.
28995         * modules/unistr/u32-strcmp-tests: Likewise.
28996         * modules/unistr/u32-strcoll-tests: Likewise.
28997         * modules/unistr/u32-strcpy-tests: Likewise.
28998         * modules/unistr/u32-strdup-tests: Likewise.
28999         * modules/unistr/u32-strlen-tests: Likewise.
29000         * modules/unistr/u32-strmblen-tests: Likewise.
29001         * modules/unistr/u32-strmbtouc-tests: Likewise.
29002         * modules/unistr/u32-strncat-tests: Likewise.
29003         * modules/unistr/u32-strncmp-tests: Likewise.
29004         * modules/unistr/u32-strncpy-tests: Likewise.
29005         * modules/unistr/u32-strnlen-tests: Likewise.
29006         * modules/unistr/u32-to-u16-tests: Likewise.
29007         * modules/unistr/u32-to-u8-tests: Likewise.
29008         * modules/unistr/u32-uctomb-tests: Likewise.
29009         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29010         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29011         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29012         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29013         * modules/uniwidth/u8-strwidth-tests: Likewise.
29014         * modules/uniwidth/u8-width-tests: Likewise.
29015         * modules/uniwidth/u16-strwidth-tests: Likewise.
29016         * modules/uniwidth/u16-width-tests: Likewise.
29017         * modules/uniwidth/u32-strwidth-tests: Likewise.
29018         * modules/uniwidth/u32-width-tests: Likewise.
29019         * modules/uniwidth/width-tests: Likewise.
29020
29021 2010-05-18  Richard Jones  <rjones@redhat.com>
29022
29023         doc: users.txt: list hivex
29024         * users.txt: Add hivex.
29025
29026 2010-05-18  Richard Jones  <rjones@redhat.com>
29027
29028         doc: users.txt: list febootstrap
29029         * users.txt: Add febootstrap.
29030
29031 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29032
29033         bootstrap: fix an error when gnulib is not used as a git submodule
29034         * build-aux/bootstrap (gnulib_path): If its length is zero then
29035         assign "gnulib" to it.
29036         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29037
29038 2010-05-16  Bruno Haible  <bruno@clisp.org>
29039
29040         Avoid autoconf warnings about AM_ICONV.
29041         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29042         2.64.
29043
29044 2010-05-16  Bruno Haible  <bruno@clisp.org>
29045
29046         absolute-header: Make the macro usable in more situations.
29047         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29048         from gl_ABSOLUTE_HEADER.
29049         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29050
29051 2010-05-16  James Youngman  <jay@gnu.org>
29052
29053         doc: update users.txt
29054         * users.txt: Add CSSC.
29055
29056 2010-05-16  Jim Meyering  <meyering@redhat.com>
29057
29058         init.sh: fix an error in the previous change; add more comments
29059         * tests/init.sh: Compare exit code in loop against 9, not 2.
29060         Patch by Bruno Haible.
29061         Make the two tests more similar by adding an empty "then" clause.
29062         Add comments.
29063
29064         init.sh: avoid unnecessary shell re-exec
29065         * tests/init.sh: Improve the re-exec-required check to first test the
29066         current shell.  If it passes the test, do not search for a shell that
29067         does pass, and do not re-exec.  This test is particularly contorted to
29068         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29069         of $(...) evokes a syntax error and causes immediate shell exit with
29070         status 2.  Bruno Haible reported that the re-exec made it impossible
29071         to single-step through any init.sh-using script.
29072
29073 2010-05-16  Bruno Haible  <bruno@clisp.org>
29074
29075         Fix collision between gnulib's and libintl's printf replacements.
29076         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29077         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29078         (printf): When using GNU C, map the __printf__ function to rpl_printf
29079         via __asm__. When not using GNU C, define rpl_printf instead of
29080         __printf__.
29081         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29082         commit.
29083         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29084         commit.
29085         * m4/asm-underscore.m4: New file.
29086         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29087         * modules/stdio (Files): Add m4/asm-underscore.m4.
29088         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29089         Reported by Ben Pfaff.
29090
29091 2010-05-16  Bruno Haible  <bruno@clisp.org>
29092
29093         verify: Avoid skipping the test on openSUSE 11.0.
29094         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29095
29096 2010-05-13  Bruno Haible  <bruno@clisp.org>
29097
29098         Avoid useless warnings from G++.
29099         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29100         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29101         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29102
29103 2010-05-11  Jim Meyering  <meyering@redhat.com>
29104
29105         maint.mk: tweak preceding change
29106         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29107         regexps tighter by anchoring at EOL, and make the new group "shy"
29108         for slightly decreased overhead.
29109
29110 2010-05-11  Eric Blake  <eblake@redhat.com>
29111
29112         maint.mk: gnulib doesn't guarantee NSIG
29113         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29114
29115 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29116
29117         test-pwrite.c: Remove unused variable declaration.
29118         * tests/test-pwrite.c (main): Remove read_buf declaration.
29119
29120         Remove useless test-pwrite.sh file.
29121         * tests/test-pwrite.sh: Delete file.
29122         * modules/pwrite-tests: Remove references.
29123         Reported by Bruno Haible.
29124
29125 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29126
29127         init.sh: fix a typo
29128         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29129
29130 2010-05-10  Jim Meyering  <meyering@redhat.com>
29131
29132         maint.mk: avoid using a temporary file in the always-defined-macros check
29133         * top/maint.mk (.re-defmac): Remove rule.
29134         (gl_trap_): Remove definition.
29135         (sc_prohibit_always-defined_macros): Rewrite not to create and
29136         depend on a temporary file.  Instead, depend on GNU grep's ability
29137         to read a list of regular expressions from stdin when given "-f -".
29138
29139 2010-05-09  Bruno Haible  <bruno@clisp.org>
29140
29141         Update to GNU gettext 0.18, part 1.
29142         * m4/gettext.m4: Update to GNU gettext 0.18.
29143         * m4/intl.m4: Likewise.
29144         * m4/po.m4: Likewise.
29145         * modules/gettext (Files): Add m4/fcntl-o.m4.
29146         (configure.ac): Require gettext infrastructure from version 0.18.
29147
29148 2010-05-09  Jim Meyering  <meyering@redhat.com>
29149
29150         init.sh: enable MALLOC_PERTURB_
29151         * tests/init.sh: Enable glibc's malloc-perturbing option.
29152
29153         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29154         With my recent change in init.sh from the two-line form:
29155             -#   : ${srcdir=.}
29156             -#   . "$srcdir/init.sh"; path_prepend_ .
29157             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29158         I noticed that using the one-line form would cause this test
29159         to fail with a false-positive, or to stop working altogether,
29160         depending on whether help-version changed or all the tests did.
29161         * top/maint.mk (_hv_regex): Remove this definition.
29162         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29163         (_hv_regex_strong): Use a stronger regex to check for conformance.
29164         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29165         Give a separate diagnostic for lack of conforming use.
29166
29167         maint.mk: prohibit definition of symbols defined by gnulib
29168         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29169         definition of symbols defined by gnulib.
29170
29171 2010-05-09  Bruno Haible  <bruno@clisp.org>
29172
29173         acl: Avoid test failure on Cygwin-hosted mingw.
29174         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29175
29176 2010-05-09  Bruno Haible  <bruno@clisp.org>
29177
29178         error: Use system's fcntl function.
29179         * lib/error.c (fcntl): Undefine.
29180
29181 2010-05-09  Jim Meyering  <meyering@redhat.com>
29182
29183         verify: adjust formatting to be more consistent
29184         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29185         argument-list '('s, and after one comma.
29186
29187 2010-05-09  Bruno Haible  <bruno@clisp.org>
29188
29189         error: More reliable output on mingw.
29190         * lib/error.c: Include <windows.h>.
29191         (is_open): New function.
29192         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29193         defined.
29194
29195 2010-05-09  Bruno Haible  <bruno@clisp.org>
29196
29197         vasnprintf: Fix syntax errors in libintl build on mingw.
29198         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29199         pad_ourselves and prec_ourselves after use.
29200
29201 2010-05-08  Bruno Haible  <bruno@clisp.org>
29202
29203         * lib/config.charset: Update comments for Cygwin 1.7.
29204         * lib/localcharset.c: Likewise.
29205
29206 2010-05-07  Jim Meyering  <meyering@redhat.com>
29207
29208         init.sh: improve comments
29209         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29210         . "${srcdir=.}/init.sh"; path_prepend_ .
29211         Add a note about path_prepend_ and the alternative of using
29212         TESTS_ENVIRONMENT.
29213
29214 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29215
29216         exclude: Unescape hashed patterns in wildcard mode.
29217         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29218         to the hash list.
29219         * tests/test-exclude8.sh: New test case.
29220         * modules/exclude-tests: Add new test.
29221
29222 2010-05-05  Eric Blake  <eblake@redhat.com>
29223
29224         verify: automate tests
29225         * modules/verify-tests: New module.
29226         * tests/test-verify.sh: New file.
29227         * tests/test-verify.c: Guard each negative test with a unique id.
29228         Also avoid warning about unused left hand of comma expressions.
29229
29230 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29231
29232         Further improvements to verify.h, suggested by Eric Blake.
29233         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29234         the GL_* versions, to avoid collision with OpenGL.
29235         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29236         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29237         than testing merely whether it's defined.
29238
29239         Modify verify.h to pacify gcc -Wredundant_decls.
29240         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29241         These use the prefix "GL_" since they're likely to be useful elsewhere.
29242         We may need to break them out into a different .h file.
29243         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29244         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29245         of verify_function__.
29246
29247 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29248
29249         Tests for module pwrite.
29250         * modules/pwrite-tests: New file.
29251         * tests/test-pwrite.sh: New file.
29252         * tests/test-pwrite.c: New file.
29253
29254         New module pwrite.
29255         * lib/unistd.in.h (pwrite): New declaration.
29256         * lib/pwrite.c: New file, from glibc with modifications.
29257         * m4/pwrite.m4: New file.
29258         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29259         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29260         REPLACE_PWRITE.
29261         * modules/pwrite: New file.
29262         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29263         REPLACE_PWRITE.
29264         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29265         * doc/posix-functions/pwrite.texi: Mention the new module.
29266
29267 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29268
29269         pread: Update documentation.
29270         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29271
29272 2010-05-04  Eric Blake  <eblake@redhat.com>
29273
29274         docs: update cygwin progress
29275         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29276         this bug.
29277         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29278         Added in cygwin 1.7.2.
29279         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29280         Likewise.
29281         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29282         Likewise.
29283         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29284         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29285         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29286         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29287         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29288         Mention nproc module.
29289         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29290         bug in cygwin 1.7.5 addition.
29291         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29292         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29293         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29294         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29295         1.7.5.
29296         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29297         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29298         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29299         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29300         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29301         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29302         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29303         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29304         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29305         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29306         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29307         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29308         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29309         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29310         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29311         Likewise.
29312         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29313         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29314         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29315         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29316         Likewise.
29317         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29318         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29319         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29320         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29321         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29322         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29323         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29324         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29325         Likewise.
29326         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29327         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29328         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29329         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29330         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29331         Likewise.
29332         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29333         Likewise.
29334         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29335         Likewise.
29336         * doc/glibc-functions/xdrrec_endofrecord.texi
29337         (xdrrec_endofrecord): Likewise.
29338         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29339         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29340         Likewise.
29341         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29342         Likewise.
29343
29344 2010-05-04  Jim Meyering  <meyering@redhat.com>
29345
29346         gendocs.sh: make its "-s FILE" option more useful
29347         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29348         $PACKAGE to reflect the probably-different basename of "FILE".
29349
29350 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29351
29352         bootstrap: don't ignore download_po_files failure
29353         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29354         failure.
29355
29356 2010-05-03  Jim Meyering  <meyering@redhat.com>
29357
29358         maint.mk: allow to pass options to gendocs.sh
29359         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29360         (gendocs_options_): New overridable variable.
29361
29362         gnu-web-doc-update: don't ignore configure or build failure
29363         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29364
29365         announce-gen: backslash-escape '@'s in --help output
29366         * build-aux/announce-gen: Fix syntax errors.
29367
29368         maint.mk, announce-gen: allow project-specific announcement mail headers
29369         * top/maint.mk (translation_project_): Define default.
29370         (announcement_Cc_, announcement_mail_headers_): Likewise.
29371         (announcement): Invoke announce-gen with new --mail-headers option.
29372         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29373
29374         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29375         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29376         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29377         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29378         line in the "err2" output file when running "make check" in verbose
29379         mode (i.e., with set -x enabled).
29380
29381 2010-05-03  Bruno Haible  <bruno@clisp.org>
29382
29383         wctob: Fix for weird platforms.
29384         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29385         argument value.
29386
29387 2010-05-03  Jim Meyering  <meyering@redhat.com>
29388
29389         maint.mk: prohibit unwarranted use of <strings.h>
29390         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29391         strings.h in a file that does not also use strcasecmp, strncasecmp,
29392         ffs or ffsll.
29393
29394         maint.mk: remove obsolete comments
29395         * top/maint.mk: Remove stale, commented-out rules.
29396
29397 2010-05-02  Bruno Haible  <bruno@clisp.org>
29398
29399         wcwidth: Declare also when it's aliased.
29400         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
29401         macro.
29402
29403 2010-05-02  Bruno Haible  <bruno@clisp.org>
29404
29405         Fix regression from 2010-04-25.
29406         * gnulib-tool (func_modules_transitive_closure): Check the status of
29407         all modules, not only of the tests that are of the form foo-tests where
29408         foo is a module.
29409
29410 2010-05-02  Bruno Haible  <bruno@clisp.org>
29411
29412         wctob: Work around nasty Cygwin 1.7.2 bug.
29413         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
29414         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
29415
29416 2010-05-01  Bruno Haible  <bruno@clisp.org>
29417
29418         fpurge: Sharper test.
29419         * tests/test-fpurge.c (main): Add one more ftell check.
29420         * modules/fpurge-tests (Depends-on): Add ftell.
29421         Suggested by Eric Blake.
29422
29423 2010-05-01  Bruno Haible  <bruno@clisp.org>
29424
29425         ftello: Another test.
29426         * tests/test-ftello3.c: New file.
29427         * modules/ftello-tests (Files): Add it.
29428         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29429         MOSTLYCLEANFILES.
29430
29431         ftell: Another test.
29432         * tests/test-ftell3.c: New file.
29433         * modules/ftell-tests (Files): Add it.
29434         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29435         MOSTLYCLEANFILES.
29436
29437 2010-05-01  Bruno Haible  <bruno@clisp.org>
29438
29439         ftell, ftello: Work around Solaris bug.
29440         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
29441         * lib/ftello.c: Include stdio-impl.h.
29442         (ftello): On Solaris, when _IOWRT is set, compute the result without
29443         looking at _IOREAD.
29444         * modules/ftello (Files): Add lib/stdio-impl.h.
29445         * doc/posix-functions/ftell.texi: Mention Solaris bug.
29446         * doc/posix-functions/ftello.texi: Likewise.
29447         Reported by Eric Blake.
29448
29449 2010-05-01  Bruno Haible  <bruno@clisp.org>
29450
29451         freading: Adapt to special meaning of _IOREAD flag on Solaris.
29452         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
29453         the _IOWRT flag is also set.
29454
29455 2010-05-01  Bruno Haible  <bruno@clisp.org>
29456
29457         Fix doc about a HP-UX stdio bug.
29458         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
29459         * doc/posix-functions/ftello.texi: Likewise.
29460
29461 2010-05-01  Bruno Haible  <bruno@clisp.org>
29462
29463         lseek test: Fix failure on Solaris.
29464         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
29465         output.
29466
29467 2010-04-30  Jim Meyering  <meyering@redhat.com>
29468
29469         bootstrap: don't ignore failure to generate po*/Makevars
29470         * build-aux/bootstrap (with_gettext): Don't ignore failure
29471         to create po/Makevars or runtime-po/Makevars.
29472
29473 2010-04-29  Eric Blake  <eblake@redhat.com>
29474
29475         headers: relax license to LGPLv2+
29476         * modules/fcntl-h (License): Relax license.
29477         * modules/getopt-posix (License): Likewise.
29478         * modules/locale (License): Likewise.
29479         * modules/math (License): Likewise.
29480         * modules/pty (License): Likewise.
29481         * modules/sched (License): Likewise.
29482         * modules/search (License): Likewise.
29483         * modules/spawn (License): Likewise.
29484         * modules/stdarg (License): Likewise.
29485         * modules/sysexits (License): Likewise.
29486
29487 2010-04-29  Jim Meyering  <meyering@redhat.com>
29488
29489         inttypes: relax license to LGPLv2+
29490         * modules/inttypes (License): Relax license.
29491
29492 2010-04-29  Simon Josefsson  <simon@josefsson.org>
29493
29494         * top/maint.mk (indent): Run twice to produce idempotent results.
29495
29496 2010-04-28  Bruno Haible  <bruno@clisp.org>
29497
29498         getdate: Generate getdate.c in the source directory.
29499         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
29500         MOSTLYCLEANFILES.
29501         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
29502
29503 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
29504
29505         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
29506         is not declared as a const *; avoid warnings in that case.
29507
29508 2010-04-28  Eric Blake  <eblake@redhat.com>
29509
29510         canonicalize-lgpl: avoid compiler warning
29511         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
29512         declaration' / 'extraneous semicolon' warning with some compilers.
29513         Reported by Andreas Gruenbacher.
29514
29515 2010-04-28  Jim Meyering  <meyering@redhat.com>
29516
29517         init.sh: ensure a more reliable exit status when exiting via trap
29518         * tests/init.sh (setup_): Don't rely on $? in signal handler.
29519         Inspired by patches from Dmitry V. Levin.
29520         Also trap on signal 3 (SIGQUIT).
29521
29522 2010-04-27  Bruno Haible  <bruno@clisp.org>
29523
29524         Update doc about utimes().
29525         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
29526         'utimens' module.
29527         Reported by Andreas Gruenbacher <agruen@suse.de>.
29528
29529 2010-04-27  Eric Blake  <eblake@redhat.com>
29530
29531         full-read, full-write: relax license
29532         * modules/full-read (License): Drop to LGPLv2+.
29533         * modules/full-write (License): Likewise.
29534         * modules/safe-read (License): Likewise.
29535         * modules/safe-write (License): Likewise.
29536
29537         pthread: mention library for linking
29538         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29539
29540 2010-04-27  Jim Meyering  <meyering@redhat.com>
29541
29542         maint.mk: fix a bug introduced in last change
29543         * top/maint.mk (gl_assured_headers_): Now that all names are on
29544         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29545         is not anchored to end of word, it should be adequate.
29546
29547         maint.mk: avoid side-effect in latest syntax-check
29548         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29549         to run commands via $(shell...), and hence to incur cost only when
29550         the new rule is actually run.
29551
29552         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29553         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29554         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29555         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29556         (gl_assured_headers_, az_, AZ_): Define.
29557         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29558
29559 2010-04-26  Jim Meyering  <jim@meyering.net>
29560             Bruno Haible  <bruno@clisp.org>
29561
29562         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29563         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29564         Prompted by an exchange with Gilles Espinasse.
29565
29566 2010-04-26  Jim Meyering  <meyering@redhat.com>
29567
29568         git-version-gen: aesthetic tweak
29569         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29570         so that the command remains on a single line.
29571
29572 2010-04-26  Eric Blake  <eblake@redhat.com>
29573
29574         git-version-gen: allow use on EBCDIC hosts
29575         * build-aux/git-version-gen (dirty): Use literal rather than tying
29576         ourselves to ascii.
29577         Reported by Steve Goetze.
29578
29579 2010-04-25  Bruno Haible  <bruno@clisp.org>
29580
29581         netdb: Add support for GNULIB_POSIXCHECK.
29582         * lib/netdb.in.h: Include warn-on-use.h.
29583         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29584         functions are used when GNULIB_POSIXCHECK is defined and the
29585         getaddrinfo module is not in use.
29586         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29587         freeaddrinfo, gai_strerror, getnameinfo are declared.
29588         * modules/netdb (Depends-on): Add warn-on-use.
29589         (Makefile.am): Include warn-on-use.h in netdb.h.
29590
29591 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29592
29593         build: avoid "make check" failure without .git/ directory
29594         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29595         there is no .git/ directory.
29596
29597 2010-04-25  Bruno Haible  <bruno@clisp.org>
29598
29599         ptsname: Fix misuse of ttyname_r.
29600         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29601         of errno.
29602
29603 2010-04-25  Bruno Haible  <bruno@clisp.org>
29604
29605         ttyname_r: Make it work on Solaris 10.
29606         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29607         if the system function has the POSIX declaration. Test whether the
29608         function fails if the buffer is less than 128 bytes large.
29609         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29610         system's ttyname_r function. Provide a reasonably large buffer.
29611         * modules/ttyname_r (Depends-on): Add extensions.
29612         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29613
29614 2010-04-25  Bruno Haible  <bruno@clisp.org>
29615
29616         Use the 'extensions' module for some more functions on Solaris.
29617         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29618         module.
29619         * doc/posix-functions/ctime_r.texi: Likewise.
29620         * doc/posix-functions/getgrgid_r.texi: Likewise.
29621         * doc/posix-functions/getgrnam_r.texi: Likewise.
29622         * doc/posix-functions/getpwnam_r.texi: Likewise.
29623         * doc/posix-functions/getpwuid_r.texi: Likewise.
29624         * doc/posix-functions/readdir_r.texi: Likewise.
29625         * doc/posix-functions/sigwait.texi: Likewise.
29626         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29627         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29628
29629 2010-04-25  Bruno Haible  <bruno@clisp.org>
29630
29631         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29632         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29633         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29634         * lib/ttyname_r.c: Include <limits.h>.
29635         (ttyname_r): Define using the system's ttyname_r function, if it exists
29636         and not on Solaris.
29637         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29638         set.
29639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29640         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29641         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29642         Reported by Simon Josefsson.
29643
29644 2010-04-25  Bruno Haible  <bruno@clisp.org>
29645
29646         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29647         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29648         * doc/posix-functions/ctime_r.texi: Likewise.
29649         * doc/posix-functions/getgrgid_r.texi: Likewise.
29650         * doc/posix-functions/getgrnam_r.texi: Likewise.
29651         * doc/posix-functions/getlogin_r.texi: Likewise.
29652         * doc/posix-functions/getpwnam_r.texi: Likewise.
29653         * doc/posix-functions/getpwuid_r.texi: Likewise.
29654         * doc/posix-functions/readdir_r.texi: Likewise.
29655         * doc/posix-functions/sigwait.texi: Likewise.
29656         * doc/posix-functions/ttyname_r.texi: Likewise.
29657         Reported by Simon Josefsson.
29658
29659 2010-04-25  Bruno Haible  <bruno@clisp.org>
29660
29661         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29662         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29663         also to --create-testdir.
29664         (func_acceptable): Don't consider the status of *-tests modules here.
29665         (func_modules_transitive_closure): Consider it here, before including a
29666         test module.
29667         (func_import, func_create_testdir): Set inc_all_direct_tests,
29668         inc_all_indirect_tests.
29669         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29670         --create-testdir and --create-megatestdir.
29671
29672 2010-04-25  Bruno Haible  <bruno@clisp.org>
29673
29674         gnulib-tool: Add --without-*-tests options.
29675         * gnulib-tool (func_usage): Document the --without-*-tests options.
29676         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29677         excl_unportable_tests): New variables.
29678         Fail if they are specified with --import or --update.
29679         (func_acceptable): Respect the excl_*_tests variables.
29680         (func_import): Set the excl_*_tests variables to empty.
29681
29682 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29683             Bruno Haible  <bruno@clisp.org>
29684
29685         Work around a MacOS X 10.4 bug with openpty.
29686         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29687         * tests/test-openpty.c (main): Close the master side explicitly.
29688
29689 2010-04-25  Bruno Haible  <bruno@clisp.org>
29690
29691         strnlen: Fix a C++ test error on MacOS X and Solaris.
29692         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29693         the function is not declared.
29694         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29695         Simon Josefsson.
29696
29697 2010-04-24  Bruno Haible  <bruno@clisp.org>
29698
29699         Avoid a gcc warning.
29700         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29701         of correct type for %08lx directive.
29702         Reported by Eric Blake.
29703
29704 2010-04-24  Bruno Haible  <bruno@clisp.org>
29705
29706         vasnprintf: Correct errno value in case of out-of-memory.
29707         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29708         or sprintf. Use the errno value from SNPRINTF or sprintf.
29709         Reported by Ian Beckwith <ianb@erislabs.net>.
29710
29711 2010-04-24  Bruno Haible  <bruno@clisp.org>
29712
29713         ansi-c++-opt: Find correct compiler when cross-compiling.
29714         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29715         AC_CHECK_PROGS.
29716         Reported by Simon Josefsson.
29717
29718 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29719
29720         vc-list-files: Add support for subversion
29721         * build-aux/vc-list-files: Use "svn list" to generate the list of
29722         files controlled by subversion.
29723
29724 2010-04-23  Jim Meyering  <meyering@redhat.com>
29725
29726         vc-list-files tests: convert to use init.sh
29727         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29728         path_prepend_.
29729         Use Exit, not exit.
29730         Use skip_ rather than open coding it.
29731         Remove trap set-up and compare definitions.
29732         * tests/test-vc-list-files-git.sh: Likewise.
29733         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29734
29735 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29736
29737         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29738         backup files.
29739
29740 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29741
29742         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29743
29744 2010-04-20  Eric Blake  <eblake@redhat.com>
29745
29746         tests: be robust to ignored SIGPIPE
29747         * tests/test-select-in.sh: Consume all output.
29748         * tests/test-lseek.sh: Check correct exit status, while avoiding
29749         EPIPE.
29750
29751 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29752             Bruno Haible  <bruno@clisp.org>
29753
29754         visibility: Don't use -fvisibility if it leads to a warning.
29755         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29756         yes, don't pretend that visibility works if it leads to a warning.
29757         Reported by Mike Gran <spk121@yahoo.com>.
29758
29759 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29760
29761         * build-aux/bootstrap: Use "git -h" for testing for supported options
29762         instead of "git --help".  The short-form option only shows a summary,
29763         and doesn't layout the full man page.  Grep for the full option name
29764         in the summary, too.
29765
29766 2010-04-19  Bruno Haible  <bruno@clisp.org>
29767
29768         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29769         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29770         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29771         mention of RELOCATABLE_STRIP.
29772         Reported by Sylvain Beucler <beuc@beuc.net>.
29773
29774 2010-04-19  Bruno Haible  <bruno@clisp.org>
29775
29776         * lib/diffseq.h: Fix typo in comment.
29777         Reported by Eric Blake.
29778
29779 2010-04-19  Bruno Haible  <bruno@clisp.org>
29780
29781         ioctl: Move autoconf macro to a .m4 file.
29782         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29783         * modules/ioctl (Files): Add it.
29784         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29785         Reported by Ian Beckwith <ianb@erislabs.net>.
29786
29787 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29788             Bruno Haible  <bruno@clisp.org>
29789
29790         diffseq: Accommodate use-case with abstract arrays.
29791         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29792         is not defined.
29793         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29794         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29795
29796 2010-04-18  Bruno Haible  <bruno@clisp.org>
29797
29798         * doc/posix-headers/stdbool.texi: More precise wording.
29799
29800 2010-04-17  Jim Meyering  <meyering@redhat.com>
29801
29802         maint.mk: use gnu-style indentation in an embedded perl script
29803         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29804         Rename variable: s/two/last_two_bytes/
29805
29806 2010-04-16  Eric Blake  <eblake@redhat.com>
29807
29808         test-stdbool: skip test that fails with Solaris CC
29809         * tests/test-stdbool.c (f): Skip test that causes compilation
29810         error under buggy C++ compiler.
29811         * lib/stdbool.in.h: Document the limitation.
29812         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29813
29814         setenv: allow compilation with C++
29815         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29816         register keyword.
29817
29818         stdint: allow test to pass with C++
29819         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29820
29821         getopt: allow compilation with C++
29822         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29823         struct.
29824         * lib/getopt.c (_getopt_internal_r): Use correct type.
29825         Reported by Dagobert Michelson, via Joel E. Denny.
29826
29827 2010-04-16  Bruno Haible  <bruno@clisp.org>
29828
29829         Override netdb.h always.
29830         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29831         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29832         Reported by Ludovic Courtès <ludo@gnu.org>.
29833
29834 2010-04-15  Bruno Haible  <bruno@clisp.org>
29835
29836         openpty: Fix mistake from 2010-03-21.
29837         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29838         Reported by Simon Josefsson.
29839
29840 2010-04-15  Eric Blake  <eblake@redhat.com>
29841
29842         test-forkpty: fix expected signature
29843         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29844         Reported by Simon Josefsson.
29845
29846 2010-04-15  Jim Meyering  <meyering@redhat.com>
29847
29848         maint.mk: texinfo_suffix_re_: correct the default regexp
29849         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29850
29851         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29852         make it configurable via texinfo_suffix_re_.
29853
29854 2010-04-14  Eric Blake  <eblake@redhat.com>
29855
29856         strtok_r: relax license to LGPLv2+
29857         * modules/strtok_r (License): Relax license.
29858         Reported by Matthias Bolte.
29859
29860 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29861
29862         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29863         version 1.4.4 by default instead of requiring the libgcrypt
29864         version used during build.  This makes it possible to use the
29865         application with older but still binary compatible libgcrypt
29866         versions.
29867
29868 2010-04-13  Eric Blake  <eblake@redhat.com>
29869
29870         getopt-gnu: match recent glibc fixes and posix ruling
29871         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29872         '+' handling, when requesting extensions.
29873         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29874         'W;' handling.
29875         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29876         * doc/posix-functions/getopt.texi (getopt): Document this.
29877         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29878         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29879         Likewise.
29880
29881         getopt: merge bug fixes from glibc
29882         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29883         diagnostics.  Honor '+:' correctly.  Reject ';'.
29884
29885         getopt-posix: detect MacOS bug
29886         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29887         optind when missing a required argument.
29888         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29889         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29890         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29891         Likewise.
29892
29893         getopt-posix: avoid spurious failure on Solaris
29894         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29895         an indicator that setting optind=1 is sufficient for reset.
29896
29897         getopt-posix: avoid spurious failure on FreeBSD
29898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29899         in POSIX mode, since the m4 test uses it.
29900
29901         gnulib-tool: silence warning on BSD sh
29902         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29903
29904 2010-04-13  Jim Meyering  <meyering@redhat.com>
29905
29906         doc: users.txt: GNU patch now uses gnulib
29907         * users.txt: Add patch.
29908
29909 2010-04-12  Jim Meyering  <meyering@redhat.com>
29910
29911         maint.mk: generate more concise timing data for syntax-check rules
29912         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
29913         " done" from each line that reports a syntax-check test duration.
29914
29915 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
29916
29917         git-version-gen: use "git update-index..." rather than "git status"
29918         * build-aux/git-version-gen: Use git update-index --refresh, not
29919         "git status".  With some versions of git, "git status" would fail
29920         to update the index and result in an unwarranted "-dirty" suffix.
29921
29922 2010-04-11  Jim Meyering  <meyering@redhat.com>
29923
29924         openat: correct formatting (no semantic change)
29925         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
29926         Suggested by Bruno Haible.
29927
29928 2010-04-11  Bruno Haible  <bruno@clisp.org>
29929
29930         Stricter declaration checking in testdirs.
29931         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29932         If for_tests is true, augment AM_CPPFLAGS to define
29933         GNULIB_STRICT_CHECKING.
29934         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
29935         GNULIB_STRICT_CHECKING is defined, verify that the function is
29936         declared.
29937
29938 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
29939             Bruno Haible  <bruno@clisp.org>
29940
29941         libunistring: Improve configure output.
29942         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
29943         Don't say "consider installing GNU libunistring" when checking again
29944         with libiconv.
29945
29946 2010-04-11  Bruno Haible  <bruno@clisp.org>
29947
29948         libunistring: Correct value of $LTLIBUNISTRING.
29949         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
29950         correct the value of $LTLIBUNISTRING.
29951
29952 2010-04-11  Bruno Haible  <bruno@clisp.org>
29953
29954         havelib: Add static libraries to LIBS in the right order.
29955         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
29956         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
29957
29958 2010-04-11  Bruno Haible  <bruno@clisp.org>
29959
29960         libunistring: Detect libunistring also when it depends on libiconv.
29961         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
29962         the second AC_LIB_HAVE_LINKFLAGS invocation.
29963
29964 2010-04-11  James Youngman  <jay@gnu.org>
29965
29966         close-stream: declare local scalars to be "const"
29967         * lib/close-stream.c (close_stream): Make boolean variables const
29968         to document the fact that we set but do not change them.
29969
29970 2010-04-11  Bruno Haible  <bruno@clisp.org>
29971
29972         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
29973
29974 2010-04-11  Jim Meyering  <meyering@redhat.com>
29975
29976         maint.mk: don't include dist-check.mk
29977         * top/maint.mk: Remove bogus include directive.
29978
29979         maint.mk: improve empty-line-at-EOF check
29980         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
29981         solution, rather than tail+Perl-based one.  The latter would read
29982         a few kilobytes from the end of each file, and did not handle empty
29983         files properly.
29984
29985         maint.mk: print the elapsed time for each syntax-check rule
29986         * top/maint.mk (sc_m_rules_): Save start time in a file.
29987         (sc_z_rules_): New rules: remove temp file and print elapsed time.
29988         (local-check): Interpose the .z rules
29989
29990 2010-04-11  Jim Meyering  <meyering@redhat.com>
29991
29992         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
29993         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
29994         empty file with one that ends in an empty line.
29995
29996 2010-04-10  Bruno Haible  <bruno@clisp.org>
29997
29998         mkdir: Make it work on mingw64.
29999         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30000         * lib/mkdir.c: Update comment.
30001         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30002
30003 2010-04-10  Bruno Haible  <bruno@clisp.org>
30004
30005         Don't override improved macro from newer autoconf.
30006         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30007         autoconf >= 2.62.
30008         Reported by Joel E. Denny <jdenny@clemson.edu>.
30009
30010 2010-04-10  Jim Meyering  <meyering@redhat.com>
30011
30012         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30013         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30014
30015         maint.mk: correct a diagnostic
30016         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30017         in diagnostic; now use $prohibit.
30018
30019 2010-04-10  Bruno Haible  <address@hidden>
30020
30021         fchownat: Fix a C++ test error on Solaris 8.
30022         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30023         the function does not exist.
30024
30025 2010-04-10  Bruno Haible  <bruno@clisp.org>
30026
30027         vasnprintf: Add more tests.
30028         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30029         (test_function): Test converting an invalid wide string.
30030
30031         vasnprintf: Correct handling of unconvertible wide string arguments.
30032         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30033         VASNPRINTF.
30034         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30035         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30036         smaller than the expected maximum need for the directive. Set errno to
30037         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30038         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30039         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30040         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30041         * modules/vasnprintf (Files): Add m4/printf.m4.
30042         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30043
30044 2010-04-10  Bruno Haible  <bruno@clisp.org>
30045
30046         vasnprintf: Fix crash in %ls directive.
30047         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30048         string is passed as argument to %ls, with no precision and no width.
30049         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30050
30051 2010-04-10  Bruno Haible  <bruno@clisp.org>
30052
30053         vasnprintf: Fix multiple test failures on mingw.
30054         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30055         _snprintf, or snwprintf, not _snwprintf.
30056
30057 2010-04-10  Bruno Haible  <bruno@clisp.org>
30058
30059         write: Fix a C++ test error on mingw.
30060         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30061
30062 2010-04-10  Bruno Haible  <bruno@clisp.org>
30063
30064         vasnprintf test: Reduce code duplication.
30065         * tests/test-vasnprintf.c (test_function): New function, extracted from
30066         test_vasnprintf.
30067         (test_vasnprintf, test_asnprintf): Invoke it.
30068
30069 2010-04-10  Bruno Haible  <bruno@clisp.org>
30070
30071         strnlen: Fix warning in C++ mode on MacOS X.
30072         * lib/string.in.h (strnlen): Use the modern idiom.
30073         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30074         defining strnlen as a macro already in <config.h>.
30075         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30076         REPLACE_STRNLEN.
30077         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30078         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30079
30080 2010-04-08  James Youngman  <jay@gnu.org>
30081
30082         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30083         the example.
30084
30085 2010-04-09  Jim Meyering  <meyering@redhat.com>
30086
30087         maint.mk: print better diagnostic when there is no $(_hv_file)
30088         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30089         announce that when $(_hv_file) (aka help-version) does not exist.
30090
30091         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30092         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30093         not try to interpret its random input bytes.  Jarno Rajahalme reported
30094         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30095         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30096         (mktempd_): Likewise, just in case.
30097
30098         ftruncate: add two years to projected module removal date: 2012
30099         * m4/ftruncate.m4: Adjust comments.
30100
30101         ftruncate: mark module as obsolete; even MinGW provides it, now
30102         * modules/ftruncate (Status): Obsolete.
30103         (Notice): Say that.
30104         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30105         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30106
30107 2010-04-08  Bruno Haible  <bruno@clisp.org>
30108
30109         Fix side effects from tests-related modules.
30110         * modules/dprintf-posix (Comment): New section.
30111         * modules/fprintf-posix (Comment): Likewise.
30112         * modules/obstack-printf-posix (Comment): Likewise.
30113         * modules/printf-posix (Comment): Likewise.
30114         * modules/snprintf-posix (Comment): Likewise.
30115         * modules/sprintf-posix (Comment): Likewise.
30116         * modules/vasnprintf-posix (Comment): Likewise.
30117         * modules/vasprintf-posix (Comment): Likewise.
30118         * modules/vdprintf-posix (Comment): Likewise.
30119         * modules/vfprintf-posix (Comment): Likewise.
30120         * modules/vprintf-posix (Comment): Likewise.
30121         * modules/vsnprintf-posix (Comment): Likewise.
30122         * modules/vsprintf-posix (Comment): Likewise.
30123         * modules/xprintf-posix (Comment): Likewise.
30124         * modules/xvasprintf-posix (Comment): Likewise.
30125         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30126         * modules/floorf-tests (Depends-on): Likewise.
30127         * modules/round-tests (Depends-on): Likewise.
30128         * modules/roundf-tests (Depends-on): Likewise.
30129         * modules/trunc-tests (Depends-on): Likewise.
30130         * modules/truncf-tests (Depends-on): Likewise.
30131         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30132         'fprintf-posix' module is not present.
30133         * tests/test-floorf2.c (check): Likewise.
30134         * tests/test-trunc2.c (check): Likewise.
30135         * tests/test-truncf2.c (check): Likewise.
30136         * tests/test-round2.c (equal): Likewise.
30137         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30138
30139 2010-04-07  Karl Berry  <karl@gnu.org>
30140
30141         * config/srclist.txt,
30142         * config/srclistvars.sh,
30143         * config/srclist-update: doc fixes.
30144
30145 2010-04-07  Jim Meyering  <meyering@redhat.com>
30146
30147         maint.mk: add a PATH crosschecking syntax-check rule
30148         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30149         Useful if you use a test like the one in help-version (coreutils,
30150         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30151         printed by prog --version.
30152
30153 2010-04-06  Bruno Haible  <bruno@clisp.org>
30154
30155         Fix link error on mingw.
30156         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30157         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30158
30159 2010-04-06  Bruno Haible  <bruno@clisp.org>
30160
30161         Assume rmdir exists.
30162         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30163
30164 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30165
30166         doc: update users.txt
30167         * users.txt: Add gcal.
30168
30169 2010-04-06  Jim Meyering  <meyering@redhat.com>
30170
30171         init.sh: simply unset TMPDIR rather than risking env -i
30172         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30173         although it probably works fine on all Unix-based systems, some
30174         systems (Cygwin?) cannot tolerate a totally cleared environment.
30175         Suggestion from Eric Blake.
30176
30177 2010-04-06  Jim Meyering  <meyering@redhat.com>
30178
30179         init.sh: portability fix: use env's POSIX-specified -i option not -u
30180         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30181         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30182
30183 2010-04-05  Bruno Haible  <bruno@clisp.org>
30184
30185         btowc: Work around Cygwin 1.7.2 bug.
30186         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30187         does not map NUL to 0.
30188         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30189
30190 2010-04-05  Bruno Haible  <bruno@clisp.org>
30191
30192         Make the multithread modules work on Cygwin 1.7.2.
30193         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30194         imported symbols can be declared weak, so that it returns "no" on
30195         Cygwin 1.7.2.
30196
30197 2010-04-05  Bruno Haible  <bruno@clisp.org>
30198
30199         Use the module 'strncat'.
30200         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30201
30202         Tests for module 'strncat'.
30203         * modules/strncat-tests: New file.
30204         * tests/test-strncat.c: New file.
30205
30206         New module 'strncat'.
30207         * lib/string.in.h (strncat): New declaration.
30208         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30209         * m4/strncat.m4: New file, based on m4/memchr.m4.
30210         * modules/strncat: New file.
30211         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30212         is declared.
30213         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30214         REPLACE_STRNCAT.
30215         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30216         REPLACE_STRNCAT.
30217         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30218         module.
30219         * tests/test-string-c++.cc: Check signature of strncat.
30220
30221 2010-04-05  Jim Meyering  <meyering@redhat.com>
30222
30223         xstrtoumax-tests: convert to use init.sh
30224         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30225         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30226         Use Exit, not exit.
30227         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30228
30229         xstrtoimax-tests: convert to use init.sh
30230         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30231         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30232         Use Exit, not exit.
30233         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30234
30235 2010-04-05  Bruno Haible  <bruno@clisp.org>
30236
30237         sys_socket: Avoid #define replacements in C++ mode.
30238         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30239         warning to the function if possible, rather than #defining the symbol
30240         to a dysfunctional alias.
30241
30242 2010-04-05  Bruno Haible  <bruno@clisp.org>
30243
30244         fseeko: Fix C++ test error on mingw.
30245         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30246         gl_FUNC_FSEEKO.
30247         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30248         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30249         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30250         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30251
30252 2010-04-05  Bruno Haible  <bruno@clisp.org>
30253
30254         duplocale: Improve test output.
30255         * tests/test-duplocale.c (main): Print reason for skipped test.
30256
30257 2010-04-05  Bruno Haible  <bruno@clisp.org>
30258
30259         Assume rmdir exists.
30260         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30261         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30262
30263 2010-04-05  Bruno Haible  <bruno@clisp.org>
30264
30265         Fix link error on Solaris 8 with cc.
30266         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30267
30268 2010-04-05  Bruno Haible  <bruno@clisp.org>
30269
30270         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30271         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30272
30273 2010-04-05  Bruno Haible  <bruno@clisp.org>
30274
30275         vasprintf: Update documentation.
30276         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30277
30278 2010-04-05  Bruno Haible  <bruno@clisp.org>
30279
30280         ptsname: Improve test.
30281         * tests/test-ptsname.c (main): Also try the various master names of BSD
30282         systems.
30283
30284 2010-04-05  Bruno Haible  <bruno@clisp.org>
30285
30286         memchr: Avoid a possible C++ test error.
30287         * lib/string.in.h (memchr): Provide declaration if function is missing.
30288         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30289         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30291         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30292
30293 2010-04-05  Bruno Haible  <bruno@clisp.org>
30294
30295         strtok_r: Improve idiom.
30296         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30297         AC_LIBOBJ is used.
30298
30299 2010-04-05  Bruno Haible  <bruno@clisp.org>
30300
30301         strdup: Improve idiom.
30302         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30303         AC_LIBOBJ is used.
30304         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30305         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30306         when AC_LIBOBJ is used.
30307
30308 2010-04-05  Bruno Haible  <bruno@clisp.org>
30309
30310         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30311         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30312         don't set REPLACE_MBSINIT to 1.
30313         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30314         don't set REPLACE_MBRTOWC to 1.
30315         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30316         exist, don't set REPLACE_MBSRTOWCS to 1.
30317         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30318         exist, don't set REPLACE_MBSNRTOWCS to 1.
30319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30320         don't set REPLACE_WCRTOMB to 1.
30321         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30322         exist, don't set REPLACE_WCSRTOMBS to 1.
30323         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30324         exist, don't set REPLACE_WCSNRTOMBS to 1.
30325
30326 2010-04-05  Bruno Haible  <bruno@clisp.org>
30327
30328         ldexpl: Improve idiom.
30329         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30330         make sure to set HAVE_DECL_LDEXPL to 0.
30331
30332 2010-04-05  Jim Meyering  <meyering@redhat.com>
30333
30334         xstrtol-tests: convert to use init.sh
30335         * modules/xstrtol-tests (Files): Add tests/init.sh.
30336         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30337         Use Exit, not exit.
30338         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30339
30340         atexit-tests: convert to use init.sh
30341         * modules/atexit-tests (Files): Add tests/init.sh.
30342         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30343         Use Exit, not exit.
30344         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30345
30346         init.sh: fix typo
30347         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30348
30349         init.sh: make it easier for a test script to write to the tty, ...
30350         when using automake's parallel-tests mode.
30351         * tests/init.sh (stderr_fileno_): Define overridable variable.
30352         (warn_): New function, to use it.
30353         (fail_, skip_, framework_failure_): Use warn_.
30354
30355 2010-04-04  Bruno Haible  <bruno@clisp.org>
30356
30357         btowc: Avoid warning.
30358         * lib/btowc.c: Include <stdlib.h>.
30359         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30360
30361 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30362             Bruno Haible  <bruno@clisp.org>
30363
30364         wchar: Port to NetBSD 1.5.
30365         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30366         * lib/wctype.in.h (WEOF): Likewise.
30367
30368 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30369             Bruno Haible  <bruno@clisp.org>
30370
30371         Port extended stdio to NetBSD 1.5.
30372         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30373         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30374         older.
30375
30376 2010-04-04  Bruno Haible  <bruno@clisp.org>
30377
30378         string: Remove unused substitution.
30379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30380         HAVE_DECL_STRERROR.
30381         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30382
30383 2010-04-04  Bruno Haible  <bruno@clisp.org>
30384
30385         strtod: Avoid a possible C++ test error.
30386         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30387         set REPLACE_STRTOD.
30388
30389 2010-04-04  Bruno Haible  <bruno@clisp.org>
30390
30391         strerror: Update documentation.
30392         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30393
30394 2010-04-04  Bruno Haible  <bruno@clisp.org>
30395
30396         stdio: Fix some C++ test errors on Solaris 8 with GCC.
30397         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
30398         _GL_CXXALIAS_SYS_CAST.
30399
30400 2010-04-04  Bruno Haible  <bruno@clisp.org>
30401
30402         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30403         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
30404         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
30405         REPLACE_FREXPL to 1.
30406         * doc/posix-functions/frexpl.texi: Update documentation.
30407
30408 2010-04-04  Bruno Haible  <bruno@clisp.org>
30409
30410         math: Fix some C++ test errors on Solaris 8 and Cygwin.
30411         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
30412
30413 2010-04-04  Bruno Haible  <bruno@clisp.org>
30414
30415         Implement nanosleep for native Windows.
30416         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
30417
30418 2010-04-04  Bruno Haible  <bruno@clisp.org>
30419
30420         math: Fix some C++ test errors on Solaris 8.
30421         * lib/math.in.h (truncf, trunc): Use simpler idiom.
30422
30423 2010-04-04  Bruno Haible  <bruno@clisp.org>
30424
30425         math: Fix some C++ test errors on Cygwin.
30426         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
30427         truncl): Provide declaration if the system does not have it.
30428         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
30429         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
30430         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
30431         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
30432         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
30433         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
30434         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
30435         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
30436         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
30437         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
30438         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
30439         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
30440         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
30441         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
30442         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
30443         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
30444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
30445         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30446         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30447         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
30448         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30449         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30450
30451 2010-04-04  Bruno Haible  <bruno@clisp.org>
30452
30453         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
30454         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30455         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30456         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30457         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30458         * m4/isinf.m4 (gl_ISINF): Likewise.
30459         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30460
30461 2010-04-04  Bruno Haible  <bruno@clisp.org>
30462
30463         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
30464         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30465
30466 2010-04-04  Bruno Haible  <bruno@clisp.org>
30467
30468         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
30469         * modules/tmpfile (configure.ac): Update.
30470
30471         tmpfile: Fix C++ test error on mingw.
30472         * lib/stdio.in.h (tmpfile): New declaration.
30473         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
30474         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
30475         * modules/tmpfile (Depends-on): Add stdio.
30476         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30477         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
30478         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
30479         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
30480         REPLACE_TMPFILE.
30481         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
30482
30483 2010-04-04  Bruno Haible  <bruno@clisp.org>
30484
30485         ioctl: Fix C++ test error on mingw.
30486         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
30487         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
30488         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
30489
30490 2010-04-03  Bruno Haible  <bruno@clisp.org>
30491
30492         wcwidth: Fix C++ test error on mingw.
30493         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
30494         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
30495         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
30496
30497 2010-04-03  Bruno Haible  <bruno@clisp.org>
30498
30499         nanosleep: Fix C++ test error on mingw.
30500         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
30501         * lib/time.in.h (nanosleep): Use modern idiom.
30502         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
30503         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
30504         REPLACE_NANOSLEEP to 1.
30505         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
30506         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
30507
30508 2010-04-03  Bruno Haible  <bruno@clisp.org>
30509
30510         strptime: Fix C++ test error on mingw.
30511         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
30512         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
30513         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
30514         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
30515         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
30516         not REPLACE_STRPTIME.
30517         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
30518         REPLACE_STRPTIME.
30519
30520 2010-04-03  Bruno Haible  <bruno@clisp.org>
30521
30522         timegm: Fix C++ test error on mingw.
30523         * lib/time.in.h (timegm): Use modern idiom.
30524         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
30525         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
30526         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
30527         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
30528
30529 2010-04-03  Bruno Haible  <bruno@clisp.org>
30530
30531         timegm: Assume declaration if function exists.
30532         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30533         if it exists. Don't clobber ac_cv_func_timegm.
30534
30535 2010-04-03  Bruno Haible  <bruno@clisp.org>
30536
30537         time_r: Fix C++ test error on mingw.
30538         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30539         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30540         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30541         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30542         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30543
30544 2010-04-03  Bruno Haible  <bruno@clisp.org>
30545
30546         time_r: Minor updates.
30547         * modules/time_r (Description): Mention the provided functions.
30548         * lib/time_r.c: Don't include <string.h>.
30549         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30550         * doc/posix-functions/localtime_r.texi: Likewise.
30551
30552 2010-04-03  Bruno Haible  <bruno@clisp.org>
30553
30554         time: Fix regression introduced on 2010-03-08.
30555         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30556         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30557
30558 2010-04-03  Jim Meyering  <meyering@redhat.com>
30559
30560         maint.mk: don't silently disable project-specific syntax-check rules
30561         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30562         that they need to convert their project-specific syntax-check rules
30563         to use the new _sc_search_regexp.
30564
30565 2010-04-03  Bruno Haible  <bruno@clisp.org>
30566
30567         fchdir: Fix regression introduced on 2010-03-08.
30568         * lib/unistd.in.h (fchdir): Fix declaration.
30569         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30571         REPLACE_FCHDIR.
30572         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30573         REPLACE_FCHDIR.
30574
30575 2010-04-03  Bruno Haible  <bruno@clisp.org>
30576
30577         getpagesize: Fix C++ test error on mingw.
30578         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30579         system does not declare the function.
30580         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30581         declared.
30582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30583         HAVE_DECL_GETPAGESIZE.
30584         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30585
30586 2010-04-03  Bruno Haible  <bruno@clisp.org>
30587
30588         stdio: Make C++ tests work on mingw.
30589         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30590         does not declare the function.
30591
30592 2010-04-03  Bruno Haible  <bruno@clisp.org>
30593
30594         ftello: Fix C++ test error on mingw.
30595         * lib/stdio.in.h (ftello): Use modern idiom.
30596         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30597         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30598         is missing and that it needs to be replaced.
30599         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30601         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30602
30603 2010-04-03  Bruno Haible  <bruno@clisp.org>
30604
30605         fseeko: Fix C++ test error on mingw.
30606         * lib/stdio.in.h (fseeko): Use modern idiom.
30607         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30608         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30609         is missing and that it needs to be replaced.
30610         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30612         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30613
30614 2010-04-03  Bruno Haible  <bruno@clisp.org>
30615
30616         mkstemp: Fix C++ test error on mingw.
30617         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30618         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30619         function is missing and that it needs to be replaced.
30620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30621         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30622
30623 2010-04-03  Bruno Haible  <bruno@clisp.org>
30624
30625         stpncpy: Fix C++ test error on mingw.
30626         * lib/string.in.h (stpncpy): Use modern idiom.
30627         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30628         function is missing and that it needs to be replaced.
30629         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30630         REPLACE_STPNCPY.
30631         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30632
30633 2010-04-03  Bruno Haible  <bruno@clisp.org>
30634
30635         sys_stat: Fix C++ test error on mingw.
30636         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30637         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30638
30639 2010-04-03  Bruno Haible  <bruno@clisp.org>
30640
30641         pty: Update doc.
30642         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30643
30644 2010-04-03  Bruno Haible  <bruno@clisp.org>
30645
30646         unistd: Fix C++ test error on mingw.
30647         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30648
30649 2010-04-03  Bruno Haible  <bruno@clisp.org>
30650
30651         Update doc regarding mingw.
30652         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30653         * doc/glibc-functions/login_tty.texi: Likewise.
30654         * doc/glibc-functions/forkpty.texi: Likewise.
30655
30656 2010-04-03  Bruno Haible  <bruno@clisp.org>
30657
30658         stdlib: Avoid compilation failure of c-strtold on mingw.
30659         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30660
30661 2010-04-03  Bruno Haible  <bruno@clisp.org>
30662
30663         locale: Make C++ tests work on Cygwin and mingw.
30664         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30665         cannot provide the function.
30666         Reported by Simon Josefsson.
30667
30668 2010-04-03  Bruno Haible  <bruno@clisp.org>
30669
30670         localename: Port to MacOS X 10.6.
30671         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30672         memory layout of the locales in MacOS X 10.6 as well.
30673         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30674
30675 2010-04-02  Bruno Haible  <bruno@clisp.org>
30676
30677         gnulib-tool: Ensure that long-running tests are executed last.
30678         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30679         running tests after the one for the other tests.
30680
30681 2010-04-02  Bruno Haible  <bruno@clisp.org>
30682
30683         gnulib-tool: Ensure the tests in the main directory are executed first.
30684         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30685         start with the current directory.
30686
30687 2010-04-02  Bruno Haible  <bruno@clisp.org>
30688
30689         Tests for module 'havelib', moved here from GNU gettext.
30690         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30691         modifications.
30692         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30693         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30694         with modifications.
30695         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30696         modifications.
30697         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30698         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30699         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30700         with modifications.
30701         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30702         with modifications.
30703         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30704         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30705         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30706         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30707         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30708         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30709         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30710         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30711         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30712         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30713         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30714         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30715         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30716         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30717         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30718         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30719         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30720         with modifications.
30721         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30722         with modifications.
30723         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30724         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30725         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30726         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30727         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30728         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30729         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30730         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30731         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30732         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30733         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30734         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30735         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30736         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30737         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30738         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30739         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30740         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30741         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30742         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30743         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30744         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30745         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30746         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30747         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30748         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30749         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30750         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30751         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30752         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30753         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30754         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30755         * tests/havelib/rpathx/rpathx.c: New file, from
30756         gettext/autoconf-lib-link.
30757         * tests/havelib/rpathx/Makefile.am: New file, from
30758         gettext/autoconf-lib-link.
30759         * tests/havelib/rpathx/configure.ac: New file, from
30760         gettext/autoconf-lib-link with modifications.
30761         * tests/havelib/rpathy/rpathy.c: New file, from
30762         gettext/autoconf-lib-link.
30763         * tests/havelib/rpathy/Makefile.am: New file, from
30764         gettext/autoconf-lib-link.
30765         * tests/havelib/rpathy/configure.ac: New file, from
30766         gettext/autoconf-lib-link with modifications.
30767         * tests/havelib/rpathz/rpathz.c: New file, from
30768         gettext/autoconf-lib-link.
30769         * tests/havelib/rpathz/Makefile.am: New file, from
30770         gettext/autoconf-lib-link.
30771         * tests/havelib/rpathz/configure.ac: New file, from
30772         gettext/autoconf-lib-link with modifications.
30773         * tests/havelib/rpathlx/usex.c: New file, from
30774         gettext/autoconf-lib-link.
30775         * tests/havelib/rpathlx/Makefile.am: New file, from
30776         gettext/autoconf-lib-link.
30777         * tests/havelib/rpathlx/configure.ac: New file, from
30778         gettext/autoconf-lib-link with modifications.
30779         * tests/havelib/rpathly/usey.c: New file, from
30780         gettext/autoconf-lib-link.
30781         * tests/havelib/rpathly/Makefile.am: New file, from
30782         gettext/autoconf-lib-link.
30783         * tests/havelib/rpathly/configure.ac: New file, from
30784         gettext/autoconf-lib-link with modifications.
30785         * tests/havelib/rpathlz/usez.c: New file, from
30786         gettext/autoconf-lib-link.
30787         * tests/havelib/rpathlz/Makefile.am: New file, from
30788         gettext/autoconf-lib-link.
30789         * tests/havelib/rpathlz/configure.ac: New file, from
30790         gettext/autoconf-lib-link with modifications.
30791         * tests/havelib/rpathlyx/usey.c: New file, from
30792         gettext/autoconf-lib-link.
30793         * tests/havelib/rpathlyx/Makefile.am: New file, from
30794         gettext/autoconf-lib-link.
30795         * tests/havelib/rpathlyx/configure.ac: New file, from
30796         gettext/autoconf-lib-link with modifications.
30797         * tests/havelib/rpathlzyx/usez.c: New file, from
30798         gettext/autoconf-lib-link.
30799         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30800         gettext/autoconf-lib-link.
30801         * tests/havelib/rpathlzyx/configure.ac: New file, from
30802         gettext/autoconf-lib-link with modifications.
30803         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30804         with modifications.
30805
30806 2010-04-02  Bruno Haible  <bruno@clisp.org>
30807
30808         gnulib-tool: Create distributed built sources also for the tests.
30809         * gnulib-tool (func_create_testdir): Also generate distributed built
30810         sources in the tests directory.
30811
30812 2010-04-02  Bruno Haible  <bruno@clisp.org>
30813
30814         gnulib-tool: Obey user's environment variables.
30815         * gnulib-tool (func_create_testdir): When creating built sources,
30816         respect the environment variables for autoconf, automake, etc. given by
30817         the user.
30818
30819 2010-04-02  Bruno Haible  <bruno@clisp.org>
30820
30821         gnulib-tool: Provide the value of --m4-base to modules.
30822         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30823         of gl_m4_base.
30824
30825 2010-04-02  Eric Blake  <eblake@redhat.com>
30826
30827         maint.mk: fix some fallout
30828         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30829         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30830
30831 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30832
30833         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30834         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30835         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30836         (sc_cast_of_x_alloc_return_value): Likewise.
30837         (sc_cast_of_alloca_return_value): Likewise.
30838         (sc_space_tab): Likewise.
30839         (sc_prohibit_atoi_atof): Likewise.
30840         (sc_prohibit_magic_number_exit): Likewise.
30841         (sc_error_exit_success): Likewise.
30842         (sc_file_system): Likewise.
30843         (sc_prohibit_have_config_h): Likewise.
30844         (sc_require_config_h): Likewise.
30845         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30846         (sc_obsolete_symbols): Likewise.
30847         (sc_changelog): Likewise.
30848         (sc_program_name): Likewise.
30849         (sc_the_the): Likewise.
30850         (sc_trailing_blank): Likewise.
30851         (sc_two_space_separator_in_usage): Likewise.
30852         (sc_useless_cpp_parens): Likewise.
30853         (sc_GPL_version): Likewise.
30854         (sc_GFDL_version): Likewise.
30855         (sc_texinfo_acronym): Likewise.
30856         (sc_prohibit_cvs_keyword): Likewise.
30857         (sc_prohibit_stat_st_blocks): Likewise.
30858         (sc_prohibit_S_IS_definition): Likewise.
30859         (sc_redundant_const): Likewise.
30860         (sc_makefile_TAB_only_indentation): Likewise.
30861         (sc_m4_quote_check): Likewise.
30862         (sc_makefile_path_separator_check): Likewise.
30863         (sc_copyright_check): Likewise.
30864         (sc_Wundef_boolean): Likewise.
30865         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30866
30867         maint.mk: match 0 or more whitespace-before-function-call '('
30868         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30869         that have zero or two-and-more spaces between the function name
30870         and the open parenthesis.
30871         (sc_error_message_warn_fatal): Likewise.
30872         (sc_error_message_uppercase): Likewise.
30873         (sc_error_message_period): Likewise.
30874
30875 2010-03-31  Eric Blake  <eblake@redhat.com>
30876
30877         maint.mk: check for [ as well as test
30878         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30879         Based on a libvirt report by Matthias Bolte.
30880
30881         gnumakefile: don't squelch _version output
30882         * top/GNUmakefile (_version): Create one-shot dependency rather
30883         than using $(shell) when version must be regenerated.
30884         (_autoreconf): Run verbosely, by default.
30885
30886         sys_time: avoid compiler warnings
30887         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30888         unconditional, fixing regression from 2010-03-29.
30889         Reported by Simon Josefsson.
30890
30891 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30892
30893         maint.mk: s/_header_without_use/_sc_header_without_use/
30894         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30895         (sc_prohibit_assert_without_use): Use the new name.
30896         (sc_prohibit_close_stream_without_use): Likewise.
30897         (sc_prohibit_getopt_without_use): Likewise.
30898         (sc_prohibit_quotearg_without_use): Likewise.
30899         (sc_prohibit_quote_without_use): Likewise.
30900         (sc_prohibit_long_options_without_use): Likewise.
30901         (sc_prohibit_inttostr_without_use): Likewise.
30902         (sc_prohibit_ignore_value_without_use): Likewise.
30903         (sc_prohibit_error_without_use): Likewise.
30904         (sc_prohibit_xalloc_without_use): Likewise.
30905         (sc_prohibit_hash_without_use): Likewise.
30906         (sc_prohibit_hash_pjw_without_use): Likewise.
30907         (sc_prohibit_safe_read_without_use): Likewise.
30908         (sc_prohibit_argmatch_without_use): Likewise.
30909         (sc_prohibit_canonicalize_without_use): Likewise.
30910         (sc_prohibit_root_dev_ino_without_use): Likewise.
30911         (sc_prohibit_openat_without_use): Likewise.
30912         (sc_prohibit_c_ctype_without_use): Likewise.
30913         (sc_prohibit_signal_without_use): Likewise.
30914         (sc_prohibit_intprops_without_use): Likewise.
30915
30916 2010-03-30  Eric Blake  <eblake@redhat.com>
30917
30918         maint: improve module indicators
30919         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
30920         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
30921         columns, and avoid extra macro expansion.
30922
30923         fdopendir: work around FreeBSD bug
30924         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30925         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
30926         * modules/dirent (Makefile.am): Substitute it.
30927         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
30928         declaration.
30929         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
30930         fix.
30931         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30932
30933 2010-03-29  Bruno Haible  <bruno@clisp.org>
30934
30935         Emit #pragma system_header after the inclusion guard, not before.
30936         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
30937         guard that spans the entire file, not before. This enables an
30938         optimization in GCC's preprocessor.
30939         * lib/ctype.in.h: Likewise.
30940         * lib/dirent.in.h: Likewise.
30941         * lib/errno.in.h: Likewise.
30942         * lib/float.in.h: Likewise.
30943         * lib/getopt.in.h: Likewise.
30944         * lib/iconv.in.h: Likewise.
30945         * lib/langinfo.in.h: Likewise.
30946         * lib/locale.in.h: Likewise.
30947         * lib/math.in.h: Likewise.
30948         * lib/netdb.in.h: Likewise.
30949         * lib/netinet_in.in.h: Likewise.
30950         * lib/pty.in.h: Likewise.
30951         * lib/sched.in.h: Likewise.
30952         * lib/se-selinux.in.h: Likewise.
30953         * lib/search.in.h: Likewise.
30954         * lib/spawn.in.h: Likewise.
30955         * lib/stdarg.in.h: Likewise.
30956         * lib/stdint.in.h: Likewise.
30957         * lib/string.in.h: Likewise.
30958         * lib/strings.in.h: Likewise.
30959         * lib/sys_file.in.h: Likewise.
30960         * lib/sys_ioctl.in.h: Likewise.
30961         * lib/sys_time.in.h: Likewise.
30962         * lib/sys_times.in.h: Likewise.
30963         * lib/sys_utsname.in.h: Likewise.
30964         * lib/sys_wait.in.h: Likewise.
30965         * lib/sysexits.in.h: Likewise.
30966         * lib/wctype.in.h: Likewise.
30967
30968 2010-03-28  James Youngman  <jay@gnu.org>
30969
30970         save-cwd: don't leak a file descriptor when the caller execs.
30971         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
30972         saved file descriptor.
30973         * modules/save-cwd (Depends-on): Depend on cloexec.
30974
30975 2010-03-29  Bruno Haible  <bruno@clisp.org>
30976
30977         Remove vestiges of fts-lgpl module.
30978         * lib/fts_.h: Assume GNULIB_FTS is 1.
30979         * lib/fts.c: Likewise.
30980         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30981
30982 2010-03-28  Bruno Haible  <bruno@clisp.org>
30983
30984         Fix definition of tests witness macro.
30985         * gnulib-tool (func_import): Fix definition of witness macro.
30986
30987 2010-03-28  Bruno Haible  <bruno@clisp.org>
30988
30989         Fix ioctl's protoype on glibc systems.
30990         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
30991         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
30992         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
30993         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
30994         signature. If not, arrange to replace the ioctl function.
30995         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30996         REPLACE_IOCTL.
30997         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
30998         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
30999         Reported by Ludovic Courtès <ludo@gnu.org>.
31000
31001 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31002
31003         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31004         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31005         made it so grep -r --include=GLOB* ... did not work.
31006
31007 2010-03-26  Jim Meyering  <meyering@redhat.com>
31008             Eric Blake  <eblake@redhat.com>
31009
31010         maint.mk: prohibit use of test's -o and -a operators
31011         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31012
31013 2010-03-28  Bruno Haible  <bruno@clisp.org>
31014
31015         Remove unused GNULIB_XYZ macro definitions.
31016         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31017         invocation.
31018
31019 2010-03-28  Bruno Haible  <bruno@clisp.org>
31020
31021         Mark privileged tests modules.
31022         * modules/idpriv-drop-tests (Status): New section.
31023         * modules/idpriv-droptemp-tests (Status): New section.
31024
31025 2010-03-28  Bruno Haible  <bruno@clisp.org>
31026
31027         Split C++ tests into separate tests modules.
31028         * modules/dirent-c++-tests: New file, extracted from
31029         modules/dirent-tests.
31030         * modules/dirent-tests: Depend on it.
31031         * modules/fcntl-h-c++-tests: New file, extracted from
31032         modules/fcntl-h-tests.
31033         * modules/fcntl-h-tests: Depend on it.
31034         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31035         * modules/glob-tests: Depend on it.
31036         * modules/iconv-h-c++-tests: New file, extracted from
31037         modules/iconv-h-tests.
31038         * modules/iconv-h-tests: Depend on it.
31039         * modules/langinfo-c++-tests: New file, extracted from
31040         modules/langinfo-tests.
31041         * modules/langinfo-tests: Depend on it.
31042         * modules/locale-c++-tests: New file, extracted from
31043         modules/locale-tests.
31044         * modules/locale-tests: Depend on it.
31045         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31046         * modules/math-tests: Depend on it.
31047         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31048         * modules/pty-tests: Depend on it.
31049         * modules/search-c++-tests: New file, extracted from
31050         modules/search-tests.
31051         * modules/search-tests: Depend on it.
31052         * modules/signal-c++-tests: New file, extracted from
31053         modules/signal-tests.
31054         * modules/signal-tests: Depend on it.
31055         * modules/spawn-c++-tests: New file, extracted from
31056         modules/spawn-tests.
31057         * modules/spawn-tests: Depend on it.
31058         * modules/stdio-c++-tests: New file, extracted from
31059         modules/stdio-tests.
31060         * modules/stdio-tests: Depend on it.
31061         * modules/stdlib-c++-tests: New file, extracted from
31062         modules/stdlib-tests.
31063         * modules/stdlib-tests: Depend on it.
31064         * modules/string-c++-tests: New file, extracted from
31065         modules/string-tests.
31066         * modules/string-tests: Depend on it.
31067         * modules/sys_ioctl-c++-tests: New file, extracted from
31068         modules/sys_ioctl-tests.
31069         * modules/sys_ioctl-tests: Depend on it.
31070         * modules/sys_select-c++-tests: New file, extracted from
31071         modules/sys_select-tests.
31072         * modules/sys_select-tests: Depend on it.
31073         * modules/sys_socket-c++-tests: New file, extracted from
31074         modules/sys_socket-tests.
31075         * modules/sys_socket-tests: Depend on it.
31076         * modules/sys_stat-c++-tests: New file, extracted from
31077         modules/sys_stat-tests.
31078         * modules/sys_stat-tests: Depend on it.
31079         * modules/sys_time-c++-tests: New file, extracted from
31080         modules/sys_time-tests.
31081         * modules/sys_time-tests: Depend on it.
31082         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31083         * modules/time-tests: Depend on it.
31084         * modules/unistd-c++-tests: New file, extracted from
31085         modules/unistd-tests.
31086         * modules/unistd-tests: Depend on it.
31087         * modules/wchar-c++-tests: New file, extracted from
31088         modules/wchar-tests.
31089         * modules/wchar-tests: Depend on it.
31090         * modules/wctype-c++-tests: New file, extracted from
31091         modules/wctype-tests.
31092         * modules/wctype-tests: Depend on it.
31093         Reported by Simon Josefsson.
31094
31095 2010-03-28  Bruno Haible  <bruno@clisp.org>
31096
31097         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31098         * gnulib-tool (func_exists_module): New function, extracted from
31099         func_verify_module.
31100         (func_verify_module): Use it.
31101         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31102         'foo' only if 'foo' exists.
31103         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31104         module.
31105
31106 2010-03-28  Bruno Haible  <bruno@clisp.org>
31107
31108         gnulib-tool: Add support for special categories of tests.
31109         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31110         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31111         (func_usage): Document them.
31112         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31113         inc_unportable_tests, inc_all_tests): New variables.
31114         (func_acceptable): Consider these variables.
31115         (func_modules_transitive_closure): Make it work when the 'Status' field
31116         consists of multiple words.
31117         (func_import): Store and restore the values of inc_cxx_tests,
31118         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31119         inc_all_tests in gnulib-comp.m4.
31120         (func_create_testdir): Set inc_all_tests to true.
31121         * doc/gnulib.texi (Extra tests modules): New section.
31122         Suggested by Jim Meyering.
31123
31124 2010-03-28  Bruno Haible  <bruno@clisp.org>
31125
31126         ansi-c++-opt: Allow turning off the C++ build by default.
31127         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31128         gl_CXX_CHOICE_DEFAULT_NO is defined.
31129         Requested by Eric Blake.
31130
31131 2010-03-28  Bruno Haible  <bruno@clisp.org>
31132
31133         unistd: Avoid #define replacements in C++ mode.
31134         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31135         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31136         setsockopt, shutdown, select): In C++, attach a warning to the function
31137         if possible, rather than #defining the symbol to a dysfunctional alias.
31138         Reported by John W. Eaton <jwe@gnu.org>.
31139
31140 2010-03-28  Bruno Haible  <bruno@clisp.org>
31141
31142         Fix link errors on mingw.
31143         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31144         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31145         $(LIBSOCKET).
31146         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31147         $(LIBSOCKET).
31148
31149 2010-03-28  Bruno Haible  <bruno@clisp.org>
31150             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31151
31152         lib-ignore: Determine different options for different compilers.
31153         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31154         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31155         Add comments.
31156         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31157         * NEWS: Mention the change.
31158
31159 2010-03-27  Bruno Haible  <bruno@clisp.org>
31160
31161         Remove unused GNULIB_XYZ macro definitions.
31162         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31163         * modules/fseek (configure.ac): Likewise.
31164         * modules/ioctl (configure.ac): Likewise.
31165         * modules/open (configure.ac): Likewise.
31166         * modules/stdlib-safer (configure.ac): Likewise.
31167
31168 2010-03-27  Bruno Haible  <bruno@clisp.org>
31169
31170         Add a remark about certain modules.
31171         * modules/malloc (Comment): New section.
31172         * modules/realloc (Comment): Likewise.
31173         * modules/sigpipe (Comment): Likewise.
31174
31175 2010-03-27  Bruno Haible  <bruno@clisp.org>
31176
31177         Resolve conflict between the two kinds of module indicators.
31178         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31179         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31180         * modules/canonicalize (configure.ac): Invoke
31181         gl_MODULE_INDICATOR_FOR_TESTS.
31182         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31183         GNULIB_XYZ.
31184         * tests/test-dirent-c++.cc: Likewise.
31185         * tests/test-dirent-safer.c: Likewise.
31186         * tests/test-dup2.c: Likewise.
31187         * tests/test-fchdir.c: Likewise.
31188         * tests/test-fcntl-h-c++.cc: Likewise.
31189         * tests/test-getopt.c: Likewise.
31190         * tests/test-getopt.h: Likewise.
31191         * tests/test-langinfo-c++.cc: Likewise.
31192         * tests/test-locale-c++.cc: Likewise.
31193         * tests/test-math-c++.cc: Likewise.
31194         * tests/test-pty-c++.cc: Likewise.
31195         * tests/test-search-c++.cc: Likewise.
31196         * tests/test-signal-c++.cc: Likewise.
31197         * tests/test-spawn-c++.cc: Likewise.
31198         * tests/test-stdio-c++.cc: Likewise.
31199         * tests/test-stdlib-c++.cc: Likewise.
31200         * tests/test-string-c++.cc: Likewise.
31201         * tests/test-sys_ioctl-c++.cc: Likewise.
31202         * tests/test-sys_select-c++.cc: Likewise.
31203         * tests/test-sys_socket-c++.cc: Likewise.
31204         * tests/test-sys_stat-c++.cc: Likewise.
31205         * tests/test-sys_time-c++.cc: Likewise.
31206         * tests/test-time-c++.cc: Likewise.
31207         * tests/test-unistd-c++.cc: Likewise.
31208         * tests/test-wchar-c++.cc: Likewise.
31209         * tests/uninorm/test-u8-nfc.c: Likewise.
31210         * tests/uninorm/test-u8-nfd.c: Likewise.
31211         * tests/uninorm/test-u8-nfkc.c: Likewise.
31212         * tests/uninorm/test-u8-nfkd.c: Likewise.
31213         * tests/uninorm/test-u16-nfc.c: Likewise.
31214         * tests/uninorm/test-u16-nfd.c: Likewise.
31215         * tests/uninorm/test-u16-nfkc.c: Likewise.
31216         * tests/uninorm/test-u16-nfkd.c: Likewise.
31217         * tests/uninorm/test-u32-nfc.c: Likewise.
31218         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31219         * tests/uninorm/test-u32-nfd.c: Likewise.
31220         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31221         * tests/uninorm/test-u32-nfkc.c: Likewise.
31222         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31223         * tests/uninorm/test-u32-nfkd.c: Likewise.
31224         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31225         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31226
31227 2010-03-27  Bruno Haible  <bruno@clisp.org>
31228
31229         Distinguish two kinds of module indicators.
31230         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31231         gl_MODULE_INDICATOR.
31232         (gl_MODULE_INDICATOR): New macro.
31233         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31234         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31235         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31236         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31237         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31238         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31239         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31240         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31241         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31242         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31243         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31244         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31245         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31246         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31247         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31248         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31249         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31250         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31251         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31252         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31253         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31254         * modules/cloexec (configure.ac): Likewise.
31255         * modules/getopt-gnu (configure.ac): Likewise.
31256         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31257         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31258         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31259         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31260
31261 2010-03-27  Bruno Haible  <bruno@clisp.org>
31262
31263         New module description field 'Comment'.
31264         * gnulib-tool: New option --extract-comment.
31265         (func_usage): Document it.
31266         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31267         (func_get_comment): New function.
31268         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31269
31270 2010-03-27  Bruno Haible  <bruno@clisp.org>
31271
31272         Addendum to 2010-02-07 commit.
31273         * gnulib-tool (func_usage): Document --extract-applicability option.
31274
31275 2010-03-27  Bruno Haible  <bruno@clisp.org>
31276
31277         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31278         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31279         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31280         rather than link errors.
31281
31282 2010-03-27  Bruno Haible  <bruno@clisp.org>
31283
31284         Avoid side effects from tests-related modules on the compilation of lib.
31285         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31286         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31287         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31288         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31289         macro.
31290         (func_import): Define a witness macro. Assign it a value that depends
31291         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31292         tests-related modules.
31293         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31294         Reported by Jim Meyering.
31295
31296 2010-03-27  Bruno Haible  <bruno@clisp.org>
31297
31298         Factorize common .m4 code.
31299         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31300         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31301         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31302         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31303         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31304         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31305         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31306         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31307         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31308         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31309         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31310         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31311         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31312         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31313         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31314         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31315         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31316         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31318         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31319         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31320         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31321         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31322         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31323         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31324         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31325         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31326         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31327         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31328         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31329         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31330         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31331
31332 2010-03-27  Bruno Haible  <bruno@clisp.org>
31333
31334         Fix a compilation error on Cygwin with g++ >= 4.3.
31335         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31336         if it is undefined or if we alias it to chmod.
31337         (lstat): Don't warn about the use of this function if it is undefined
31338         or if we alias it to stat.
31339         Reported by Simon Josefsson.
31340
31341 2010-03-27  Bruno Haible  <bruno@clisp.org>
31342
31343         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31344         * modules/getlogin (configure.ac): Update.
31345
31346         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31347         * modules/getlogin_r (configure.ac): Update.
31348
31349         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31350         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31351         * modules/inet_ntop (configure.ac): Update.
31352
31353         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31354         * modules/inet_pton (configure.ac): Update.
31355
31356         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31357         * modules/mbslen (configure.ac): Update.
31358
31359         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31360         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31361         * modules/forkpty (configure.ac): Update.
31362         * modules/openpty (configure.ac): Update.
31363
31364 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31365
31366         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31367         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31368
31369 2010-03-25  Eric Blake  <eblake@redhat.com>
31370
31371         maint: use pragma consistently across replacement headers
31372         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31373         * lib/dirent.in.h (system_header): Likewise.
31374         * lib/errno.in.h (system_header): Likewise.
31375         * lib/float.in.h (system_header): Likewise.
31376         * lib/getopt.in.h (system_header): Likewise.
31377         * lib/iconv.in.h (system_header): Likewise.
31378         * lib/inttypes.in.h (system_header): Likewise.
31379         * lib/langinfo.in.h (system_header): Likewise.
31380         * lib/locale.in.h (system_header): Likewise.
31381         * lib/math.in.h (system_header): Likewise.
31382         * lib/netdb.in.h (system_header): Likewise.
31383         * lib/netinet_in.in.h (system_header): Likewise.
31384         * lib/pty.in.h (system_header): Likewise.
31385         * lib/sched.in.h (system_header): Likewise.
31386         * lib/se-selinux.in.h (system_header): Likewise.
31387         * lib/search.in.h (system_header): Likewise.
31388         * lib/spawn.in.h (system_header): Likewise.
31389         * lib/stdarg.in.h (system_header): Likewise.
31390         * lib/stdint.in.h (system_header): Likewise.
31391         * lib/string.in.h (system_header): Likewise.
31392         * lib/strings.in.h (system_header): Likewise.
31393         * lib/sys_file.in.h (system_header): Likewise.
31394         * lib/sys_ioctl.in.h (system_header): Likewise.
31395         * lib/sys_socket.in.h (system_header): Likewise.
31396         * lib/sys_times.in.h (system_header): Likewise.
31397         * lib/sys_utsname.in.h (system_header): Likewise.
31398         * lib/sys_wait.in.h (system_header): Likewise.
31399         * lib/sysexits.in.h (system_header): Likewise.
31400         * lib/unistd.in.h (system_header): Likewise.
31401         * lib/wctype.in.h (system_header): Likewise.
31402
31403         arpa/inet: fix mingw compilation warning
31404         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
31405         Reported by Matthew Bolte.
31406
31407 2010-03-25  Bruno Haible  <bruno@clisp.org>
31408
31409         Avoid collision between gnulib wrapper and libintl wrapper.
31410         * lib/printf.c (printf): Don't define if a printf wrapper is already
31411         defined in intl/printf.c.
31412         Reported by Michel Boaventura <michel@michelboaventura.com>.
31413
31414 2010-03-25  Bruno Haible  <bruno@clisp.org>
31415
31416         Use ANSI C.
31417         * lib/readutmp.h (getutent): Provide ANSI C prototype.
31418
31419 2010-03-25  Bruno Haible  <bruno@clisp.org>
31420
31421         Minor formatting changes.
31422         * lib/acosl.c: Insert space before function argument list.
31423         * lib/argz.c: Likewise.
31424         * lib/asinl.c: Likewise.
31425         * lib/expl.c: Likewise.
31426         * lib/gen-uni-tables.c: Likewise.
31427         * lib/gettext.h: Likewise.
31428         * lib/glthread/lock.h: Likewise.
31429         * lib/tanl.c: Likewise.
31430         * lib/uniname/uniname.c: Likewise.
31431         * tests/test-idpriv-drop.c: Likewise.
31432         * tests/test-idpriv-droptemp.c: Likewise.
31433         * tests/test-lock.c: Likewise.
31434         * tests/test-tls.c: Likewise.
31435         * lib/argp-help.c: Insert space before function-like macro argument
31436         list.
31437         * lib/memcmp.c: Likewise.
31438         * tests/test-base64.c: Likewise.
31439         * lib/localename.c: Insert space before sizeof's argument list.
31440         * lib/safe-alloc.h: Likewise.
31441         * lib/file-set.h: Insert space before macro argument list.
31442         * tests/test-argp.c: Likewise.
31443         * lib/argp-namefrob.h: Insert space before function parameter list.
31444         * lib/getaddrinfo.c: Likewise.
31445         * lib/netdb.in.h: Likewise.
31446         * lib/parse-duration.h: Likewise.
31447         * lib/parse-duration.c: Likewise.
31448         * lib/poll.c: Likewise.
31449         * lib/select.c: Likewise.
31450         * lib/trim.h: Likewise.
31451         * tests/test-usleep.c: Likewise.
31452         * lib/ldexpl.c: Insert space before function parameter list and before
31453         function argument list.
31454         * lib/logl.c: Likewise.
31455         * lib/sqrtl.c: Likewise.
31456         * lib/trim.c: Likewise.
31457         * lib/cosl.c: Use GNU style indentation. Insert space before function
31458         argument list.
31459         * lib/sinl.c: Likewise.
31460         * lib/tsearch.c: Insert space after 'for'.
31461         Reported by Jim Meyering.
31462
31463 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
31464
31465         * maint.mk (sc_Wundef_boolean): Check for the presence of the
31466         config header before grepping, as it's not present before
31467         autoreconf/configure are run.  Reported by Simon Josefsson.
31468
31469 2010-03-23  Bruno Haible  <bruno@clisp.org>
31470
31471         pt_chown: Make it work with automake < 1.11.
31472         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
31473         Reported by Simon Josefsson.
31474
31475 2010-03-23  Bruno Haible  <bruno@clisp.org>
31476
31477         pt_chown: Don't depend on GPLed modules.
31478         * lib/pt_chown.c: Don't include idpriv.h.
31479         (main): Don't drop privileges.
31480         * modules/pt_chown (Depends-on): Remove idpriv-drop.
31481         Reported by Simon Josefsson.
31482
31483 2010-03-24  Simon Josefsson  <simon@josefsson.org>
31484
31485         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
31486         suggestions from karl@freefriends.org (Karl Berry).
31487
31488 2010-03-22  Eric Blake  <eblake@redhat.com>
31489
31490         gethostname: further tweaks
31491         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
31492         are overriding gethostname.
31493         Suggested by Bruno Haible.
31494
31495 2010-03-21  Bruno Haible  <bruno@clisp.org>
31496
31497         Fix comments.
31498         * lib/forkpty.c (rpl_forkpty): Fix comment.
31499         * lib/openpty.c (rpl_openpty): Likewise.
31500         Reported by Eric Blake.
31501
31502 2010-03-22  Eric Blake  <eblake@redhat.com>
31503
31504         gethostname: fix build on mingw
31505         * lib/unistd.in.h (includes): Work around fact that mingw
31506         <winsock2.h> re-includes <unistd.h>, by avoiding any
31507         redeclarations if we are being included by <winsock2.h>.
31508         Reported by Matthias Bolte.
31509
31510 2010-03-21  Bruno Haible  <bruno@clisp.org>
31511
31512         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31513         * lib/forkpty.c (forkpty): New replacement function, from glibc with
31514         modifications.
31515         * lib/pty.in.h (forkpty): Update declaration. Add comments.
31516         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
31517         provide the replacement.
31518         * modules/forkpty (Depends-on): Add openpty, login_tty.
31519         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
31520         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
31521         * doc/glibc-functions/forkpty.texi: More supported platforms.
31522         * config/srclist.txt: Add forkpty.c (commented).
31523
31524 2010-03-21  Bruno Haible  <bruno@clisp.org>
31525
31526         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
31527         (Makefile.am): Verify that PTY_LIB is defined.
31528
31529         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
31530
31531 2010-03-21  Bruno Haible  <bruno@clisp.org>
31532
31533         Tests for module 'login_tty'.
31534         * modules/login_tty-tests: New file.
31535         * tests/test-login_tty.c: New file.
31536
31537         New module 'login_tty'.
31538         * lib/login_tty.c: New file.
31539         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31540         * modules/login_tty: New file.
31541         * doc/glibc-functions/login_tty.texi: Mention the new module.
31542
31543 2010-03-21  Bruno Haible  <bruno@clisp.org>
31544
31545         login_tty: Documentation.
31546         * doc/glibc-functions/login_tty.texi: New file.
31547         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31548
31549 2010-03-21  Bruno Haible  <bruno@clisp.org>
31550
31551         pty: Consistent macro naming.
31552         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31553         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31554         * modules/pty (configure.ac): Update.
31555
31556 2010-03-21  Bruno Haible  <bruno@clisp.org>
31557
31558         Tests for openpty: Make stricter.
31559         * tests/test-openpty.c (main): Add test of canonical processing and
31560         erase.
31561         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31562
31563         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31564         * lib/openpty.c (openpty): New replacement function.
31565         * lib/pty.in.h: Include <termios.h>.
31566         (openpty): Update declaration. Add comments.
31567         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31568         is not declared, arrange to provide the replacement. Check for _getpty
31569         and posix_openpt.
31570         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31571         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31572         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31573         * modules/pty-tests (test_pty_c___LDADD): New variable.
31574         * doc/glibc-functions/openpty.texi: More supported platforms.
31575
31576 2010-03-21  Bruno Haible  <bruno@clisp.org>
31577
31578         setenv: Tweaks.
31579         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31580         the test program.
31581         * doc/posix-functions/setenv.texi: Update platforms list.
31582
31583 2010-03-21  Bruno Haible  <bruno@clisp.org>
31584
31585         New module 'unlockpt'.
31586         * lib/unlockpt.c: New file, from glibc with modifications.
31587         * m4/unlockpt.m4: New file.
31588         * modules/unlockpt: New file.
31589         * lib/stdlib.in.h (unlockpt): New declaration.
31590         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31591         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31592         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31593         HAVE_UNLOCKPT.
31594         * doc/posix-functions/unlockpt.texi: Mention the new module.
31595         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31596         * config/srclist.txt: Add unlockpt.c (commented).
31597
31598 2010-03-21  Jim Meyering  <meyering@redhat.com>
31599
31600         maint.mk: prohibit inclusion of "intprops.h" without use
31601         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31602
31603 2010-03-21  Bruno Haible  <bruno@clisp.org>
31604
31605         New module 'grantpt'.
31606         * lib/grantpt.c: New file, from glibc with modifications.
31607         * m4/grantpt.m4: New file.
31608         * modules/grantpt: New file.
31609         * lib/stdlib.in.h (grantpt): New declaration.
31610         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31611         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31612         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31613         HAVE_GRANTPT.
31614         * doc/posix-functions/grantpt.texi: Mention the new module.
31615         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31616         * config/srclist.txt: Add grantpt.c (commented).
31617
31618 2010-03-21  Bruno Haible  <bruno@clisp.org>
31619
31620         New module 'pt_chown'.
31621         * lib/pt_chown.c: New file, from glibc with modifications.
31622         * lib/pty-private.h: New file, from glibc with modifications.
31623         * modules/pt_chown: New file.
31624         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31625
31626 2010-03-21  Bruno Haible  <bruno@clisp.org>
31627
31628         Tests for module 'ptsname'.
31629         * modules/ptsname-tests: New file.
31630         * tests/test-ptsname.c: New file.
31631
31632         New module 'ptsname'.
31633         * lib/ptsname.c: New file, from glibc with modifications.
31634         * m4/ptsname.m4: New file.
31635         * modules/ptsname: New file.
31636         * lib/stdlib.in.h (ptsname): New declaration.
31637         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31638         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31639         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31640         HAVE_PTSNAME.
31641         * doc/posix-functions/ptsname.texi: Mention the new module.
31642         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31643         * config/srclist.txt: Add ptsname.c (commented).
31644
31645 2010-03-21  Bruno Haible  <bruno@clisp.org>
31646
31647         Tests for module 'ttyname_r'.
31648         * modules/ttyname_r-tests: New file.
31649         * tests/test-ttyname_r.c: New file.
31650
31651         New module 'ttyname_r'.
31652         * lib/ttyname_r.c: New file.
31653         * m4/ttyname_r.m4: New file.
31654         * modules/ttyname_r: New file.
31655         * lib/unistd.in.h (ttyname_r): New declaration.
31656         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31657         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31658         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31659         HAVE_TTYNAME_R.
31660         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31661         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31662
31663 2010-03-20  Bruno Haible  <bruno@clisp.org>
31664
31665         signal: Undefine macro definitions in C++ mode.
31666         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31667         sigfillset): Undefine macro definitions from the system header in C++
31668         mode.
31669         Reported by John W. Eaton <jwe@gnu.org>.
31670
31671 2010-03-20  Bruno Haible  <bruno@clisp.org>
31672
31673         Ensure no #include statements inside extern "C" { ... }.
31674         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31675         contain #include statements.
31676         * lib/time.in.h: Likewise.
31677
31678 2010-03-20  Bruno Haible  <bruno@clisp.org>
31679
31680         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31681         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31682         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31683         Reported by John W. Eaton <jwe@gnu.org>.
31684
31685 2010-03-20  Bruno Haible  <bruno@clisp.org>
31686
31687         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31688         Reported by Jim Meyering.
31689
31690 2010-03-20  Bruno Haible  <bruno@clisp.org>
31691
31692         pipe: Set errno upon failure.
31693         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31694         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31695         errno value in error message.
31696
31697 2010-03-20  Bruno Haible  <bruno@clisp.org>
31698             Jim Meyering  <meyering@redhat.com>
31699
31700         lchown: Avoid "unused variable" warning.
31701         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31702
31703 2010-03-20  Bruno Haible  <bruno@clisp.org>
31704
31705         Work around unlink() bug on MacOS X 10.5.6.
31706         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31707         attempting to unlink a parent directory.
31708         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31709         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31710         activate for the replacement function.
31711         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31712
31713 2010-03-20  Bruno Haible  <bruno@clisp.org>
31714
31715         Fix link errors on Solaris 8.
31716         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31717         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31718
31719 2010-03-19  Jim Meyering  <meyering@redhat.com>
31720
31721         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31722         The _LIBC implementation of build_range_exp correctly honors the
31723         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31724         However, the non-_LIBC implementation would ignore that syntax-bit
31725         flag and return REG_ERANGE unconditionally.
31726         This change makes it honor that flag.
31727         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31728         Make two pointer parameters "const".
31729         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31730         (parse_bracket_exp): Update caller.
31731
31732         regex.m4: correct the reversed range endpoint ([b-a]) test
31733         * m4/regex.m4: When requiring that [b-a] evoke failure,
31734         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31735         test pass once again for x86-based systems.
31736
31737 2010-03-19  Bruno Haible  <bruno@clisp.org>
31738
31739         scandir: Fix link error on Solaris 8.
31740         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31741         macros.
31742
31743 2010-03-19  Bruno Haible  <bruno@clisp.org>
31744
31745         getusershell: Fix documentation.
31746         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31747         module.
31748         * doc/glibc-functions/setusershell.texi: Likewise.
31749
31750         getusershell: Provide declaration, missing on Solaris 9.
31751         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31752         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31753         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31754         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31756         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31757         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31758         HAVE_GETUSERSHELL.
31759         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31760
31761 2010-03-19  Bruno Haible  <bruno@clisp.org>
31762
31763         wctype: Provide iswblank function.
31764         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31765         exists and is fine.
31766         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31767         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31768         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31769         * doc/posix-functions/iswblank.texi: Update.
31770
31771 2010-03-19  Bruno Haible  <bruno@clisp.org>
31772
31773         Tests of module 'pty' in C++ mode.
31774         * modules/pty-tests: New file.
31775         * tests/test-pty-c++.cc: New file.
31776         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31777
31778 2010-03-19  Eric Blake  <eblake@redhat.com>
31779
31780         logb: fix documentation
31781         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31782         1.5 declaration bug.
31783
31784         forkpty, openpty: prefer glibc's const-safe prototype
31785         * lib/forkpty.c (rpl_forkpty): New file.
31786         * lib/openpty.c (rpl_openpty): Likewise.
31787         * modules/forkpty (Files): Distribute it.
31788         * modules/openpty (Files): Likewise.
31789         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31790         check...
31791         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31792         replacement for for non-const BSD signature.
31793         * modules/pty (Makefile.am): Substitute witnesses.
31794         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31795         * tests/test-forkpty.c: Update signature check.
31796         * tests/test-openpty.c: Likewise.
31797         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31798         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31799
31800         forkpty, openpty: split functions into new modules
31801         * modules/pty (Makefile.am): Substitute new witnesses.
31802         (Libraries): Move library detection...
31803         * modules/forkpty: ...into new module.
31804         * modules/openpty: Another new module.
31805         * modules/pty-tests: Rename and split...
31806         * modules/forkpty-tests: ...to this...
31807         * modules/openpty-tests: ...and this.
31808         * tests/test-pty.c: Rename and split...
31809         * tests/test-forkpty.c: ...to this...
31810         * tests/test-openpty.c: ...and this.
31811         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31812         (gl_PTY): Split library searching...
31813         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31814         (gl_FORKPTY, gl_OPENPTY): New macros.
31815         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31816         * NEWS: Mention the split.
31817         * MODULES.html.sh (Misc): Document the modules.
31818         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31819         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31820
31821         pty: improve replacement header
31822         * lib/pty.in.h: New file.
31823         * modules/pty (Files): Ship it.
31824         (Makefile.am): Always build replacement.
31825         * m4/pty.m4: Rename...
31826         * m4/pty_h.m4: ...to this.
31827         (gl_PTY): Modernize setting of witness macros; update check of
31828         forkpty to take proper advantage of cache.
31829         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31830
31831         getopt: avoid compiler warning
31832         * lib/getopt.c (attribute_hidden): Remove unused macro.
31833
31834 2010-03-18  Bruno Haible  <bruno@clisp.org>
31835
31836         Fix link errors on Solaris 8.
31837         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31838         * modules/search-tests (test_search_c___LDADD): Likewise.
31839         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31840         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31841         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31842         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31843         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31844         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31845         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31846
31847 2010-03-18  Bruno Haible  <bruno@clisp.org>
31848
31849         Fix bug introduced on 2010-03-14.
31850         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31851         (gl_SPAWN_H): Require it.
31852         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31853         Reported by Simon Josefsson.
31854
31855 2010-03-18  Bruno Haible  <bruno@clisp.org>
31856
31857         Fix typo introduced on 2009-12-31.
31858         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31859         posix_spawn_file_actions_adddup2.
31860
31861 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31862         and Eric Blake  <eblake@redhat.com>
31863
31864         test-vc-list-files-git: make more robust
31865         * tests/test-vc-list-files-git.sh: Unset problematic environment
31866         variables.  Chain commands together.
31867
31868 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31869
31870         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31871         `AC_CHECK_DECL' invocation.
31872
31873 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31874
31875         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31876         appears before executable statements. Suggested by Petr Sumbera
31877         <Petr.Sumbera@Sun.COM>.
31878
31879 2010-03-14  Bruno Haible  <bruno@clisp.org>
31880
31881         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31882         portability problems. Instead use a simpler test.
31883         (main): Check that invalid arguments are rejected only on Linux.
31884
31885 2010-03-14  Bruno Haible  <bruno@clisp.org>
31886
31887         Fix bug introduced on 2009-12-31.
31888         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31889         gl_PREREQ_SYS_H_WINSOCK2 always.
31890         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31891         SYS_SOCKET_H variable.
31892         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31893         Update comments.
31894         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31895         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31896         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31897         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31898         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31899
31900 2010-03-14  Bruno Haible  <bruno@clisp.org>
31901
31902         Fix values returned by sinl, cosl.
31903         * lib/trigl.h: Add specification comments.
31904         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
31905         that combines the values from the precomputed table with the values of
31906         the Chebyshev polynomials.
31907
31908 2010-03-14  Bruno Haible  <bruno@clisp.org>
31909
31910         Fix compilation error when modules 'posix_spawn[p]' are not used.
31911         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
31912         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
31913
31914 2010-03-14  Bruno Haible  <bruno@clisp.org>
31915
31916         Fix compilation error on mingw when module 'time_r' is not used.
31917         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
31918         is 1.
31919         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
31920         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31921         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
31922         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
31923
31924 2010-03-14  Bruno Haible  <bruno@clisp.org>
31925
31926         Fix compilation error with Sun C.
31927         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
31928         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
31929         instead of GCC specific ULONG_LONG_MAX.
31930         * lib/xstrtoll.c: Likewise.
31931         * lib/xstrtoull.c: Likewise.
31932
31933 2010-03-13  Bruno Haible  <bruno@clisp.org>
31934
31935         Allow the user to disable C++ code and tests.
31936         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
31937         (gl_PROG_ANSI_CXX): Require it.
31938
31939 2010-03-13  Bruno Haible  <bruno@clisp.org>
31940
31941         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
31942         cases.
31943
31944 2010-03-13  Bruno Haible  <bruno@clisp.org>
31945
31946         Test that gnulib does not break the standard C++ headers.
31947         * tests/test-locale-c++2.cc: New file.
31948         * modules/locale-tests (Files): Add it.
31949         (Makefile.am): Compile it for test-locale-c++.
31950         * tests/test-math-c++2.cc: New file.
31951         * modules/math-tests (Files): Add it.
31952         (Makefile.am): Compile it for test-math-c++.
31953         * tests/test-signal-c++2.cc: New file.
31954         * modules/signal-tests (Files): Add it.
31955         (Makefile.am): Compile it for test-signal-c++.
31956         * tests/test-stdio-c++2.cc: New file.
31957         * modules/stdio-tests (Files): Add it.
31958         (Makefile.am): Compile it for test-stdio-c++.
31959         * tests/test-stdlib-c++2.cc: New file.
31960         * modules/stdlib-tests (Files): Add it.
31961         (Makefile.am): Compile it for test-stdlib-c++.
31962         * tests/test-string-c++2.cc: New file.
31963         * modules/string-tests (Files): Add it.
31964         (Makefile.am): Compile it for test-string-c++.
31965         * tests/test-time-c++2.cc: New file.
31966         * modules/time-tests (Files): Add it.
31967         (Makefile.am): Compile it for test-time-c++.
31968         Reported by John W. Eaton <jwe@gnu.org>.
31969
31970 2010-03-13  Bruno Haible  <bruno@clisp.org>
31971
31972         * gnulib-tool (func_usage): Clarify which options are available for
31973         --create-testdir and --create-megatestdir.
31974
31975 2010-03-13  Bruno Haible  <bruno@clisp.org>
31976
31977         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
31978         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
31979         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
31980         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
31981         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
31982         when appropriate.
31983         Reported by Jim Meyering.
31984
31985 2010-03-12  Simon Josefsson  <simon@josefsson.org>
31986
31987         * gnulib-tool (func_import): Explain origin of code.
31988
31989 2010-03-12  Bruno Haible  <bruno@clisp.org>
31990
31991         Fix problem with automake's definition of CXXLINK.
31992         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
31993         Reported by Simon Josefsson and Ludovic Courtès.
31994
31995 2010-03-12  Bruno Haible  <bruno@clisp.org>
31996
31997         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
31998         stable releases.
31999
32000 2010-03-11  Bruno Haible  <bruno@clisp.org>
32001
32002         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32003         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32004         whether the system provides one variant or multiple variants of the
32005         function.
32006         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32007         C++ compilers.
32008         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32009         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32010         Reported by Jim Meyering.
32011
32012 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32013
32014         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32015
32016 2010-03-08  Bruno Haible  <bruno@clisp.org>
32017
32018         gnulib-tool: Add support for --libtool in --create-testdir.
32019         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32020         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32021
32022 2010-03-08  Eric Blake  <eblake@redhat.com>
32023
32024         gnulib-tool.texi: mention possibility of git submodule
32025         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32026         submodules.
32027         * doc/.gitignore: Ignore another generated file.
32028
32029 2010-03-08  Karl Berry  <karl@gnu.org>
32030
32031         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32032         of committing gnulib files while skipping others.
32033
32034 2010-03-07  Bruno Haible  <bruno@clisp.org>
32035
32036         Tests of module 'wctype' in C++ mode.
32037         * tests/test-wctype-c++.cc: New file.
32038         * modules/wctype-tests (Files): Add it and tests/signature.h.
32039         (Depends-on): Add ansi-c++-opt.
32040         (Makefile.am): Arrange to compile and run test-wctype-c++.
32041
32042         Tests of module 'wchar' in C++ mode.
32043         * tests/test-wchar-c++.cc: New file.
32044         * modules/wchar-tests (Files): Add it and tests/signature.h.
32045         (Depends-on): Add ansi-c++-opt.
32046         (Makefile.am): Arrange to compile and run test-wchar-c++.
32047         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32048         gl_MODULE_INDICATOR.
32049
32050         Tests of module 'unistd' in C++ mode.
32051         * tests/test-unistd-c++.cc: New file.
32052         * modules/unistd-tests (Files): Add it and tests/signature.h.
32053         (Depends-on): Add ansi-c++-opt.
32054         (Makefile.am): Arrange to compile and run test-unistd-c++.
32055         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32056         gl_MODULE_INDICATOR.
32057
32058         Tests of module 'time' in C++ mode.
32059         * tests/test-time-c++.cc: New file.
32060         * modules/time-tests (Files): Add it and tests/signature.h.
32061         (Depends-on): Add ansi-c++-opt.
32062         (Makefile.am): Arrange to compile and run test-time-c++.
32063         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32064
32065         Tests of module 'sys_time' in C++ mode.
32066         * tests/test-sys_time-c++.cc: New file.
32067         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32068         (Depends-on): Add ansi-c++-opt.
32069         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32070         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32071         gl_MODULE_INDICATOR.
32072
32073         Tests of module 'sys_stat' in C++ mode.
32074         * tests/test-sys_stat-c++.cc: New file.
32075         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32076         (Depends-on): Add ansi-c++-opt.
32077         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32078         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32079         gl_MODULE_INDICATOR.
32080
32081         Tests of module 'sys_socket' in C++ mode.
32082         * tests/test-sys_socket-c++.cc: New file.
32083         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32084         (Depends-on): Add ansi-c++-opt.
32085         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32086         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32087         gl_MODULE_INDICATOR.
32088
32089         Tests of module 'sys_select' in C++ mode.
32090         * tests/test-sys_select-c++.cc: New file.
32091         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32092         (Depends-on): Add ansi-c++-opt.
32093         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32094         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32095         gl_MODULE_INDICATOR.
32096
32097         Tests of module 'sys_ioctl' in C++ mode.
32098         * tests/test-sys_ioctl-c++.cc: New file.
32099         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32100         (Depends-on): Add ansi-c++-opt.
32101         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32102         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32103         gl_MODULE_INDICATOR.
32104
32105         Tests of module 'string' in C++ mode.
32106         * tests/test-string-c++.cc: New file.
32107         * modules/string-tests (Files): Add it and tests/signature.h.
32108         (Depends-on): Add ansi-c++-opt.
32109         (Makefile.am): Arrange to compile and run test-string-c++.
32110         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32111         gl_MODULE_INDICATOR.
32112
32113         Tests of module 'stdlib' in C++ mode.
32114         * tests/test-stdlib-c++.cc: New file.
32115         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32116         (Depends-on): Add ansi-c++-opt.
32117         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32118         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32119         gl_MODULE_INDICATOR.
32120
32121         Tests of module 'stdio' in C++ mode.
32122         * tests/test-stdio-c++.cc: New file.
32123         * modules/stdio-tests (Files): Add it and tests/signature.h.
32124         (Depends-on): Add ansi-c++-opt.
32125         (Makefile.am): Arrange to compile and run test-stdio-c++.
32126         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32127         gl_MODULE_INDICATOR.
32128
32129         Tests of module 'spawn' in C++ mode.
32130         * tests/test-spawn-c++.cc: New file.
32131         * modules/spawn-tests (Files): Add it and tests/signature.h.
32132         (Depends-on): Add ansi-c++-opt.
32133         (Makefile.am): Arrange to compile and run test-spawn-c++.
32134         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32135         gl_MODULE_INDICATOR.
32136
32137         Tests of module 'signal' in C++ mode.
32138         * tests/test-signal-c++.cc: New file.
32139         * modules/signal-tests (Files): Add it and tests/signature.h.
32140         (Depends-on): Add ansi-c++-opt.
32141         (Makefile.am): Arrange to compile and run test-signal-c++.
32142         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32143         gl_MODULE_INDICATOR.
32144
32145         Tests of module 'search' in C++ mode.
32146         * tests/test-search-c++.cc: New file.
32147         * modules/search-tests (Files): Add it and tests/signature.h.
32148         (Depends-on): Add ansi-c++-opt.
32149         (Makefile.am): Arrange to compile and run test-search-c++.
32150         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32151         gl_MODULE_INDICATOR.
32152
32153         Tests of module 'math' in C++ mode.
32154         * tests/test-math-c++.cc: New file.
32155         * modules/math-tests (Files): Add it and tests/signature.h.
32156         (Depends-on): Add ansi-c++-opt.
32157         (Makefile.am): Arrange to compile and run test-math-c++.
32158         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32159
32160         Tests of module 'locale' in C++ mode.
32161         * tests/test-locale-c++.cc: New file.
32162         * modules/locale-tests (Files): Add it and tests/signature.h.
32163         (Depends-on): Add ansi-c++-opt.
32164         (Makefile.am): Arrange to compile and run test-locale-c++.
32165         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32166         gl_MODULE_INDICATOR.
32167
32168         Tests of module 'langinfo' in C++ mode.
32169         * tests/test-langinfo-c++.cc: New file.
32170         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32171         (Depends-on): Add ansi-c++-opt.
32172         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32173         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32174         gl_MODULE_INDICATOR.
32175
32176         Tests of module 'iconv-h' in C++ mode.
32177         * tests/test-iconv-h-c++.cc: New file.
32178         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32179         (Depends-on): Add ansi-c++-opt.
32180         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32181
32182         Tests of module 'glob' in C++ mode.
32183         * tests/test-glob-c++.cc: New file.
32184         * modules/glob-tests (Files): Add it.
32185         (Depends-on): Add ansi-c++-opt.
32186         (Makefile.am): Arrange to compile and run test-glob-c++.
32187
32188         Tests of module 'fcntl-h' in C++ mode.
32189         * tests/test-fcntl-h-c++.cc: New file.
32190         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32191         (Depends-on): Add ansi-c++-opt.
32192         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32193         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32194         gl_MODULE_INDICATOR.
32195
32196         Tests of module 'dirent' in C++ mode.
32197         * tests/test-dirent-c++.cc: New file.
32198         * modules/dirent-tests (Files): Add it and tests/signature.h.
32199         (Depends-on): Add ansi-c++-opt.
32200         (Makefile.am): Arrange to compile and run test-dirent-c++.
32201         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32202         gl_MODULE_INDICATOR.
32203
32204         New module 'ansi-c++-opt'.
32205         * modules/ansi-c++-opt: New file.
32206         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32207
32208         Document C++ namespace mode.
32209         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32210
32211         wctype: Avoid #define replacements in C++ mode.
32212         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32213         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32214         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32215         In C++, define a namespaced alias symbol.
32216         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32217         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32218         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32219         rule.
32220
32221         wchar: Avoid #define replacements in C++ mode.
32222         * lib/wchar.in.h: Include c++defs.h.
32223         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32224         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32225         symbol.
32226         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32227         * modules/wchar (Depends-on): Add c++defs.
32228         (Makefile.am): Update wchar.h rule.
32229
32230         unistd: Avoid #define replacements in C++ mode.
32231         * lib/unistd.in.h: Include c++defs.h.
32232         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32233         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32234         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32235         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32236         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32237         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32238         symbol.
32239         (environ): Update.
32240         * modules/unistd (Depends-on): Add c++defs.
32241         (Makefile.am): Update unistd.h rule.
32242
32243         time: Avoid #define replacements in C++ mode.
32244         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32245         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32246         define a namespaced alias symbol.
32247         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32248         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32249         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32250         * modules/time (Depends-on): Add c++defs, warn-on-use.
32251         (Makefile.am): Update time.h rule.
32252         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32253         * modules/nanosleep (configure.ac): Likewise.
32254         * modules/strptime (configure.ac): Likewise.
32255         * modules/timegm (configure.ac): Likewise.
32256
32257         sys_time: Avoid #define replacements in C++ mode.
32258         * lib/sys_time.in.h: Include c++defs.h.
32259         (gettimeofday): In C++, define a namespaced alias symbol.
32260         * modules/sys_time (Depends-on): Add c++defs.
32261         (Makefile.am): Update sys/time.h rule.
32262
32263         sys_stat: Avoid #define replacements in C++ mode.
32264         * lib/sys_stat.in.h: Include c++defs.h.
32265         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32266         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32267         namespaced alias symbol.
32268         In C++, define a namespaced alias symbol.
32269         * modules/sys_stat (Depends-on): Add c++defs.
32270         (Makefile.am): Update sys/stat.h rule.
32271
32272         sys_socket: Avoid #define replacements in C++ mode.
32273         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32274         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32275         definitions also when the system has a <sys/socket.h>.
32276         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32277         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32278         In C++, define a namespaced alias symbol.
32279         * modules/sys_socket (Depends-on): Add c++defs.
32280         (Makefile.am): Update sys/socket.h rule.
32281
32282         sys_select: Avoid #define replacements in C++ mode.
32283         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32284         definitions also when the system has a <sys/select.h>.
32285         (select): In C++, define a namespaced alias symbol.
32286         * modules/sys_select (Depends-on): Add c++defs.
32287         (Makefile.am): Update sys/select.h rule.
32288
32289         sys_ioctl: Avoid #define replacements in C++ mode.
32290         * lib/sys_ioctl.in.h: Include c++defs.h.
32291         (ioctl): In C++, define a namespaced alias symbol.
32292         * modules/sys_ioctl (Depends-on): Add c++defs.
32293         (Makefile.am): Update sys/ioctl.h rule.
32294
32295         string: Avoid #define replacements in C++ mode.
32296         * lib/string.in.h: Include c++defs.h.
32297         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32298         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32299         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32300         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32301         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32302         * modules/string (Depends-on): Add c++defs.
32303         (Makefile.am): Update string.h rule.
32304
32305         stdlib: Avoid #define replacements in C++ mode.
32306         * lib/stdlib.in.h: Include c++defs.h.
32307         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32308         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32309         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32310         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32311         symbol.
32312         * modules/stdlib (Depends-on): Add c++defs.
32313         (Makefile.am): Update stdlib.h rule.
32314
32315         stdio: Avoid #define replacements in C++ mode.
32316         * lib/stdio.in.h: Include c++defs.h.
32317         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32318         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32319         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32320         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32321         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32322         namespaced alias symbol.
32323         * modules/stdio (Depends-on): Add c++defs.
32324         (Makefile.am): Update stdio.h rule.
32325
32326         spawn: Avoid #define replacements in C++ mode.
32327         * lib/spawn.in.h: Include c++defs.h.
32328         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32329         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32330         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32331         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32332         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32333         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32334         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32335         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32336         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32337         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32338         In C++, define a namespaced alias symbol.
32339         * modules/spawn (Depends-on): Add c++defs.
32340         (Makefile.am): Update spawn.h rule.
32341
32342         signal: Avoid #define replacements in C++ mode.
32343         * lib/signal.in.h: Include c++defs.h.
32344         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32345         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32346         namespaced alias symbol.
32347         * modules/signal (Depends-on): Add c++defs.
32348         (Makefile.am): Update signal.h rule.
32349
32350         search: Avoid #define replacements in C++ mode.
32351         * lib/search.in.h: Include c++defs.h.
32352         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32353         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32354         symbol.
32355         * modules/search (Depends-on): Add c++defs.
32356         (Makefile.am): Update search.h rule.
32357
32358         math: Avoid #define replacements in C++ mode.
32359         * lib/math.in.h: Include c++defs.h.
32360         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32361         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32362         trunc, truncl): In C++, define a namespaced alias symbol.
32363         * modules/math (Depends-on): Add c++defs.
32364         (Makefile.am): Update math.h rule.
32365
32366         locale: Avoid #define replacements in C++ mode.
32367         * lib/locale.in.h: Include c++defs.h.
32368         (duplocale): In C++, define a namespaced alias symbol.
32369         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32370         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32371         * modules/locale (Depends-on): Add c++defs.
32372         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32373
32374         langinfo: Avoid #define replacements in C++ mode.
32375         * lib/langinfo.in.h: Include c++defs.h.
32376         (nl_langinfo): In C++, define a namespaced alias symbol.
32377         * modules/langinfo (Depends-on): Add c++defs.
32378         (Makefile.am): Update langinfo.h rule.
32379
32380         iconv-h: Avoid #define replacements in C++ mode.
32381         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32382         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32383         symbol.
32384         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32385         whenever iconv is present.
32386         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32387         (Makefile.am): Update iconv.h rule.
32388
32389         glob: Avoid #define replacements in C++ mode.
32390         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32391         (_gl_glob_errfunc_fn): New type.
32392         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32393         symbol.
32394         * modules/glob (Depends-on): Add c++defs, warn-on-use.
32395         (Makefile.am): Update glob.h rule.
32396
32397         fcntl-h: Avoid #define replacements in C++ mode.
32398         * lib/fcntl.in.h: Include c++defs.h.
32399         (fcntl, open, openat): In C++, define a namespaced alias symbol.
32400         * modules/fcntl-h (Depends-on): Add c++defs.
32401         (Makefile.am): Update fcntl.h rule.
32402
32403         dirent: Avoid #define replacements in C++ mode.
32404         * lib/dirent.in.h: Include c++defs.h.
32405         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
32406         namespaced alias symbol.
32407         (dirfd): Update declaration.
32408         * modules/dirent (Depends-on): Add c++defs.
32409         (Makefile.am): Update dirent.h rule.
32410
32411         ctype: Make it usable in C++ code.
32412         * lib/ctype.in.h: Include c++defs.h.
32413         (isblank): Declare as extern "C".
32414         * modules/ctype (Depends-on): Add c++defs.
32415         (Makefile.am): Update ctype.h rule.
32416
32417         New module 'c++defs'.
32418         * modules/c++defs: New file.
32419         * build-aux/c++defs.h: New file.
32420         Reported by John W. Eaton <jwe@gnu.org>.
32421
32422 2010-03-07  Bruno Haible  <bruno@clisp.org>
32423
32424         logb: Provide missing declaration for Cygwin.
32425         * lib/math.in.h (logb): New declaration.
32426         * m4/logb.m4: New file.
32427         * modules/logb (Files): Add m4/logb.m4.
32428         (Depends-on): Add math.
32429         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
32430         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
32431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
32432         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
32433         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
32434
32435 2010-03-07  Bruno Haible  <bruno@clisp.org>
32436
32437         Fix test-cond link error.
32438         * tests/test-cond.c: Include <stdio.h>.
32439
32440 2010-03-07  Bruno Haible  <bruno@clisp.org>
32441
32442         Fix test-dirent-safer link error.
32443         * modules/dirent-safer-tests (Makefile.am): Define
32444         test_dirent_safer_LDADD.
32445
32446 2010-03-07  Bruno Haible  <bruno@clisp.org>
32447
32448         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
32449         among default module list.
32450
32451 2010-03-07  Bruno Haible  <bruno@clisp.org>
32452
32453         Fix link error on platforms with GNU libiconv.
32454         * modules/unistr/u8-strcoll-tests (Makefile): Define
32455         test_u8_strcoll_LDADD.
32456         * modules/unistr/u16-strcoll-tests (Makefile): Define
32457         test_u16_strcoll_LDADD.
32458         * modules/unistr/u32-strcoll-tests (Makefile): Define
32459         test_u32_strcoll_LDADD.
32460
32461 2010-03-07  Bruno Haible  <bruno@clisp.org>
32462
32463         Use POSIX declarations for socket functions.
32464         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
32465         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
32466         rpl_sendto): Change declaration to match POSIX.
32467         * lib/connect.c (rpl_connect): Likewise.
32468         * lib/accept.c (rpl_accept): Likewise.
32469         * lib/bind.c (rpl_bind): Likewise.
32470         * lib/getpeername.c (rpl_getpeername): Likewise.
32471         * lib/getsockname.c (rpl_getsockname): Likewise.
32472         * lib/recv.c (rpl_recv): Likewise.
32473         * lib/send.c (rpl_send): Likewise.
32474         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32475         * lib/sendto.c (rpl_sendto): Likewise.
32476
32477 2010-03-06  Bruno Haible  <bruno@clisp.org>
32478
32479         Clarify access, euidaccess, faccessat.
32480         * doc/posix-functions/faccessat.texi: Mention security problem under
32481         "Other problems", not "Portability problems".
32482         * doc/posix-functions/access.texi: Likewise. Mention a related security
32483         problem.
32484         * doc/glibc-functions/euidaccess.texi: Mention security problems.
32485         * lib/euidaccess.c: Add comments about platforms.
32486         * lib/unistd.in.h (access, euidaccess): Add warnings.
32487
32488 2010-03-07  Bruno Haible  <bruno@clisp.org>
32489
32490         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
32491         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
32492         (POSIX_SPAWN_SETSCHEDULER): Likewise.
32493         (POSIX_SPAWN_USEVFORK): Define in a way that works when
32494         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32495         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
32496         declare when POSIX_SPAWN_SETSCHEDULER is zero.
32497         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
32498         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
32499         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
32500         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
32501         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
32502         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
32503         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
32504         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
32505         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
32506         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
32507         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
32508         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
32509         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
32510         Likewise.
32511         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
32512         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
32513         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
32514         Likewise.
32515         * tests/test-spawn.c (main): Make it work when
32516         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32517
32518 2010-03-07  Bruno Haible  <bruno@clisp.org>
32519
32520         Fix incorrect Makefile.am generation in German locale.
32521         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32522         Execute sed command with character range in C locale.
32523
32524 2010-03-06  Bruno Haible  <bruno@clisp.org>
32525
32526         Tests for module 'iconv-h'.
32527         * modules/iconv-h-tests: New file.
32528         * tests/test-iconv-h.c: New file.
32529
32530         New module 'iconv-h'.
32531         * modules/iconv-h: New file.
32532         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32533         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32534         (configure.ac): Remove gl_ICONV_H.
32535         (Makefile.am): Remove rule for iconv.h.
32536
32537 2010-03-06  Bruno Haible  <bruno@clisp.org>
32538
32539         More consistent naming of *.m4 files.
32540         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32541         * modules/wctype (Files): Update.
32542
32543         More consistent naming of *.m4 files.
32544         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32545         * modules/wchar (Files): Update.
32546
32547 2010-03-06  Jim Meyering  <meyering@redhat.com>
32548
32549         euidaccess: relax license to LGPLv2+
32550         * modules/euidaccess (License): Relax to LGPLv2+.
32551
32552 2010-03-06  Bruno Haible  <bruno@clisp.org>
32553
32554         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32555         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32556         (Makefile.am): Augment lib_SOURCES instead.
32557
32558 2010-03-04  Jim Meyering  <meyering@redhat.com>
32559
32560         utime: remove obsolete module
32561         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32562         unnecessary for years, and has been marked as obsolete for 10 months.
32563         * modules/utime: Remove file.
32564         * lib/utime.c: Remove file.
32565         * m4/utime.m4: Remove file.
32566         * m4/utimes-null.m4: Remove file.
32567         * doc/posix-functions/utime.texi (utime): Remove reference to
32568         the module.  Move the sole "fixed by gnulib" item into the
32569         "problems not fixed by Gnulib" list.
32570         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32571
32572 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32573
32574         * modules/exit (License): Relax license to LGPLv2+.
32575         (Status): Mark as obsolete.
32576         * NEWS: Mention deprecated 'exit' module.
32577         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32578         of now obsolete 'exit'.
32579
32580 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32581
32582         fts-lgpl: remove unused module
32583         * modules/fts-lgpl: Remove.
32584         * MODULES.html.sh (func_all_modules): Adjust.
32585         * check-module (find_included_lib_files): Adjust.
32586         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32587
32588 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32589
32590         copy-acl: enhance Solaris ACL error handling
32591         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32592         * lib/set-mode-acl.c (qset_acl): Likewise.
32593
32594 2010-03-02  Bruno Haible  <bruno@clisp.org>
32595
32596         spawn: Don't override the system defined values on FreeBSD 8.
32597         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32598         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32599         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32600         if HAVE_POSIX_SPAWN is 1.
32601         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32602
32603 2010-03-01  Bruno Haible  <bruno@clisp.org>
32604
32605         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32606         regarding Automake.
32607
32608 2010-02-25  Bruno Haible  <bruno@clisp.org>
32609
32610         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32611         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32612         setting, not afterwards.
32613         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32614
32615 2010-02-24  Eric Blake  <eblake@redhat.com>
32616
32617         bootstrap, git-version-gen: use timestamp
32618         * build-aux/git-version-gen (scriptversion): Force UTC.
32619         * build-aux/bootstrap (scriptversion): New variable.
32620
32621         bootstrap: allow older git
32622         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32623         older than 1.6.4.  Requested by the libvirt project.
32624
32625 2010-02-23  Eric Blake  <eblake@redhat.com>
32626
32627         warn-on-use: work with old autoconf
32628         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32629         AS_VAR semantics of autoconf 2.60.
32630         Reported by Bruno Haible.
32631
32632         bootstrap: improve some comments
32633         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32634         clarification comments.
32635
32636         gettimeofday: provide correct function
32637         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32638         when replacement is declared, otherwise provide gettimeofday.
32639         Reported by Michael Goffioul.
32640
32641 2010-02-23  Jim Meyering  <meyering@redhat.com>
32642
32643         lib-ignore: relax license to "unlimited", not LGPLv2+
32644         * modules/lib-ignore (License): Relax to "unlimited".
32645
32646 2010-02-23  Jim Meyering  <meyering@redhat.com>
32647
32648         lib-ignore: relax license to LGPLv2+
32649         * modules/lib-ignore (License): Relax to LGPLv2+.
32650
32651 2010-02-22  Eric Blake  <eblake@redhat.com>
32652
32653         lseek: avoid bash 3.2 broken pipe bug
32654         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32655         warning from bash 3.2.
32656         Reported by Ben Pfaff, with analysis from Bruno Haible.
32657
32658         bootstrap: support non-FSF copyright holder
32659         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32660         bootstrap.conf override of COPYRIGHT_HOLDER.
32661         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32662
32663         bootstrap: interoperate with gettext 0.14.1
32664         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32665
32666         bootstrap: allow for alternate submodule location
32667         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32668         hardcoding submodule location.
32669         (gnulib_mk): Allow direct use of Makefile.am.
32670
32671         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32672         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32673         rather than reconfiguring where the submodule points.
32674
32675         gettimeofday: restore support for platforms that lack function
32676         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32677         replacement if function is missing.
32678         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32679         * modules/sys_time (Makefile.am): Substitute it.
32680         * lib/sys_time.in.h (gettimeofday): Check it.
32681         Reported by Michael Goffioul.
32682
32683 2010-02-21  Bruno Haible  <bruno@clisp.org>
32684
32685         * lib/stdio.in.h (obstack_printf): Fix typo.
32686
32687 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32688
32689         vc-list-files: use bzr ls's -R option
32690         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32691         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32692
32693 2010-02-21  Jim Meyering  <meyering@redhat.com>
32694
32695         init.sh: fix EXEEXT shims to work also for names like test-prog
32696         * tests/init.sh: Re-exec a better shell, when needed.
32697         If the current shell lacks support for posix $(...), an init.sh-using
32698         test will now try to find a shell that supports that.  If EXEEXT is
32699         nonempty, we also require support for hyphen-in-alias-name and shell
32700         substitutions like ${var#glob}.  Failure to find such a shell results
32701         in a skipped test.
32702
32703 2010-02-21  Bruno Haible  <bruno@clisp.org>
32704
32705         Really work around around "broken pipe" error message from bash 3.2.
32706         * gnulib-tool (func_reset_sigpipe): Remove function.
32707         (echo): In bash 3.2, define to a function that uses printf.
32708         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32709
32710 2010-02-20  Bruno Haible  <bruno@clisp.org>
32711
32712         Restore support for automake 1.9.6 with autoconf 2.61.
32713         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32714         Reported by James Youngman <jay@gnu.org>.
32715
32716 2010-02-20  Bruno Haible  <bruno@clisp.org>
32717
32718         Improve *printf warning condition.
32719         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32720         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32721         and the function is overridden due to SIGPIPE emulation.
32722
32723 2010-02-20  Bruno Haible  <bruno@clisp.org>
32724
32725         * lib/stdio.in.h: Tweak comments.
32726
32727 2010-02-19  Bruno Haible  <bruno@clisp.org>
32728
32729         Make it easier to find modules. New gnulib-tool option '--find'.
32730         * gnulib-tool: New option --find.
32731         (func_usage): Document it.
32732         (func_sanitize_modulelist): New function, extracted from
32733         func_all_modules.
32734         (func_all_modules): Invoke it.
32735         * doc/gnulib-tool.texi (Which modules?): New node.
32736
32737 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32738
32739         * lib/sys_select.in.h: Provide select replacement even if
32740         sys/select.h exists on a system, for Interix.
32741
32742 2010-02-18  Jim Meyering  <meyering@redhat.com>
32743
32744         init.sh: don't use $(...) just yet
32745         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32746         to accommodate e.g., Solaris' /bin/sh.
32747
32748 2010-02-17  Bruno Haible  <bruno@clisp.org>
32749
32750         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32751         Reported by Ludovic Courtès <ludo@gnu.org>.
32752
32753 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32754
32755         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32756         linking with -lintl.
32757
32758 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32759
32760         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32761         if not provided by the system's netdb.h.  Reported by
32762         ludo@gnu.org (Ludovic Courtès).
32763
32764 2010-02-15  Jim Meyering  <meyering@redhat.com>
32765
32766         init.sh: improve portability and efficiency
32767         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32768         "dummy" in a for loop.
32769         Use '!', not '^' to select the complement of a character set used
32770         in a "case" statement.
32771         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32772         Suggestions from Eric Blake.
32773
32774         init.sh: automatically accommodate programs with the .exe suffix
32775         Automatically arrange for an invocation of "prog" to execute the
32776         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32777         may use the simpler "prog", yet still work when built on a system
32778         that requires specifying the added suffix.
32779         Do this by constructing a function named "prog" that invokes
32780         "prog.exe" for each .exe file in selected directories.
32781         * tests/init.sh (find_exe_basenames_): New function.
32782         (create_exe_shim_functions_): New function.
32783         (path_prepend_): Use it.
32784
32785         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32786         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32787         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32788
32789 2010-02-14  Jim Meyering  <meyering@redhat.com>
32790
32791         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32792         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32793         (sc_prohibit_hash_pjw_without_use): New rule.
32794
32795         maint.mk: allow the default upload destination dir to be overridden
32796         * top/maint.mk (upload_dest_dir_): Define with a default that
32797         preserves the status quo.
32798         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32799         Reported by Peter Simons.
32800
32801         maint.mk: prohibit inclusion of "hash.h" without_use
32802         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32803
32804 2010-02-10  Jim Meyering  <meyering@redhat.com>
32805
32806         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32807         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32808
32809 2010-02-09  Eric Blake  <ebb9@byu.net>
32810         and Bruno Haible  <bruno@clisp.org>
32811
32812         obstack-printf-posix: ensure declaration
32813         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32814         extracted from gl_FUNC_OBSTACK_PRINTF.
32815         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32816         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32817         Likewise.
32818         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32819         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32820         0.
32821
32822 2010-02-08  Bruno Haible  <bruno@clisp.org>
32823
32824         gnulib-tool: Fix typo in 2010-02-07 commit.
32825         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32826         Reported by Eric Blake.
32827
32828 2010-02-07  Bruno Haible  <bruno@clisp.org>
32829
32830         gnulib-tool: Fix up caching patches.
32831         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32832         option --no-cache. Use associative arrays when supported by the shell.
32833         (sed_comments): New variable.
32834         (modcache): Renamed from do_cache.
32835         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32836         abbreviate unnecessarily.
32837         (have_associative): New variable.
32838         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32839         way also for ksh and zsh.
32840         (func_init_sed_convert_to_cache_statements): New function, extracted
32841         from func_cache_lookup_module. Add support for associative arrays.
32842         Don't set the c_MODULE_cached variable here. Ignore all lines before
32843         the first field header. Remove only the final newline, not all trailing
32844         newlines. Support empty fields correctly. Limit the use of 'eval' to
32845         assignments.
32846         (func_get_description, func_get_status, func_get_notice,
32847         func_get_applicability, func_get_filelist, func_get_dependencies,
32848         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32849         func_get_automake_snippet, func_get_include_directive,
32850         func_get_link_directive, func_get_license, func_get_maintainer):
32851         Update documentation. List the unoptimized code first. Add support for
32852         associative arrays. Limit the use of 'eval' to assignments.
32853         (func_get_applicability): Undo stylistic pessimisations.
32854         (func_get_automake_snippet, func_get_include_directive): Reduce code
32855         duplication.
32856         (func_modules_transitive_closure, func_modules_add_dummy,
32857         func_modules_notice, func_modules_to_filelist, func_add_file,
32858         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32859         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32860         func_create_testdir, func_create_megatestdir): Update documentation.
32861
32862 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32863
32864         * gnulib-tool (func_cache_lookup_module): Store the module name
32865         belonging to the cache variable; error out if two different
32866         module names map to the same cache variable name.
32867
32868 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32869
32870         gnulib-tool: Make caching optional.
32871         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32872         Update matching short versions of --no-changelog.
32873         (func_usage): Update.
32874         (sed_extract_cache_prog): Renamed from ...
32875         (sed_extract_prog): ... this; revert to old extraction script.
32876         (func_get_description, func_get_status)
32877         (func_get_notice, func_get_applicability, func_get_filelist)
32878         (func_get_dependencies, func_get_autoconf_early_snippet)
32879         (func_get_autoconf_snippet, func_get_automake_snippet)
32880         (func_get_include_directive, func_get_link_directive)
32881         (func_get_license, func_get_maintainer): If $do_cache is false,
32882         use old, non-caching extraction scripts.
32883         Suggestion by Bruno Haible.
32884
32885 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32886
32887         gnulib-tool: cache module metainformation.
32888         * gnulib-tool (sed_extract_prog): Match newline before each
32889         header, and rewrite header to a shell variable suffix.
32890         (func_cache_var, func_cache_lookup_module): New functions,
32891         to turn a module name into a cache variable prefix, and to
32892         look up and cache module metainformation.
32893         (func_get_description, func_get_status)
32894         (func_get_notice, func_get_applicability, func_get_filelist)
32895         (func_get_dependencies, func_get_autoconf_early_snippet)
32896         (func_get_autoconf_snippet, func_get_automake_snippet)
32897         (func_get_include_directive, func_get_link_directive)
32898         (func_get_license, func_get_maintainer): Use
32899         func_cache_lookup_module.
32900
32901 2010-02-07  Bruno Haible  <bruno@clisp.org>
32902
32903         fnctl: Fix missing dependency.
32904         * modules/fcntl (Depends-on): Add getdtablesize.
32905         Reported by John W. Eaton <jwe@gnu.org>.
32906
32907 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32908
32909         Argp: fix recognition of short alias options.
32910
32911         * lib/argp-parse.c (convert_options): Fix improper use of
32912         `|' between character values.
32913         * tests/test-argp.c (group1_option): New alias option
32914         --read (-r).
32915         (group1_parser): Special handling for 'r'.
32916         (test15): New test case.
32917         (test_fun): Add test15.
32918         * tests/test-argp-2.sh: Update expected --help and --usage
32919         outputs.
32920
32921 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32922
32923         * tests/test-argp.c: Fix indentation.
32924
32925 2010-02-04  Eric Blake  <ebb9@byu.net>
32926
32927         gettimeofday: expose type of second argument
32928         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
32929         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
32930         * tests/test-gettimeofday.c: Use it to silence warning.
32931         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
32932         the issue.
32933
32934 2010-02-03  Jim Meyering  <meyering@redhat.com>
32935
32936         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
32937         * lib/regcomp.c (TYPE_SIGNED): Define.
32938         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
32939
32940         regcomp.c: avoid a new -Wshadow warning
32941         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
32942
32943 2010-02-01  Jim Meyering  <meyering@redhat.com>
32944
32945         removing useless parentheses in cpp #define directives
32946         For motivation, see commit c0221df4, "define STREQ(a,b)
32947         consistently, removing useless parentheses"
32948         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
32949         * lib/mountlist.c (MNT_IGNORE): Likewise.
32950         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
32951
32952 2010-02-01  Eric Blake  <ebb9@byu.net>
32953
32954         sys_time: use link-warning
32955         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
32956         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
32957         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
32958         * modules/sys_time (Depends-on): Add warn-on-use.
32959         (Makefile.am): Always build replacement.
32960         (configure.ac): Update substitutions.
32961         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
32962         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
32963         bother with SYS_TIME_H.
32964         * modules/gettimeofday (configure.ac): Declare indicator.
32965         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
32966         in use.
32967
32968         closein-tests: silence compiler warning
32969         * tests/test-closein.c (main): Ignore fread result.
32970         * modules/closein-tests (Depends-on): Add ignore-value.
32971
32972         tests: silence warning about system return
32973         * tests/test-areadlink-with-size.c (main): Ignore system result.
32974         * tests/test-areadlink.c (main): Likewise.
32975         * tests/test-areadlinkat-with-size.c (main): Likewise.
32976         * tests/test-areadlinkat.c (main): Likewise.
32977         * tests/test-canonicalize-lgpl.c (main): Likewise.
32978         * tests/test-canonicalize.c (main): Likewise.
32979         * tests/test-chown.c (main): Likewise.
32980         * tests/test-fchownat.c (main): Likewise.
32981         * tests/test-fdutimensat.c (main): Likewise.
32982         * tests/test-fstatat.c (main): Likewise.
32983         * tests/test-futimens.c (main): Likewise.
32984         * tests/test-lchown.c (main): Likewise.
32985         * tests/test-link.c (main): Likewise.
32986         * tests/test-linkat.c (main): Likewise.
32987         * tests/test-lstat.c (main): Likewise.
32988         * tests/test-mkdir.c (main): Likewise.
32989         * tests/test-mkdirat.c (main): Likewise.
32990         * tests/test-mkfifo.c (main): Likewise.
32991         * tests/test-mkfifoat.c (main): Likewise.
32992         * tests/test-mknod.c (main): Likewise.
32993         * tests/test-readlink.c (main): Likewise.
32994         * tests/test-remove.c (main): Likewise.
32995         * tests/test-rename.c (main): Likewise.
32996         * tests/test-renameat.c (main): Likewise.
32997         * tests/test-rmdir.c (main): Likewise.
32998         * tests/test-symlink.c (main): Likewise.
32999         * tests/test-symlinkat.c (main): Likewise.
33000         * tests/test-unlink.c (main): Likewise.
33001         * tests/test-unlinkat.c (main): Likewise.
33002         * tests/test-utimens.c (main): Likewise.
33003         * tests/test-utimensat.c (main): Likewise.
33004         * modules/areadlink-tests (Depends-on): Add ignore-value.
33005         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33006         * modules/areadlinkat-tests (Depends-on): Likewise.
33007         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33008         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33009         * modules/canonicalize-tests (Depends-on): Likewise.
33010         * modules/chown-tests (Depends-on): Likewise.
33011         * modules/fdutimensat-tests (Depends-on): Likewise.
33012         * modules/futimens-tests (Depends-on): Likewise.
33013         * modules/lchown-tests (Depends-on): Likewise.
33014         * modules/link-tests (Depends-on): Likewise.
33015         * modules/linkat-tests (Depends-on): Likewise.
33016         * modules/lstat-tests (Depends-on): Likewise.
33017         * modules/mkdir-tests (Depends-on): Likewise.
33018         * modules/mkfifo-tests (Depends-on): Likewise.
33019         * modules/mkfifoat-tests (Depends-on): Likewise.
33020         * modules/mknod-tests (Depends-on): Likewise.
33021         * modules/openat-tests (Depends-on): Likewise.
33022         * modules/readlink-tests (Depends-on): Likewise.
33023         * modules/remove-tests (Depends-on): Likewise.
33024         * modules/rename-tests (Depends-on): Likewise.
33025         * modules/renameat-tests (Depends-on): Likewise.
33026         * modules/rmdir-tests (Depends-on): Likewise.
33027         * modules/symlink-tests (Depends-on): Likewise.
33028         * modules/symlinkat-tests (Depends-on): Likewise.
33029         * modules/unlink-tests (Depends-on): Likewise.
33030         * modules/utimens-tests (Depends-on): Likewise.
33031         * modules/utimensat-tests (Depends-on): Likewise.
33032
33033 2010-01-31  Bruno Haible  <bruno@clisp.org>
33034
33035         Perform the same test for many <math.h> functions.
33036         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33037         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33038         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33039         of gl_MATHFUNC.
33040         * modules/acos (configure.ac): Likewise.
33041         * modules/asin (configure.ac): Likewise.
33042         * modules/atan (configure.ac): Likewise.
33043         * modules/atan2 (configure.ac): Likewise.
33044         * modules/cbrt (configure.ac): Likewise.
33045         * modules/copysign (configure.ac): Likewise.
33046         * modules/cos (configure.ac): Likewise.
33047         * modules/cosh (configure.ac): Likewise.
33048         * modules/erf (configure.ac): Likewise.
33049         * modules/erfc (configure.ac): Likewise.
33050         * modules/exp (configure.ac): Likewise.
33051         * modules/fmod (configure.ac): Likewise.
33052         * modules/hypot (configure.ac): Likewise.
33053         * modules/j0 (configure.ac): Likewise.
33054         * modules/j1 (configure.ac): Likewise.
33055         * modules/jn (configure.ac): Likewise.
33056         * modules/lgamma (configure.ac): Likewise.
33057         * modules/log (configure.ac): Likewise.
33058         * modules/log10 (configure.ac): Likewise.
33059         * modules/log1p (configure.ac): Likewise.
33060         * modules/pow (configure.ac): Likewise.
33061         * modules/remainder (configure.ac): Likewise.
33062         * modules/sin (configure.ac): Likewise.
33063         * modules/sinh (configure.ac): Likewise.
33064         * modules/tan (configure.ac): Likewise.
33065         * modules/tanh (configure.ac): Likewise.
33066         * modules/y0 (configure.ac): Likewise.
33067         * modules/y1 (configure.ac): Likewise.
33068         * modules/yn (configure.ac): Likewise.
33069         Suggested by Paolo Bonzini.
33070
33071 2010-01-31  Bruno Haible  <bruno@clisp.org>
33072
33073         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33074
33075 2010-01-31  Bruno Haible  <bruno@clisp.org>
33076
33077         Work around getdelim() bug on FreeBSD 8.0.
33078         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33079         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33080         not work.
33081         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33082         is 1.
33083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33084         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33085         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33086         a non-zero size.
33087         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33088
33089 2010-01-31  Bruno Haible  <bruno@clisp.org>
33090
33091         Work around getline() bug on FreeBSD 8.0.
33092         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33093         and a non-zero size.
33094         * tests/test-getline.c (main): Likewise.
33095         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33096         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33097
33098 2010-01-28  Eric Blake  <ebb9@byu.net>
33099
33100         regex: fix build failure
33101         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33102         platforms.
33103
33104 2010-01-28  Jim Meyering  <meyering@redhat.com>
33105
33106         regex: do not ignore memory allocation failure
33107         * lib/regex_internal.c (create_cd_newstate): Detect
33108         re_node_set_init_copy failure.   Extracted from glibc commit
33109         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33110
33111         regex: sync more white-space changes from libc
33112         * lib/regex_internal.c: White-space only changes.
33113         * lib/regexec.c: Likewise.
33114
33115         regex: add many uses of __attribute_warn_unused_result__
33116         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33117         * lib/regexec.c: Likewise.
33118         Extracted from a messy glibc commit.
33119
33120         regcomp.c: spelling and merge-artifact from glibc
33121         * lib/regcomp.c: Merge remainder of glibc's
33122         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33123
33124         regcomp.c: sync white-space changes from glibc
33125         * lib/regcomp.c: Merge to accommodate white space
33126         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33127
33128         regcomp.c: do not ignore internal return values
33129         * lib/regcomp.c: Do not ignore internal return values.
33130         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33131         but without its white-space changes and spelling fixes.
33132
33133         regex_internal.h: define __attribute_warn_unused_result__
33134         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33135
33136         maint: add a syntax-check rule to check for vulnerable Makefile.in
33137         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33138
33139 2010-01-27  Jim Meyering  <meyering@redhat.com>
33140
33141         ncftpput-ftp: clean up spaces
33142         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33143         Remove trailing blanks.
33144
33145 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33146
33147         * build-aux/git-version-gen: Fix copyright statement.
33148         * build-aux/gnupload: Likewise.
33149         * tests/test-arcfour.c: Likewise.
33150         * tests/test-arctwo.c: Likewise.
33151         * tests/test-count-one-bits.c: Likewise.
33152         * tests/test-crc.c: Likewise.
33153         * tests/test-des.c: Likewise.
33154         * tests/test-gc-arcfour.c: Likewise.
33155         * tests/test-gc-arctwo.c: Likewise.
33156         * tests/test-gc-des.c: Likewise.
33157         * tests/test-gc-hmac-md5.c: Likewise.
33158         * tests/test-gc-hmac-sha1.c: Likewise.
33159         * tests/test-gc-md2.c: Likewise.
33160         * tests/test-gc-md4.c: Likewise.
33161         * tests/test-gc-md5.c: Likewise.
33162         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33163         * tests/test-gc-rijndael.c: Likewise.
33164         * tests/test-gc-sha1.c: Likewise.
33165         * tests/test-gc.c: Likewise.
33166         * tests/test-gethostname.c: Likewise.
33167         * tests/test-gettimeofday.c: Likewise.
33168         * tests/test-hash.c: Likewise.
33169         * tests/test-hmac-md5.c: Likewise.
33170         * tests/test-hmac-sha1.c: Likewise.
33171         * tests/test-md2.c: Likewise.
33172         * tests/test-md4.c: Likewise.
33173         * tests/test-md5.c: Likewise.
33174         * tests/test-memchr.c: Likewise.
33175         * tests/test-memchr2.c: Likewise.
33176         * tests/test-memcmp.c: Likewise.
33177         * tests/test-memmem.c: Likewise.
33178         * tests/test-memrchr.c: Likewise.
33179         * tests/test-rawmemchr.c: Likewise.
33180         * tests/test-read-file.c: Likewise.
33181         * tests/test-rijndael.c: Likewise.
33182         * tests/test-sockets.c: Likewise.
33183         * tests/test-strchrnul.c: Likewise.
33184         * tests/test-strstr.c: Likewise.
33185         * tests/test-strtod.c: Likewise.
33186         * build-aux/ncftpput-ftp: Likewise.
33187
33188 2010-01-26  Eric Blake  <ebb9@byu.net>
33189
33190         ignore-value: update recommended header name
33191         * modules/ignore-value (Include): Only use <> for headers that
33192         exist in glibc.
33193
33194 2010-01-26  Jim Meyering  <meyering@redhat.com>
33195
33196         test-userspec.c: avoid compiler warnings
33197         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33198         and "initialization discards qualifiers..." warnings.
33199         Put the first "uid" in its own scope, and make char* members "const".
33200
33201 2010-01-25  Bruno Haible  <bruno@clisp.org>
33202
33203         gnulib-tool: Make warning diagnostics consistent.
33204         * gnulib-tool (func_warning): New function.
33205         Use it everywhere where gnulib-tool produces output to stderr and it is
33206         not a fatal error.
33207
33208 2010-01-25  Bruno Haible  <bruno@clisp.org>
33209
33210         Fix test dependencies.
33211         * modules/xstrtol-tests (Depends-on): Add inttypes.
33212         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33213
33214 2010-01-25 Pádraig Brady <P@draigBrady.com>
33215
33216         syntax-check: detect incorrect boolean macro values in config.h
33217         * modules/maintainer-makefile (configure.ac): Parameterize the location
33218         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33219         The logic is from Eric Blake and the location indicated by Jim Meyering.
33220         Note the more natural CONFIG_HEADER name is prohibited by automake
33221         for backwards compatibility reasons.
33222         * top/maint.mk (sc_Wundef_boolean): New rule.
33223
33224 2010-01-25  Jim Meyering  <meyering@redhat.com>
33225
33226         bootstrap: detect MacOS 10.6's shasum, too
33227         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33228         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33229
33230 2010-01-23  Jim Meyering  <meyering@redhat.com>
33231
33232         xstrtoll: new module
33233         * modules/xstrtoll: New file.
33234         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33235         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33236         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33237         ./configure fails if you use this module and lack "long long".
33238         * modules/xstrtoll-tests: New module.
33239         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33240         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33241         new init.sh-based test framework.
33242
33243 2010-01-24  Bruno Haible  <bruno@clisp.org>
33244
33245         Tests for module 'yn'.
33246         * modules/yn-tests: New file.
33247         * tests/test-yn.c: New file.
33248
33249         Tests for module 'y1'.
33250         * modules/y1-tests: New file.
33251         * tests/test-y1.c: New file.
33252
33253         Tests for module 'y0'.
33254         * modules/y0-tests: New file.
33255         * tests/test-y0.c: New file.
33256
33257         Tests for module 'tanh'.
33258         * modules/tanh-tests: New file.
33259         * tests/test-tanh.c: New file.
33260
33261         Tests for module 'tan'.
33262         * modules/tan-tests: New file.
33263         * tests/test-tan.c: New file.
33264
33265         Tests for module 'sqrt'.
33266         * modules/sqrt-tests: New file.
33267         * tests/test-sqrt.c: New file.
33268
33269         Tests for module 'sinh'.
33270         * modules/sinh-tests: New file.
33271         * tests/test-sinh.c: New file.
33272
33273         Tests for module 'sin'.
33274         * modules/sin-tests: New file.
33275         * tests/test-sin.c: New file.
33276
33277         Tests for module 'rint'.
33278         * modules/rint-tests: New file.
33279         * tests/test-rint.c: New file.
33280
33281         Tests for module 'remainder'.
33282         * modules/remainder-tests: New file.
33283         * tests/test-remainder.c: New file.
33284
33285         Tests for module 'pow'.
33286         * modules/pow-tests: New file.
33287         * tests/test-pow.c: New file.
33288
33289         Tests for module 'nextafter'.
33290         * modules/nextafter-tests: New file.
33291         * tests/test-nextafter.c: New file.
33292
33293         Tests for module 'modf'.
33294         * modules/modf-tests: New file.
33295         * tests/test-modf.c: New file.
33296
33297         Tests for module 'logb'.
33298         * modules/logb-tests: New file.
33299         * tests/test-logb.c: New file.
33300
33301         Tests for module 'log1p'.
33302         * modules/log1p-tests: New file.
33303         * tests/test-log1p.c: New file.
33304
33305         Tests for module 'log10'.
33306         * modules/log10-tests: New file.
33307         * tests/test-log10.c: New file.
33308
33309         Tests for module 'log'.
33310         * modules/log-tests: New file.
33311         * tests/test-log.c: New file.
33312
33313         Tests for module 'lgamma'.
33314         * modules/lgamma-tests: New file.
33315         * tests/test-lgamma.c: New file.
33316
33317         Tests for module 'ldexp'.
33318         * modules/ldexp-tests: New file.
33319         * tests/test-ldexp.c: New file.
33320
33321         Tests for module 'jn'.
33322         * modules/jn-tests: New file.
33323         * tests/test-jn.c: New file.
33324
33325         Tests for module 'j1'.
33326         * modules/j1-tests: New file.
33327         * tests/test-j1.c: New file.
33328
33329         Tests for module 'j0'.
33330         * modules/j0-tests: New file.
33331         * tests/test-j0.c: New file.
33332
33333         Tests for module 'hypot'.
33334         * modules/hypot-tests: New file.
33335         * tests/test-hypot.c: New file.
33336
33337         Tests for module 'fmod'.
33338         * modules/fmod-tests: New file.
33339         * tests/test-fmod.c: New file.
33340
33341         Tests for module 'fabs'.
33342         * modules/fabs-tests: New file.
33343         * tests/test-fabs.c: New file.
33344
33345         Tests for module 'exp'.
33346         * modules/exp-tests: New file.
33347         * tests/test-exp.c: New file.
33348
33349         Tests for module 'erfc'.
33350         * modules/erfc-tests: New file.
33351         * tests/test-erfc.c: New file.
33352
33353         Tests for module 'erf'.
33354         * modules/erf-tests: New file.
33355         * tests/test-erf.c: New file.
33356
33357         Tests for module 'cosh'.
33358         * modules/cosh-tests: New file.
33359         * tests/test-cosh.c: New file.
33360
33361         Tests for module 'cos'.
33362         * modules/cos-tests: New file.
33363         * tests/test-cos.c: New file.
33364
33365         Tests for module 'copysign'.
33366         * modules/copysign-tests: New file.
33367         * tests/test-copysign.c: New file.
33368
33369         Tests for module 'cbrt'.
33370         * modules/cbrt-tests: New file.
33371         * tests/test-cbrt.c: New file.
33372
33373         Tests for module 'atan2'.
33374         * modules/atan2-tests: New file.
33375         * tests/test-atan2.c: New file.
33376
33377         Tests for module 'atan'.
33378         * modules/atan-tests: New file.
33379         * tests/test-atan.c: New file.
33380
33381         Tests for module 'asin'.
33382         * modules/asin-tests: New file.
33383         * tests/test-asin.c: New file.
33384
33385         Tests for module 'acos'.
33386         * modules/acos-tests: New file.
33387         * tests/test-acos.c: New file.
33388
33389 2010-01-24  Bruno Haible  <bruno@clisp.org>
33390
33391         Fix tests for common <math.h> functions.
33392         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33393         code snippet that references the function pointer, rather than merely
33394         calling the function. Substitute the FUNC_LIBM variable.
33395         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
33396         * modules/acos (configure.ac): Likewise.
33397         * modules/asin (configure.ac): Likewise.
33398         * modules/atan (configure.ac): Likewise.
33399         * modules/atan2 (configure.ac): Likewise.
33400         * modules/cbrt (configure.ac): Likewise.
33401         * modules/copysign (configure.ac): Likewise.
33402         * modules/cos (configure.ac): Likewise.
33403         * modules/cosh (configure.ac): Likewise.
33404         * modules/erf (configure.ac): Likewise.
33405         * modules/erfc (configure.ac): Likewise.
33406         * modules/exp (configure.ac): Likewise.
33407         * modules/fabs (configure.ac): Likewise.
33408         * modules/fmod (configure.ac): Likewise.
33409         * modules/hypot (configure.ac): Likewise.
33410         * modules/j0 (configure.ac): Likewise.
33411         * modules/j1 (configure.ac): Likewise.
33412         * modules/jn (configure.ac): Likewise.
33413         * modules/ldexp (configure.ac): Likewise.
33414         * modules/lgamma (configure.ac): Likewise.
33415         * modules/log (configure.ac): Likewise.
33416         * modules/log10 (configure.ac): Likewise.
33417         * modules/log1p (configure.ac): Likewise.
33418         * modules/logb (configure.ac): Likewise.
33419         * modules/modf (configure.ac): Likewise.
33420         * modules/nextafter (configure.ac): Likewise.
33421         * modules/pow (configure.ac): Likewise.
33422         * modules/remainder (configure.ac): Likewise.
33423         * modules/rint (configure.ac): Likewise.
33424         * modules/sin (configure.ac): Likewise.
33425         * modules/sinh (configure.ac): Likewise.
33426         * modules/tan (configure.ac): Likewise.
33427         * modules/tanh (configure.ac): Likewise.
33428         * modules/y0 (configure.ac): Likewise.
33429         * modules/y1 (configure.ac): Likewise.
33430         * modules/yn (configure.ac): Likewise.
33431
33432 2010-01-24  Bruno Haible  <bruno@clisp.org>
33433
33434         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
33435         * tests/test-acosl.c (x): New variable.
33436         (main): Store argument in x and fetch it from x.
33437         * tests/test-asinl.c (x): New variable.
33438         (main): Store argument in x and fetch it from x.
33439         * tests/test-atanl.c (x): New variable.
33440         (main): Store argument in x and fetch it from x.
33441         * tests/test-cosl.c (x): New variable.
33442         (main): Store argument in x and fetch it from x.
33443         * tests/test-expl.c (x): New variable.
33444         (main): Store argument in x and fetch it from x.
33445         * tests/test-logl.c (x): New variable.
33446         (main): Store argument in x and fetch it from x.
33447         * tests/test-sinl.c (x): New variable.
33448         (main): Store argument in x and fetch it from x.
33449         * tests/test-sqrtl.c (x): New variable.
33450         (main): Store argument in x and fetch it from x.
33451         * tests/test-tanl.c (x): New variable.
33452         (main): Store argument in x and fetch it from x.
33453
33454 2010-01-24  Bruno Haible  <bruno@clisp.org>
33455
33456         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
33457         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
33458         assignments to the initial TESTS_ENVIRONMENT.
33459         * doc/gnulib.texi (Unit test modules): Document it.
33460         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
33461         TESTS_ENVIRONMENT.
33462         * modules/btowc-tests (Makefile.am): Likewise.
33463         * modules/c-stack-tests (Makefile.am): Likewise.
33464         * modules/c-strcase-tests (Makefile.am): Likewise.
33465         * modules/copy-file-tests (Makefile.am): Likewise.
33466         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
33467         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
33468         * modules/mbrtowc-tests (Makefile.am): Likewise.
33469         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33470         * modules/mbscasestr-tests (Makefile.am): Likewise.
33471         * modules/mbschr-tests (Makefile.am): Likewise.
33472         * modules/mbscspn-tests (Makefile.am): Likewise.
33473         * modules/mbsinit-tests (Makefile.am): Likewise.
33474         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33475         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
33476         * modules/mbspbrk-tests (Makefile.am): Likewise.
33477         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33478         * modules/mbsrchr-tests (Makefile.am): Likewise.
33479         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
33480         * modules/mbsspn-tests (Makefile.am): Likewise.
33481         * modules/mbsstr-tests (Makefile.am): Likewise.
33482         * modules/nl_langinfo-tests (Makefile.am): Likewise.
33483         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
33484         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33485         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33486         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33487         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33488         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
33489         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33490         * modules/wcrtomb-tests (Makefile.am): Likewise.
33491         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
33492         * modules/wcsrtombs-tests (Makefile.am): Likewise.
33493         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
33494         assignments from TESTS_ENVIRONMENT.
33495         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
33496         augmentation.
33497         * modules/argp-version-etc-tests (Makefile.am): Likewise.
33498         * modules/atexit-tests (Makefile.am): Likewise.
33499         * modules/binary-io-tests (Makefile.am): Likewise.
33500         * modules/closein-tests (Makefile.am): Likewise.
33501         * modules/dprintf-posix-tests (Makefile.am): Likewise.
33502         * modules/exclude-tests (Makefile.am): Likewise.
33503         * modules/fflush-tests (Makefile.am): Likewise.
33504         * modules/fpending-tests (Makefile.am): Likewise.
33505         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33506         * modules/freadahead-tests (Makefile.am): Likewise.
33507         * modules/freadptr-tests (Makefile.am): Likewise.
33508         * modules/freadseek-tests (Makefile.am): Likewise.
33509         * modules/fseek-tests (Makefile.am): Likewise.
33510         * modules/fseeko-tests (Makefile.am): Likewise.
33511         * modules/ftell-tests (Makefile.am): Likewise.
33512         * modules/ftello-tests (Makefile.am): Likewise.
33513         * modules/idpriv-drop-tests (Makefile.am): Likewise.
33514         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
33515         * modules/lseek-tests (Makefile.am): Likewise.
33516         * modules/parse-duration-tests (Makefile.am): Likewise.
33517         * modules/perror-tests (Makefile.am): Likewise.
33518         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
33519         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
33520         * modules/pipe-tests (Makefile.am): Likewise.
33521         * modules/pread-tests (Makefile.am): Likewise.
33522         * modules/printf-posix-tests (Makefile.am): Likewise.
33523         * modules/select-tests (Makefile.am): Likewise.
33524         * modules/sigpipe-tests (Makefile.am): Likewise.
33525         * modules/tsearch-tests (Makefile.am): Likewise.
33526         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
33527         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
33528         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33529         * modules/uniwidth/width-tests (Makefile.am): Likewise.
33530         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
33531         * modules/version-etc-tests (Makefile.am): Likewise.
33532         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33533         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33534         * modules/xalloc-die-tests (Makefile.am): Likewise.
33535         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33536         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33537         * modules/xstrtol-tests (Makefile.am): Likewise.
33538         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33539         * modules/yesno-tests (Makefile.am): Likewise.
33540         Suggested by Jim Meyering.
33541
33542 2010-01-24  Bruno Haible  <bruno@clisp.org>
33543
33544         More documentation.
33545         * doc/gnulib.texi (Writing modules): New chapter.
33546         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33547         the new chapter.
33548
33549 2010-01-24  Jim Meyering  <meyering@redhat.com>
33550
33551         maint.mk: do not prepend "./" after filtering
33552         * top/maint.mk (_prepend_srcdir_prefix): New variable
33553         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33554         "./" when $(srcdir) is ".".
33555
33556         define STREQ(a,b) consistently, removing useless parentheses
33557         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33558         since the only risk is that "a" or "b" contains an unparenthesized
33559         comma, but if either did that, STREQ would have 3 or more arguments.
33560         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33561         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33562         * lib/hash-triple.c (STREQ): Likewise.
33563         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33564         * lib/getugroups.c (STREQ): Likewise.
33565
33566 2010-01-23  Jim Meyering  <meyering@redhat.com>
33567
33568         maint.mk: fix syntax-check in a non-srcdir build directory
33569         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33570         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33571
33572 2010-01-22  Jim Meyering  <meyering@redhat.com>
33573
33574         userspec: add unit tests
33575         * tests/test-userspec.c: New file.
33576         * modules/userspec-tests: Likewise.
33577
33578 2010-01-21  Jim Meyering  <meyering@redhat.com>
33579
33580         maint.mk: handle source file names containing "." robustly
33581         * top/maint.mk (_dot_escaped_srcdir): Define.
33582         (VC_LIST): Use it in LHS of sed substitution.
33583
33584 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33585
33586         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33587         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33588         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33589         from a non-srcdir build.
33590
33591 2010-01-20  Eric Blake  <ebb9@byu.net>
33592
33593         warn-on-use: use instead of link-warning
33594         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33595         * modules/unistd (Depends-on, Makefile.am): Likewise.
33596         * modules/arpa_inet (Depends-on): Replace link-warning with
33597         warn-on-use.
33598         (Makefile.am): Update rules accordingly.
33599         * modules/ctype (Depends-on, Makefile.am): Likewise.
33600         * modules/dirent (Depends-on, Makefile.am): Likewise.
33601         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33602         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33603         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33604         * modules/locale (Depends-on, Makefile.am): Likewise.
33605         * modules/math (Depends-on, Makefile.am): Likewise.
33606         * modules/search (Depends-on, Makefile.am): Likewise.
33607         * modules/signal (Depends-on, Makefile.am): Likewise.
33608         * modules/spawn (Depends-on, Makefile.am): Likewise.
33609         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33610         * modules/string (Depends-on, Makefile.am): Likewise.
33611         * modules/strings (Depends-on, Makefile.am): Likewise.
33612         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33613         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33614         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33615         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33616         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33617         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33618         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33619         * modules/wchar (Depends-on, Makefile.am): Likewise.
33620         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33621         should be poisoned.
33622         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33623         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33624         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33625         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33626         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33627         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33628         * m4/math_h.m4 (gl_MATH_H): Likewise.
33629         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33630         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33631         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33632         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33633         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33634         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33635         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33636         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33637         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33638         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33639         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33640         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33641         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33642         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33643         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33644         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33645         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33646         GL_LINK_WARNING.
33647         * lib/ctype.in.h: Likewise.
33648         * lib/dirent.in.h: Likewise.
33649         * lib/fcntl.in.h: Likewise.
33650         * lib/inttypes.in.h: Likewise.
33651         * lib/langinfo.in.h: Likewise.
33652         * lib/locale.in.h: Likewise.
33653         * lib/math.in.h: Likewise.
33654         * lib/search.in.h: Likewise.
33655         * lib/signal.in.h: Likewise.
33656         * lib/spawn.in.h: Likewise.
33657         * lib/stdio.in.h: Likewise.
33658         * lib/stdlib.in.h: Likewise.
33659         * lib/string.in.h: Likewise.
33660         * lib/strings.in.h: Likewise.
33661         * lib/sys_file.in.h: Likewise.
33662         * lib/sys_ioctl.in.h: Likewise.
33663         * lib/sys_select.in.h: Likewise.
33664         * lib/sys_socket.in.h: Likewise.
33665         * lib/sys_stat.in.h: Likewise.
33666         * lib/sys_times.in.h: Likewise.
33667         * lib/sys_utsname.in.h: Likewise.
33668         * lib/unistd.in.h: Likewise.
33669         * lib/wchar.in.h: Likewise.
33670
33671 2010-01-20  Bruno Haible  <bruno@clisp.org>
33672
33673         Avoid duplicate -lm.
33674         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33675         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33676         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33677         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33678         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33679         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33680         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33681         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33682         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33683         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33684         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33685         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33686         Reported by Paolo Bonzini.
33687
33688 2010-01-19  Bruno Haible  <bruno@clisp.org>
33689
33690         langinfo, nl_langinfo: Relicense under LGPLv2+.
33691         * modules/langinfo (License): Change to LGPLv2+.
33692         * modules/nl_langinfo (License): Likewise.
33693         Patch by David Lutterkort <lutter@redhat.com>.
33694
33695 2010-01-19  Bruno Haible  <bruno@clisp.org>
33696
33697         Avoid compilation error with cc on OSF/1 5.1.
33698         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33699         statement, not before.
33700         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33701
33702 2010-01-18  Bruno Haible  <bruno@clisp.org>
33703
33704         Avoid a link error due to the __printf__ symbol.
33705         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33706         and 2.6.x.
33707         (__format__, __printf__): Remove definitions.
33708         * lib/argp-fmtstream.h: Likewise.
33709         * lib/argp.h: Likewise.
33710         * lib/error.h: Likewise.
33711         * lib/vasnprintf.h: Likewise.
33712         * lib/xprintf.h: Likewise.
33713         * lib/xvasprintf.h: Likewise.
33714         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33715
33716 2010-01-18  Bruno Haible  <bruno@clisp.org>
33717
33718         Tests for module 'tanl'.
33719         * modules/tanl-tests: New file.
33720         * tests/test-tanl.c: New file.
33721
33722         Tests for module 'sqrtl'.
33723         * modules/sqrtl-tests: New file.
33724         * tests/test-sqrtl.c: New file.
33725
33726         Tests for module 'sinl'.
33727         * modules/sinl-tests: New file.
33728         * tests/test-sinl.c: New file.
33729
33730         Tests for module 'logl'.
33731         * modules/logl-tests: New file.
33732         * tests/test-logl.c: New file.
33733
33734         Tests for module 'expl'.
33735         * modules/expl-tests: New file.
33736         * tests/test-expl.c: New file.
33737
33738         Tests for module 'cosl'.
33739         * modules/cosl-tests: New file.
33740         * tests/test-cosl.c: New file.
33741
33742         Tests for module 'atanl'.
33743         * modules/atanl-tests: New file.
33744         * tests/test-atanl.c: New file.
33745
33746         Tests for module 'asinl'.
33747         * modules/asinl-tests: New file.
33748         * tests/test-asinl.c: New file.
33749
33750         Tests for module 'acosl'.
33751         * modules/acosl-tests: New file.
33752         * tests/test-acosl.c: New file.
33753
33754         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33755         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33756         tanl): Use the standard gnulib idiom.
33757         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33758         * lib/sinl.c: Likewise.
33759         * lib/tanl.c: Don't include trigl.c.
33760         (kernel_tanl): Make static.
33761         * lib/sincosl.c: Include trigl.h first.
33762         * lib/trigl.c: Likewise.
33763         * m4/acosl.m4: New file.
33764         * m4/asinl.m4: New file.
33765         * m4/atanl.m4: New file.
33766         * m4/cosl.m4: New file.
33767         * m4/expl.m4: New file.
33768         * m4/logl.m4: New file.
33769         * m4/sinl.m4: New file.
33770         * m4/sqrtl.m4: New file.
33771         * m4/tanl.m4: New file.
33772         * m4/mathl.m4: Remove file.
33773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33774         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33775         Don't initialize GNULIB_MATHL.
33776         * modules/acosl: New file.
33777         * modules/asinl: New file.
33778         * modules/atanl: New file.
33779         * modules/cosl: New file.
33780         * modules/expl: New file.
33781         * modules/logl: New file.
33782         * modules/sinl: New file.
33783         * modules/sqrtl: New file.
33784         * modules/tanl: New file.
33785         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33786         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33787         substitute GNULIB_MATHL.
33788         * modules/mathl: Rewritten.
33789         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33790         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33791         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33792         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33793         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33794         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33795         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33796         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33797         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33798
33799 2010-01-18  Bruno Haible  <bruno@clisp.org>
33800
33801         sqrt: Make gl_FUNC_SQRT requirable.
33802         * m4/sqrt.m4: New file.
33803         * modules/sqrt (Files): Add it.
33804         (configure.ac): Invoke gl_FUNC_SQRT.
33805
33806 2010-01-18  Bruno Haible  <bruno@clisp.org>
33807
33808         New modules for common <math.h> functions.
33809         * m4/mathfunc.m4: New file.
33810         * modules/acos: New file.
33811         * modules/asin: New file.
33812         * modules/atan: New file.
33813         * modules/atan2: New file.
33814         * modules/cbrt: New file.
33815         * modules/copysign: New file.
33816         * modules/cos: New file.
33817         * modules/cosh: New file.
33818         * modules/erf: New file.
33819         * modules/erfc: New file.
33820         * modules/exp: New file.
33821         * modules/fabs: New file.
33822         * modules/fmod: New file.
33823         * modules/hypot: New file.
33824         * modules/j0: New file.
33825         * modules/j1: New file.
33826         * modules/jn: New file.
33827         * modules/ldexp: New file.
33828         * modules/lgamma: New file.
33829         * modules/log: New file.
33830         * modules/log10: New file.
33831         * modules/log1p: New file.
33832         * modules/logb: New file.
33833         * modules/modf: New file.
33834         * modules/nextafter: New file.
33835         * modules/pow: New file.
33836         * modules/remainder: New file.
33837         * modules/rint: New file.
33838         * modules/sin: New file.
33839         * modules/sinh: New file.
33840         * modules/sqrt: New file.
33841         * modules/tan: New file.
33842         * modules/tanh: New file.
33843         * modules/y0: New file.
33844         * modules/y1: New file.
33845         * modules/yn: New file.
33846         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33847         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33848         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33849         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33850         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33851         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33852         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33853         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33854         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33855         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33856         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33857         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33858         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33859         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33860         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33861         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33862         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33863         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33864         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33865         * doc/posix-functions/log.texi: Mention the 'log' module.
33866         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33867         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33868         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33869         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33870         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33871         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33872         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33873         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33874         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33875         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33876         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33877         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33878         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33879         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33880         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33881         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33882
33883 2010-01-18  Jim Meyering  <meyering@redhat.com>
33884
33885         ignore-value: relax license to LGPLv2+
33886         * modules/ignore-value (License): Relax to LGPLv2+.
33887
33888         getdate: don't leak when TZ contains two or more '"'s
33889         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33890         double quote in TZ after the first one.
33891
33892         readtokens: do not leak internal token_lengths buffer
33893         * lib/readtokens.c (readtokens): Free the local, lengths,
33894         when the supplied "token_lengths" parameter is NULL.
33895
33896 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33897
33898         Fix a couple of missing LIBTHREAD link failures on AIX.
33899         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33900         $(LIBTHREAD).
33901         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33902
33903         Link test-poll against INET_PTON_LIB.
33904         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
33905         for inet_pton on Solaris 10.
33906
33907 2010-01-17  Bruno Haible  <bruno@clisp.org>
33908
33909         unistdio/*-sprintf: Fix typo in module description.
33910         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
33911         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
33912         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
33913         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
33914         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
33915         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
33916         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
33917         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33918
33919 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33920
33921         gnulib-tool: fix filelist for AIX, HP-UX ksh.
33922         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
33923         variables in shell case patterns, for AIX and HP-UX ksh.
33924
33925         Split large sed scripts, for HP-UX sed.
33926         * modules/stdio: Split sed scripts around 50 sed commands,
33927         to avoid HP-UX limit of 99 commands, in the near future.
33928         * modules/string: Likewise.
33929         * modules/unistd: Likewise.
33930
33931         gnulib-tool: avoid writing in the current directory.
33932         * gnulib-tool (func_emit_lib_Makefile_am)
33933         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
33934         not in the current directory, so concurrent gnulib-tool
33935         instances do not interfere.
33936
33937 2010-01-16  Jim Meyering  <meyering@redhat.com>
33938
33939         doc: update users.txt
33940         * users.txt: Add grep.
33941         (diffutils, gzip): Update URLs.
33942
33943 2010-01-12  Bruno Haible  <bruno@clisp.org>
33944
33945         posix_spawn: Avoid test failure on Cygwin.
33946         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
33947         characters.
33948         Reported by Simon Josefsson.
33949
33950 2010-01-12  Bruno Haible  <bruno@clisp.org>
33951
33952         * tests/test-cond.c (main): When skipping the test, show the reason.
33953
33954 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33955
33956         * lib/striconv.c (str_cd_iconv): Avoid if before free.
33957
33958 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33959
33960         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
33961         VC_LIST_ALWAYS_EXCLUDE_REGEX.
33962
33963 2010-01-12  Eric Blake  <ebb9@byu.net>
33964
33965         build: guarantee AS_VAR_IF
33966         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
33967         (gl_AS_VAR_IF): Move...
33968         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
33969         Reported by Simon Josefsson.
33970
33971 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33972
33973         * lib/stdio.in.h: Fix typo.
33974
33975 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33976
33977         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
33978         libgpg-error.
33979
33980 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33981
33982         * tests/test-xalloc-die.sh: Use $EXEEXT.
33983
33984 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33985             Bruno Haible  <bruno@clisp.org>
33986
33987         getlogin, getlogin_r: Avoid test failure.
33988         * tests/test-getlogin.c: Include <stdio.h>.
33989         (main): Skip the test when the function fails because stdin is not a
33990         tty.
33991         * tests/test-getlogin_r.c: Include <stdio.h>.
33992         (main): Skip the test when the function fails because stdin is not a
33993         tty.
33994
33995 2010-01-11  Eric Blake  <ebb9@byu.net>
33996
33997         tests: avoid more large file warnings
33998         * tests/test-fflush.c: Avoid warning about ftell use.
33999         * tests/test-fseek.c: Avoid warning about fseek use.
34000
34001 2010-01-10  Bruno Haible  <bruno@clisp.org>
34002
34003         nproc: Work better on Linux when /proc and /sys are not mounted.
34004         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34005         as lower bound when, on glibc/Linux systems,
34006         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34007         Suggested by Pádraig Brady <P@draigbrady.com>.
34008         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34009
34010         nproc: Refactor.
34011         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34012         extracted from num_processors.
34013         (num_processors): Call it.
34014
34015 2010-01-11  Jim Meyering  <meyering@redhat.com>
34016
34017         utimecmp: avoid new warning from upcoming gcc-4.5.0
34018         * lib/utimecmp.c (BILLION): Define using #define rather than an
34019         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34020
34021 2010-01-11  Eric Blake  <ebb9@byu.net>
34022
34023         math: add portability warnings for classification macros
34024         * modules/math (Depends-on): Add warn-on-use.
34025         (Makefile.am): Provide new substitutions.
34026         * m4/math_h.m4 (gl_MATH_H): Require inline.
34027         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34028         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34029         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34030         implement warnings.
34031
34032         unistd: warn on use of environ without module
34033         * modules/unistd (Depends-on): Add warn-on-use.
34034         (Makefile.am): Provide new substitutions.
34035         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34036         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34037
34038         stdio: warn on suspicious uses
34039         * modules/stdio (Depends-on): Add warn-on-use.
34040         (Makefile.am): Provide new substitutions.
34041         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34042         fseeko.
34043         * lib/stdio.in.h (gets): Always warn on use.
34044         (fseek, ftell): Adjust when warnings are issued, and honor
34045         _GL_NO_LARGE_FILES as a way to silence the warning.
34046         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34047         any warning about large file offsets.
34048         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34049         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34050         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34051         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34052         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34053         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34054         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34055         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34056
34057         warn-on-use: new module
34058         * modules/warn-on-use: New file.
34059         * build-aux/warn-on-use.h: Likewise.
34060         * m4/warn-on-use.m4: Likewise.
34061         * MODULES.html.sh (Support for building): Mention it.
34062
34063 2010-01-10  Bruno Haible  <bruno@clisp.org>
34064
34065         Tests for module 'unistr/u32-strdup'.
34066         * modules/unistr/u32-strdup-tests: New file.
34067         * tests/unistr/test-u32-strdup.c: New file.
34068
34069         Tests for module 'unistr/u16-strdup'.
34070         * modules/unistr/u16-strdup-tests: New file.
34071         * tests/unistr/test-u16-strdup.c: New file.
34072
34073         Tests for module 'unistr/u8-strdup'.
34074         * modules/unistr/u8-strdup-tests: New file.
34075         * tests/unistr/test-u8-strdup.c: New file.
34076         * tests/unistr/test-strdup.h: New file.
34077
34078         Tests for module 'unistr/u32-strncmp'.
34079         * modules/unistr/u32-strncmp-tests: New file.
34080         * tests/unistr/test-u32-strncmp.c: New file.
34081
34082         Tests for module 'unistr/u16-strncmp'.
34083         * modules/unistr/u16-strncmp-tests: New file.
34084         * tests/unistr/test-u16-strncmp.c: New file.
34085
34086         Tests for module 'unistr/u8-strncmp'.
34087         * modules/unistr/u8-strncmp-tests: New file.
34088         * tests/unistr/test-u8-strncmp.c: New file.
34089         * tests/unistr/test-strncmp.h: New file.
34090
34091         Tests for module 'unistr/u32-strcoll'.
34092         * modules/unistr/u32-strcoll-tests: New file.
34093         * tests/unistr/test-u32-strcoll.c: New file.
34094
34095         Tests for module 'unistr/u16-strcoll'.
34096         * modules/unistr/u16-strcoll-tests: New file.
34097         * tests/unistr/test-u16-strcoll.c: New file.
34098
34099         Tests for module 'unistr/u8-strcoll'.
34100         * modules/unistr/u8-strcoll-tests: New file.
34101         * tests/unistr/test-u8-strcoll.c: New file.
34102
34103         Tests for module 'unistr/u32-strcmp'.
34104         * modules/unistr/u32-strcmp-tests: New file.
34105         * tests/unistr/test-u32-strcmp.c: New file.
34106         * tests/unistr/test-u32-strcmp.h: New file.
34107
34108         Tests for module 'unistr/u16-strcmp'.
34109         * modules/unistr/u16-strcmp-tests: New file.
34110         * tests/unistr/test-u16-strcmp.c: New file.
34111         * tests/unistr/test-u16-strcmp.h: New file.
34112
34113         Tests for module 'unistr/u8-strcmp'.
34114         * modules/unistr/u8-strcmp-tests: New file.
34115         * tests/unistr/test-u8-strcmp.c: New file.
34116         * tests/unistr/test-u8-strcmp.h: New file.
34117         * tests/unistr/test-strcmp.h: New file.
34118
34119         Tests for module 'unistr/u32-strncat'.
34120         * modules/unistr/u32-strncat-tests: New file.
34121         * tests/unistr/test-u32-strncat.c: New file.
34122
34123         Tests for module 'unistr/u16-strncat'.
34124         * modules/unistr/u16-strncat-tests: New file.
34125         * tests/unistr/test-u16-strncat.c: New file.
34126
34127         Tests for module 'unistr/u8-strncat'.
34128         * modules/unistr/u8-strncat-tests: New file.
34129         * tests/unistr/test-u8-strncat.c: New file.
34130         * tests/unistr/test-strncat.h: New file.
34131
34132         Tests for module 'unistr/u32-strcat'.
34133         * modules/unistr/u32-strcat-tests: New file.
34134         * tests/unistr/test-u32-strcat.c: New file.
34135
34136         Tests for module 'unistr/u16-strcat'.
34137         * modules/unistr/u16-strcat-tests: New file.
34138         * tests/unistr/test-u16-strcat.c: New file.
34139
34140         Tests for module 'unistr/u8-strcat'.
34141         * modules/unistr/u8-strcat-tests: New file.
34142         * tests/unistr/test-u8-strcat.c: New file.
34143         * tests/unistr/test-strcat.h: New file.
34144
34145         Tests for module 'unistr/u32-stpncpy'.
34146         * modules/unistr/u32-stpncpy-tests: New file.
34147         * tests/unistr/test-u32-stpncpy.c: New file.
34148
34149         Tests for module 'unistr/u16-stpncpy'.
34150         * modules/unistr/u16-stpncpy-tests: New file.
34151         * tests/unistr/test-u16-stpncpy.c: New file.
34152
34153         Tests for module 'unistr/u8-stpncpy'.
34154         * modules/unistr/u8-stpncpy-tests: New file.
34155         * tests/unistr/test-u8-stpncpy.c: New file.
34156         * tests/unistr/test-stpncpy.h: New file.
34157
34158         Tests for module 'unistr/u32-strncpy'.
34159         * modules/unistr/u32-strncpy-tests: New file.
34160         * tests/unistr/test-u32-strncpy.c: New file.
34161
34162         Tests for module 'unistr/u16-strncpy'.
34163         * modules/unistr/u16-strncpy-tests: New file.
34164         * tests/unistr/test-u16-strncpy.c: New file.
34165
34166         Tests for module 'unistr/u8-strncpy'.
34167         * modules/unistr/u8-strncpy-tests: New file.
34168         * tests/unistr/test-u8-strncpy.c: New file.
34169         * tests/unistr/test-strncpy.h: New file.
34170
34171         Tests for module 'unistr/u32-stpcpy'.
34172         * modules/unistr/u32-stpcpy-tests: New file.
34173         * tests/unistr/test-u32-stpcpy.c: New file.
34174
34175         Tests for module 'unistr/u16-stpcpy'.
34176         * modules/unistr/u16-stpcpy-tests: New file.
34177         * tests/unistr/test-u16-stpcpy.c: New file.
34178
34179         Tests for module 'unistr/u8-stpcpy'.
34180         * modules/unistr/u8-stpcpy-tests: New file.
34181         * tests/unistr/test-u8-stpcpy.c: New file.
34182         * tests/unistr/test-stpcpy.h: New file.
34183
34184         Tests for module 'unistr/u32-strcpy'.
34185         * modules/unistr/u32-strcpy-tests: New file.
34186         * tests/unistr/test-u32-strcpy.c: New file.
34187
34188         Tests for module 'unistr/u16-strcpy'.
34189         * modules/unistr/u16-strcpy-tests: New file.
34190         * tests/unistr/test-u16-strcpy.c: New file.
34191
34192         Tests for module 'unistr/u8-strcpy'.
34193         * modules/unistr/u8-strcpy-tests: New file.
34194         * tests/unistr/test-u8-strcpy.c: New file.
34195         * tests/unistr/test-strcpy.h: New file.
34196
34197         Tests for module 'unistr/u32-strnlen'.
34198         * modules/unistr/u32-strnlen-tests: New file.
34199         * tests/unistr/test-u32-strnlen.c: New file.
34200
34201         Tests for module 'unistr/u16-strnlen'.
34202         * modules/unistr/u16-strnlen-tests: New file.
34203         * tests/unistr/test-u16-strnlen.c: New file.
34204
34205         Tests for module 'unistr/u8-strnlen'.
34206         * modules/unistr/u8-strnlen-tests: New file.
34207         * tests/unistr/test-u8-strnlen.c: New file.
34208         * tests/unistr/test-strnlen.h: New file.
34209
34210         Tests for module 'unistr/u32-strlen'.
34211         * modules/unistr/u32-strlen-tests: New file.
34212         * tests/unistr/test-u32-strlen.c: New file.
34213
34214         Tests for module 'unistr/u16-strlen'.
34215         * modules/unistr/u16-strlen-tests: New file.
34216         * tests/unistr/test-u16-strlen.c: New file.
34217
34218         Tests for module 'unistr/u8-strlen'.
34219         * modules/unistr/u8-strlen-tests: New file.
34220         * tests/unistr/test-u8-strlen.c: New file.
34221
34222         Tests for module 'unistr/u32-prev'.
34223         * modules/unistr/u32-prev-tests: New file.
34224         * tests/unistr/test-u32-prev.c: New file.
34225
34226         Tests for module 'unistr/u16-prev'.
34227         * modules/unistr/u16-prev-tests: New file.
34228         * tests/unistr/test-u16-prev.c: New file.
34229
34230         Tests for module 'unistr/u8-prev'.
34231         * modules/unistr/u8-prev-tests: New file.
34232         * tests/unistr/test-u8-prev.c: New file.
34233
34234         Tests for module 'unistr/u32-next'.
34235         * modules/unistr/u32-next-tests: New file.
34236         * tests/unistr/test-u32-next.c: New file.
34237
34238         Tests for module 'unistr/u16-next'.
34239         * modules/unistr/u16-next-tests: New file.
34240         * tests/unistr/test-u16-next.c: New file.
34241
34242         Tests for module 'unistr/u8-next'.
34243         * modules/unistr/u8-next-tests: New file.
34244         * tests/unistr/test-u8-next.c: New file.
34245
34246         Tests for module 'unistr/u32-strmbtouc'.
34247         * modules/unistr/u32-strmbtouc-tests: New file.
34248         * tests/unistr/test-u32-strmbtouc.c: New file.
34249
34250         Tests for module 'unistr/u16-strmbtouc'.
34251         * modules/unistr/u16-strmbtouc-tests: New file.
34252         * tests/unistr/test-u16-strmbtouc.c: New file.
34253
34254         Tests for module 'unistr/u8-strmbtouc'.
34255         * modules/unistr/u8-strmbtouc-tests: New file.
34256         * tests/unistr/test-u8-strmbtouc.c: New file.
34257
34258         Tests for module 'unistr/u32-strmblen'.
34259         * modules/unistr/u32-strmblen-tests: New file.
34260         * tests/unistr/test-u32-strmblen.c: New file.
34261
34262         Tests for module 'unistr/u16-strmblen'.
34263         * modules/unistr/u16-strmblen-tests: New file.
34264         * tests/unistr/test-u16-strmblen.c: New file.
34265
34266         Tests for module 'unistr/u8-strmblen'.
34267         * modules/unistr/u8-strmblen-tests: New file.
34268         * tests/unistr/test-u8-strmblen.c: New file.
34269
34270         Tests for module 'unistr/u32-cpy-alloc'.
34271         * modules/unistr/u32-cpy-alloc-tests: New file.
34272         * tests/unistr/test-u32-cpy-alloc.c: New file.
34273
34274         Tests for module 'unistr/u16-cpy-alloc'.
34275         * modules/unistr/u16-cpy-alloc-tests: New file.
34276         * tests/unistr/test-u16-cpy-alloc.c: New file.
34277
34278         Tests for module 'unistr/u8-cpy-alloc'.
34279         * modules/unistr/u8-cpy-alloc-tests: New file.
34280         * tests/unistr/test-u8-cpy-alloc.c: New file.
34281         * tests/unistr/test-cpy-alloc.h: New file.
34282
34283         Tests for module 'unistr/u32-mbsnlen'.
34284         * modules/unistr/u32-mbsnlen-tests: New file.
34285         * tests/unistr/test-u32-mbsnlen.c: New file.
34286
34287         Tests for module 'unistr/u16-mbsnlen'.
34288         * modules/unistr/u16-mbsnlen-tests: New file.
34289         * tests/unistr/test-u16-mbsnlen.c: New file.
34290
34291         Tests for module 'unistr/u8-mbsnlen'.
34292         * modules/unistr/u8-mbsnlen-tests: New file.
34293         * tests/unistr/test-u8-mbsnlen.c: New file.
34294
34295         Tests for module 'unistr/u32-chr'.
34296         * modules/unistr/u32-chr-tests: New file.
34297         * tests/unistr/test-u32-chr.c: New file.
34298
34299         Tests for module 'unistr/u16-chr'.
34300         * modules/unistr/u16-chr-tests: New file.
34301         * tests/unistr/test-u16-chr.c: New file.
34302
34303         Tests for module 'unistr/u8-chr'.
34304         * modules/unistr/u8-chr-tests: New file.
34305         * tests/unistr/test-u8-chr.c: New file.
34306         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34307
34308         Tests for module 'unistr/u32-cmp2'.
34309         * modules/unistr/u32-cmp2-tests: New file.
34310         * tests/unistr/test-u32-cmp2.c: New file.
34311
34312         Tests for module 'unistr/u16-cmp2'.
34313         * modules/unistr/u16-cmp2-tests: New file.
34314         * tests/unistr/test-u16-cmp2.c: New file.
34315
34316         Tests for module 'unistr/u8-cmp2'.
34317         * modules/unistr/u8-cmp2-tests: New file.
34318         * tests/unistr/test-u8-cmp2.c: New file.
34319         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34320
34321         Tests for module 'unistr/u32-cmp'.
34322         * modules/unistr/u32-cmp-tests: New file.
34323         * tests/unistr/test-u32-cmp.c: New file.
34324
34325         Tests for module 'unistr/u16-cmp'.
34326         * modules/unistr/u16-cmp-tests: New file.
34327         * tests/unistr/test-u16-cmp.c: New file.
34328
34329         Tests for module 'unistr/u8-cmp'.
34330         * modules/unistr/u8-cmp-tests: New file.
34331         * tests/unistr/test-u8-cmp.c: New file.
34332         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34333
34334         Tests for module 'unistr/u32-set'.
34335         * modules/unistr/u32-set-tests: New file.
34336         * tests/unistr/test-u32-set.c: New file.
34337
34338         Tests for module 'unistr/u16-set'.
34339         * modules/unistr/u16-set-tests: New file.
34340         * tests/unistr/test-u16-set.c: New file.
34341
34342         Tests for module 'unistr/u8-set'.
34343         * modules/unistr/u8-set-tests: New file.
34344         * tests/unistr/test-u8-set.c: New file.
34345         * tests/unistr/test-set.h: New file.
34346
34347         Tests for module 'unistr/u32-move'.
34348         * modules/unistr/u32-move-tests: New file.
34349         * tests/unistr/test-u32-move.c: New file.
34350
34351         Tests for module 'unistr/u16-move'.
34352         * modules/unistr/u16-move-tests: New file.
34353         * tests/unistr/test-u16-move.c: New file.
34354
34355         Tests for module 'unistr/u8-move'.
34356         * modules/unistr/u8-move-tests: New file.
34357         * tests/unistr/test-u8-move.c: New file.
34358         * tests/unistr/test-move.h: New file.
34359
34360         Tests for module 'unistr/u32-cpy'.
34361         * modules/unistr/u32-cpy-tests: New file.
34362         * tests/unistr/test-u32-cpy.c: New file.
34363
34364         Tests for module 'unistr/u16-cpy'.
34365         * modules/unistr/u16-cpy-tests: New file.
34366         * tests/unistr/test-u16-cpy.c: New file.
34367
34368         Tests for module 'unistr/u8-cpy'.
34369         * modules/unistr/u8-cpy-tests: New file.
34370         * tests/unistr/test-u8-cpy.c: New file.
34371         * tests/unistr/test-cpy.h: New file.
34372
34373 2010-01-09  Bruno Haible  <bruno@clisp.org>
34374
34375         Tests for module 'unistr/u32-uctomb'.
34376         * modules/unistr/u32-uctomb-tests: New file.
34377         * tests/unistr/test-u32-uctomb.c: New file.
34378
34379         Tests for module 'unistr/u16-uctomb'.
34380         * modules/unistr/u16-uctomb-tests: New file.
34381         * tests/unistr/test-u16-uctomb.c: New file.
34382
34383         Tests for module 'unistr/u8-uctomb'.
34384         * modules/unistr/u8-uctomb-tests: New file.
34385         * tests/unistr/test-u8-uctomb.c: New file.
34386
34387         Tests for module 'unistr/u32-mbtoucr'.
34388         * modules/unistr/u32-mbtoucr-tests: New file.
34389         * tests/unistr/test-u32-mbtoucr.c: New file.
34390
34391         Tests for module 'unistr/u16-mbtoucr'.
34392         * modules/unistr/u16-mbtoucr-tests: New file.
34393         * tests/unistr/test-u16-mbtoucr.c: New file.
34394
34395         Tests for module 'unistr/u8-mbtoucr'.
34396         * modules/unistr/u8-mbtoucr-tests: New file.
34397         * tests/unistr/test-u8-mbtoucr.c: New file.
34398
34399         Tests for module 'unistr/u32-mbtouc'.
34400         * modules/unistr/u32-mbtouc-tests: New file.
34401         * tests/unistr/test-u32-mbtouc.c: New file.
34402
34403         Tests for module 'unistr/u16-mbtouc'.
34404         * modules/unistr/u16-mbtouc-tests: New file.
34405         * tests/unistr/test-u16-mbtouc.c: New file.
34406
34407         Tests for module 'unistr/u8-mbtouc'.
34408         * modules/unistr/u8-mbtouc-tests: New file.
34409         * tests/unistr/test-u8-mbtouc.c: New file.
34410
34411         Tests for module 'unistr/u32-mbtouc-unsafe'.
34412         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
34413         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
34414         * tests/unistr/test-u32-mbtouc.h: New file.
34415
34416         Tests for module 'unistr/u16-mbtouc-unsafe'.
34417         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
34418         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
34419         * tests/unistr/test-u16-mbtouc.h: New file.
34420
34421         Tests for module 'unistr/u8-mbtouc-unsafe'.
34422         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
34423         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
34424         * tests/unistr/test-u8-mbtouc.h: New file.
34425
34426         Tests for module 'unistr/u32-mblen'.
34427         * modules/unistr/u32-mblen-tests: New file.
34428         * tests/unistr/test-u32-mblen.c: New file.
34429
34430         Tests for module 'unistr/u16-mblen'.
34431         * modules/unistr/u16-mblen-tests: New file.
34432         * tests/unistr/test-u16-mblen.c: New file.
34433
34434         Tests for module 'unistr/u8-mblen'.
34435         * modules/unistr/u8-mblen-tests: New file.
34436         * tests/unistr/test-u8-mblen.c: New file.
34437
34438         Tests for module 'unistr/u32-to-u16'.
34439         * modules/unistr/u32-to-u16-tests: New file.
34440         * tests/unistr/test-u32-to-u16.c: New file.
34441
34442         Tests for module 'unistr/u32-to-u8'.
34443         * modules/unistr/u32-to-u8-tests: New file.
34444         * tests/unistr/test-u32-to-u8.c: New file.
34445
34446         Tests for module 'unistr/u16-to-u32'.
34447         * modules/unistr/u16-to-u32-tests: New file.
34448         * tests/unistr/test-u16-to-u32.c: New file.
34449
34450         Tests for module 'unistr/u16-to-u8'.
34451         * modules/unistr/u16-to-u8-tests: New file.
34452         * tests/unistr/test-u16-to-u8.c: New file.
34453
34454         Tests for module 'unistr/u8-to-u32'.
34455         * modules/unistr/u8-to-u32-tests: New file.
34456         * tests/unistr/test-u8-to-u32.c: New file.
34457
34458         Tests for module 'unistr/u8-to-u16'.
34459         * modules/unistr/u8-to-u16-tests: New file.
34460         * tests/unistr/test-u8-to-u16.c: New file.
34461
34462         Tests for module 'unistr/u32-check'.
34463         * modules/unistr/u32-check-tests: New file.
34464         * tests/unistr/test-u32-check.c: New file.
34465
34466         Tests for module 'unistr/u16-check'.
34467         * modules/unistr/u16-check-tests: New file.
34468         * tests/unistr/test-u16-check.c: New file.
34469
34470         Tests for module 'unistr/u8-check'.
34471         * modules/unistr/u8-check-tests: New file.
34472         * tests/unistr/test-u8-check.c: New file.
34473
34474         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
34475         (category_equals): New function.
34476         (main): Add more tests.
34477         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
34478
34479         * tests/unictype/test-bidi_byname.c (main): Add more tests.
34480
34481 2010-01-10  Bruno Haible  <bruno@clisp.org>
34482
34483         unistr/u*-strcoll: Try harder to distinguish different strings.
34484         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
34485         compare s1 and s2 to see if they are different.
34486
34487 2010-01-10  Bruno Haible  <bruno@clisp.org>
34488
34489         unistr/u*-stpncpy: Fix the return value.
34490         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
34491         description of the return value consistent with stpncpy in glibc.
34492         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
34493         written non-NUL unit.
34494
34495 2010-01-10  Bruno Haible  <bruno@clisp.org>
34496
34497         unistr/u*-next: Add missing dependencies.
34498         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
34499         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
34500         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
34501
34502 2010-01-10  Bruno Haible  <bruno@clisp.org>
34503
34504         unistr/u8-mbsnlen: Fix return value for incomplete character.
34505         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
34506         u8_mblen.
34507         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
34508         Remove unistr/u8-mblen.
34509         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
34510         u16_mblen.
34511         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
34512         Remove unistr/u16-mblen.
34513
34514 2010-01-10  Bruno Haible  <bruno@clisp.org>
34515
34516         wchar: Fix compilation error when <wchar.h> is used from coreutils.
34517         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
34518         Reported by Brian Gough <bjg@gnu.org> and
34519         Chris Clayton <chris2553@googlemail.com> via
34520         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
34521
34522 2010-01-09  Bruno Haible  <bruno@clisp.org>
34523
34524         unistr/u16-to-u32: Reject invalid input.
34525         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
34526         u16_mbtouc.
34527         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
34528         Remove unistr/u16-mbtouc.
34529
34530         unistr/u16-to-u8: Reject invalid input.
34531         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
34532         u16_mbtouc.
34533         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34534         Remove unistr/u16-mbtouc.
34535
34536         unistr/u8-to-u32: Reject invalid input.
34537         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34538         u8_mbtouc.
34539         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34540         Remove unistr/u8-mbtouc.
34541
34542         unistr/u8-to-u16: Reject invalid input.
34543         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34544         u8_mbtouc.
34545         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34546         Remove unistr/u8-mbtouc.
34547
34548 2010-01-09  Bruno Haible  <bruno@clisp.org>
34549
34550         Tests for module 'getlogin'.
34551         * modules/getlogin-tests: New file.
34552         * tests/test-getlogin.c: New file.
34553
34554         New module 'getlogin'.
34555         * lib/unistd.in.h (getlogin): New declaration.
34556         * lib/getlogin.c: New file.
34557         * m4/getlogin.m4: New file.
34558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34559         HAVE_GETLOGIN.
34560         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34561         HAVE_GETLOGIN.
34562         * modules/getlogin: New file.
34563         * doc/posix-functions/getlogin.texi: Mention the new module.
34564         Reported by John W. Eaton <jwe@gnu.org>.
34565
34566 2010-01-09  Bruno Haible  <bruno@clisp.org>
34567
34568         getlogin_r: Support for native Windows.
34569         * lib/getlogin_r.c: Include <windows.h>
34570         (getlogin_r): Implement for native Windows.
34571         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34572         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34573         via John W. Eaton <jwe@gnu.org>.
34574
34575 2010-01-09  Bruno Haible  <bruno@clisp.org>
34576
34577         getlogin_r: Small fixes.
34578         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34579         succeeds.
34580         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34581         before testing whether getlogin_r is declared. No need to set
34582         HAVE_DECL_GETLOGIN_R to 1.
34583         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34584
34585 2010-01-09  Bruno Haible  <bruno@clisp.org>
34586
34587         * lib/unistd.in.h (getlogin_r): Add comment.
34588
34589 2010-01-09  Bruno Haible  <bruno@clisp.org>
34590
34591         Tests for module 'getlogin_r'.
34592         * modules/getlogin_r-tests: New file.
34593         * tests/test-getlogin_r.c: New file.
34594
34595 2010-01-09  Jim Meyering  <meyering@redhat.com>
34596
34597         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34598         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34599         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34600
34601 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34602
34603         * lib/dup2.c (rpl_dup2): Improve comment.
34604
34605 2010-01-08  Eric Blake  <ebb9@byu.net>
34606
34607         maint.mk: allow packages to add makefile @@ exceptions
34608         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34609         (sc_makefile_check): Rename...
34610         (sc_makefile_at_at_check): ...to this, and use hook.
34611
34612         dup2: work around mingw bug
34613         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34614         Reported by Simon Josefsson.
34615
34616 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34617
34618         glob: Fix C++ compilation.
34619         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34620         C++.
34621
34622 2010-01-07  Bruno Haible  <bruno@clisp.org>
34623
34624         Fix indentation of wctype.in.h, broken since 2007-01-06.
34625         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34626
34627 2010-01-07  Bruno Haible  <bruno@clisp.org>
34628
34629         mbslen: Avoid collision with system function.
34630         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34631         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34632         * m4/mbslen.m4: New file.
34633         * modules/mbslen (Files): Add it.
34634         (configure.ac): Invoke gl_MBSLEN.
34635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34636         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34637         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34638         via Ian Beckwith <ianb@erislabs.net>.
34639
34640 2010-01-07  Bruno Haible  <bruno@clisp.org>
34641
34642         dirent: Document the last fix.
34643         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34644
34645 2010-01-07  Bruno Haible  <bruno@clisp.org>
34646
34647         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34648         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34649         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34650         va_list are defined.
34651         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34652         Reported by Eric Blake.
34653
34654 2010-01-07  Bruno Haible  <bruno@clisp.org>
34655
34656         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34657         * modules/xlist (Depends-on): Add 'list',
34658         * modules/xoset (Depends-on): Add 'oset'.
34659         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34660
34661 2010-01-07  Bruno Haible  <bruno@clisp.org>
34662
34663         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34664         * doc/posix-functions/strncasecmp.texi: Likewise.
34665
34666 2010-01-07  Bruno Haible  <bruno@clisp.org>
34667
34668         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34669
34670 2010-01-07  John W. Eaton  <jwe@octave.org>
34671
34672         wctype: allow C++ use
34673         * lib/wctype.in.h: Add extern "C" block for C++.
34674
34675 2010-01-06  Eric Blake  <ebb9@byu.net>
34676
34677         maint.mk: detect incorrect GFDL usage
34678         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34679
34680 2010-01-06  Jim Meyering  <meyering@redhat.com>
34681         and Eric Blake  <ebb9@byu.net>
34682
34683         maint.mk: ignore multi-line copyright in NEWS
34684         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34685
34686 2010-01-06  Eric Blake  <ebb9@byu.net>
34687
34688         select: add missing dependency
34689         * modules/select-tests (Depends-on): Move sockets dependency...
34690         * modules/select (Depends-on): ...here.
34691         Reported by Ian Beckwith.
34692
34693         doc: regenerate INSTALL
34694         * doc/INSTALL: Reflect recent autoconf update.
34695         * doc/INSTALL.ISO: Likewise.
34696         * doc/INSTALL.UTF-8: Likewise.
34697
34698         pread: fix compilation on glibc
34699         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34700         Reported by Ralf Wildenhues.
34701
34702         dirent: fix test failure
34703         * lib/dirent.in.h (includes): Guarantee ino_t.
34704         Reported by Ralf Wildenhues.
34705
34706 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34707
34708         linkat, renameat: avoid bad free
34709         * lib/at-func2.c (at_func2): Fix typo.
34710         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34711
34712 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34713
34714         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34715         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34716         to avoid failure of symlink test later.
34717
34718 2010-01-06  Eric Blake  <ebb9@byu.net>
34719
34720         stdio, unistd: guarantee ssize_t
34721         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34722         2008 are exposed when needed.
34723         * lib/stdio.in.h (includes): Likewise.
34724         Reported by Ralf Wildenhues.
34725
34726 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34727
34728         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34729         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34730         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34731
34732 2010-01-06  Jim Meyering  <meyering@redhat.com>
34733
34734         readtokens: this module *does* require xalloc.h
34735         It uses only functions that were omitted by the old syntax-check rule.
34736         * lib/readtokens.c: Include "xalloc.h" once again.
34737         * modules/readtokens (Depends-on): Add xalloc.
34738         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34739
34740 2010-01-05  Eric Blake  <ebb9@byu.net>
34741
34742         maint: support 'make announcement' from a VPATH build
34743         * top/maint.mk (announcement): Look for correct NEWS file.
34744
34745 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34746
34747         utimens (fdutimens): ignore a negative FD, per contract
34748         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34749         when we have a valid file descriptor.  Otherwise, using a brand
34750         new glibc (with just-patched futimens that now fails with EBADF)
34751         would cause this function to fail with ENOSYS.
34752         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34753         See also http://bugzilla.redhat.com/552320.
34754
34755 2010-01-05  Eric Blake  <ebb9@byu.net>
34756
34757         strcase: document what it provides
34758         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34759         gnulib module.
34760         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34761         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34762
34763 2010-01-05  Jim Meyering  <meyering@redhat.com>
34764
34765         maint: remove useless inclusions of "xalloc.h"
34766         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34767         * lib/readtokens.c: Likewise.
34768         * lib/same.c: Likewise.
34769         * modules/getloadavg (Depends-on): Remove xalloc.
34770         * modules/readtokens: Likewise.
34771         * modules/same: Likewise.
34772
34773         maint.mk: include 4 more function names in alloca.h-checking regexp
34774         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34775         regexp.  Before, we would give a false-positive (saying alloca.h
34776         is included unnecessarily) when the only uses involved omitted symbols.
34777
34778         xalloc.h: use consistent formatting
34779         * lib/xalloc.h: Move declarations to start in the first column.
34780
34781 2010-01-05  Eric Blake  <ebb9@byu.net>
34782
34783         mkdir: avoid xalloc
34784         * lib/mkdir.c (includes): Drop unused header.
34785         Reported by John W. Eaton.
34786
34787 2010-01-04  Jim Meyering  <meyering@redhat.com>
34788
34789         nl_langinfo: avoid configure-time syntax error
34790         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34791         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34792         the empty string.  Don't let that provoke a shell syntax error.
34793
34794         regcomp, regexec, fnmatch: avoid array bounds read error
34795         * lib/regcomp.c (build_equiv_class): From glibc:
34796         Use only the low 24 bits of a findidx return value as an index
34797         into the weights array.  Patch by Ulrich Drepper:
34798         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34799         * lib/regexec.c (check_node_accept_bytes): Likewise.
34800         * lib/fnmatch_loop.c (FCT): Likewise.
34801
34802         regcomp: skip collseq lookup when there are no rules
34803         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34804         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34805
34806         regcomp: recognize ill-formed { } expressions
34807         * lib/regcomp.c (parse_dup_op): From glibc:
34808         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34809
34810         regcomp: fix typo in comment
34811         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34812         s/satisfy/satisfies/.
34813
34814         regcomp: sync from glibc: remove dead store
34815         * lib/regcomp.c (duplicate_node_closure): Remove useless
34816         search_duplicated_node call and dead store.
34817
34818         regcomp: sync from glibc; always use nl_langinfo
34819         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34820         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34821         * modules/regex (Depends-on): Add nl_langinfo.
34822
34823 2010-01-04  Eric Blake  <ebb9@byu.net>
34824
34825         fdopendir: fix configure test
34826         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34827
34828 2010-01-01  Bruno Haible  <bruno@clisp.org>
34829
34830         wchar: Remove unused configure check.
34831         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34832
34833 2010-01-01  Eric Blake  <ebb9@byu.net>
34834
34835         headers: make check of system header explicit
34836         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34837         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34838         ourselves.
34839         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34840         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34841         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34842         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34843         internals.
34844         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34845         missing.
34846         Suggested by Bruno Haible.
34847
34848 2010-01-01  Jim Meyering  <meyering@redhat.com>
34849
34850         ChangeLog: tweak to eliminate unnecessary copyright line
34851         * ChangeLog: Remove a copyright line that was mistakenly updated
34852         by today's update-copyright run.  Reported by Eric Blake.
34853
34854         test-update-copyright: don't let envvar setting cause test failure
34855         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34856
34857 2010-01-01  Bruno Haible  <bruno@clisp.org>
34858
34859         localename: Avoid gcc warning.
34860         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34861         function if it is not used.
34862
34863 2010-01-01  Jim Meyering  <meyering@redhat.com>
34864
34865         update nearly all FSF copyright year lists to include 2010
34866         Use the same procedure as for 2009, outlined in
34867         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34868
34869         version-etc: set COPYRIGHT_YEAR to 2010
34870         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34871
34872 2009-12-31  Eric Blake  <ebb9@byu.net>
34873
34874         doc: correct availability of cygwin 1.5.x getopt
34875         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34876         variables.
34877         * doc/posix-functions/opterr.texi (opterr): Likewise.
34878         * doc/posix-functions/optind.texi (optind): Likewise.
34879         * doc/posix-functions/optopt.texi (optopt): Likewise.
34880         * doc/posix-functions/tzname.texi (tzname): Likewise.
34881
34882         openat: update maintainer
34883         * modules/openat (Maintainer): Add myself.
34884
34885         utimens: avoid shadowing warning
34886         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34887         buffers into one, to avoid shadowing, as well as avoiding a
34888         redundant stat.
34889         Reported by Jim Meyering.
34890
34891         test-dup2: avoid compiler warning
34892         * tests/test-dup2.c (is_inheritable): Only define if used.
34893
34894 2010-01-01  Bruno Haible  <bruno@clisp.org>
34895
34896         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34897         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34898         defined, use wctomb instead of wcrtomb.
34899
34900 2010-01-01  Bruno Haible  <bruno@clisp.org>
34901
34902         iconv: Reject native Solaris iconv.
34903         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
34904         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
34905
34906 2009-12-31  Bruno Haible  <bruno@clisp.org>
34907
34908         * tests/test-signal.c (main): Remove test of 'SIG'.
34909
34910 2009-12-31  Bruno Haible  <bruno@clisp.org>
34911
34912         spawn: Fix incomplete fix.
34913         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34914         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34915         warnings for GNULIB_POSIXCHECK again.
34916         Reported by Eric Blake.
34917
34918 2009-12-31  Bruno Haible  <bruno@clisp.org>
34919
34920         Avoid namespace pollution on glibc systems.
34921         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
34922         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
34923         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
34924         glibc systems.
34925
34926 2009-12-31  Bruno Haible  <bruno@clisp.org>
34927
34928         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
34929         (gl_REPLACE_WCHAR_H): Turn into a no-op.
34930         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
34931         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34932         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34933         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34934         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34935
34936 2009-12-31  Bruno Haible  <bruno@clisp.org>
34937
34938         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34939         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
34940         afterwards.
34941
34942 2009-12-31  Bruno Haible  <bruno@clisp.org>
34943
34944         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
34945         SYS_UTSNAME_H.
34946
34947 2009-12-31  Bruno Haible  <bruno@clisp.org>
34948
34949         spawn: Fix misapplied patch.
34950         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34951         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34952         warnings for GNULIB_POSIXCHECK.
34953
34954 2009-12-31  Bruno Haible  <bruno@clisp.org>
34955
34956         times: Update after sys_times changed.
34957         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
34958         * modules/times (Files): Add it.
34959         (configure.ac): Invoke gl_FUNC_TIMES.
34960
34961 2009-12-31  Bruno Haible  <bruno@clisp.org>
34962
34963         Use AC_C_INLINE where necessary.
34964         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
34965         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34966         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
34967         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
34968         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34969         * m4/mbiter.m4 (gl_MBITER): Likewise.
34970         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34971         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34972         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
34973         * modules/u64 (configure.ac): Likewise.
34974
34975 2009-12-31  Bruno Haible  <bruno@clisp.org>
34976
34977         Use AC_C_INLINE instead of module 'inline' where possible.
34978         * modules/inline (Description): Clarify purpose.
34979         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
34980         * modules/count-one-bits (Depends-on): Remove inline.
34981         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
34982         * modules/openat (Depends-on): Remove inline.
34983         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
34984         instead of depending on module 'inline'.
34985         * modules/filevercmp (Depends-on, configure.ac): Likewise.
34986         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
34987         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
34988         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
34989         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
34990         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
34991         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
34992         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
34993         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
34994         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
34995         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
34996         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
34997         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
34998         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
34999         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35000         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35001         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35002         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35003         Likewise.
35004         * modules/unictype/property-ascii-hex-digit (Depends-on,
35005         configure.ac): Likewise.
35006         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35007         configure.ac): Likewise.
35008         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35009         configure.ac): Likewise.
35010         * modules/unictype/property-bidi-block-separator (Depends-on,
35011         configure.ac): Likewise.
35012         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35013         configure.ac): Likewise.
35014         * modules/unictype/property-bidi-common-separator (Depends-on,
35015         configure.ac): Likewise.
35016         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35017         Likewise.
35018         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35019         configure.ac): Likewise.
35020         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35021         configure.ac): Likewise.
35022         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35023         configure.ac): Likewise.
35024         * modules/unictype/property-bidi-european-digit (Depends-on,
35025         configure.ac): Likewise.
35026         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35027         configure.ac): Likewise.
35028         * modules/unictype/property-bidi-left-to-right (Depends-on,
35029         configure.ac): Likewise.
35030         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35031         configure.ac): Likewise.
35032         * modules/unictype/property-bidi-other-neutral (Depends-on,
35033         configure.ac): Likewise.
35034         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35035         Likewise.
35036         * modules/unictype/property-bidi-segment-separator (Depends-on,
35037         configure.ac): Likewise.
35038         * modules/unictype/property-bidi-whitespace (Depends-on,
35039         configure.ac): Likewise.
35040         * modules/unictype/property-combining (Depends-on, configure.ac):
35041         Likewise.
35042         * modules/unictype/property-composite (Depends-on, configure.ac):
35043         Likewise.
35044         * modules/unictype/property-currency-symbol (Depends-on,
35045         configure.ac): Likewise.
35046         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35047         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35048         Likewise.
35049         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35050         configure.ac): Likewise.
35051         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35052         Likewise.
35053         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35054         Likewise.
35055         * modules/unictype/property-extender (Depends-on, configure.ac):
35056         Likewise.
35057         * modules/unictype/property-format-control (Depends-on, configure.ac):
35058         Likewise.
35059         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35060         Likewise.
35061         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35062         Likewise.
35063         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35064         Likewise.
35065         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35066         Likewise.
35067         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35068         Likewise.
35069         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35070         Likewise.
35071         * modules/unictype/property-id-start (Depends-on, configure.ac):
35072         Likewise.
35073         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35074         Likewise.
35075         * modules/unictype/property-ids-binary-operator (Depends-on,
35076         configure.ac): Likewise.
35077         * modules/unictype/property-ids-trinary-operator (Depends-on,
35078         configure.ac): Likewise.
35079         * modules/unictype/property-ignorable-control (Depends-on,
35080         configure.ac): Likewise.
35081         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35082         Likewise.
35083         * modules/unictype/property-join-control (Depends-on, configure.ac):
35084         Likewise.
35085         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35086         Likewise.
35087         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35088         Likewise.
35089         * modules/unictype/property-logical-order-exception (Depends-on,
35090         configure.ac): Likewise.
35091         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35092         Likewise.
35093         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35094         * modules/unictype/property-non-break (Depends-on, configure.ac):
35095         Likewise.
35096         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35097         Likewise.
35098         * modules/unictype/property-numeric (Depends-on, configure.ac):
35099         Likewise.
35100         * modules/unictype/property-other-alphabetic (Depends-on,
35101         configure.ac): Likewise.
35102         * modules/unictype/property-other-default-ignorable-code-point
35103         (Depends-on, configure.ac): Likewise.
35104         * modules/unictype/property-other-grapheme-extend (Depends-on,
35105         configure.ac): Likewise.
35106         * modules/unictype/property-other-id-continue (Depends-on,
35107         configure.ac): Likewise.
35108         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35109         Likewise.
35110         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35111         Likewise.
35112         * modules/unictype/property-other-math (Depends-on, configure.ac):
35113         Likewise.
35114         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35115         Likewise.
35116         * modules/unictype/property-paired-punctuation (Depends-on,
35117         configure.ac): Likewise.
35118         * modules/unictype/property-paragraph-separator (Depends-on,
35119         configure.ac): Likewise.
35120         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35121         Likewise.
35122         * modules/unictype/property-pattern-white-space (Depends-on,
35123         configure.ac): Likewise.
35124         * modules/unictype/property-private-use (Depends-on, configure.ac):
35125         Likewise.
35126         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35127         Likewise.
35128         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35129         Likewise.
35130         * modules/unictype/property-radical (Depends-on, configure.ac):
35131         Likewise.
35132         * modules/unictype/property-sentence-terminal (Depends-on,
35133         configure.ac): Likewise.
35134         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35135         Likewise.
35136         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35137         * modules/unictype/property-terminal-punctuation (Depends-on,
35138         configure.ac): Likewise.
35139         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35140         Likewise.
35141         * modules/unictype/property-unassigned-code-value (Depends-on,
35142         configure.ac): Likewise.
35143         * modules/unictype/property-unified-ideograph (Depends-on,
35144         configure.ac): Likewise.
35145         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35146         Likewise.
35147         * modules/unictype/property-variation-selector (Depends-on,
35148         configure.ac): Likewise.
35149         * modules/unictype/property-white-space (Depends-on, configure.ac):
35150         Likewise.
35151         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35152         Likewise.
35153         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35154         Likewise.
35155         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35156         Likewise.
35157         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35158         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35159         Likewise.
35160
35161 2009-12-31  Bruno Haible  <bruno@clisp.org>
35162
35163         Remove unnecessary AC_C_INLINE invocation.
35164         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35165         since 2009-08-21.
35166
35167 2009-12-31  Jim Meyering  <meyering@redhat.com>
35168
35169         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35170         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35171         With this change, we can all remove the gpg_key_ID = ... definition
35172         from our respective cfg.mk files.
35173
35174         maint.mk: create announcement template in ~/, not in /tmp
35175         * top/maint.mk (emit_upload_commands): Adjust.
35176         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35177         Remove temporary file, .ci-msg.
35178
35179 2009-12-31  Eric Blake  <ebb9@byu.net>
35180
35181         link-warning: always build headers with link warnings
35182         * modules/arpa_inet (Makefile.am): Always build replacement
35183         header.
35184         * modules/ctype (Makefile.am): Likewise.
35185         * modules/dirent (Makefile.am): Likewise.
35186         * modules/inttypes (Makefile.am): Likewise.
35187         * modules/langinfo (Makefile.am): Likewise.
35188         * modules/locale (Makefile.am): Likewise.
35189         * modules/spawn (Makefile.am): Likewise.
35190         * modules/sys_file (Makefile.am): Likewise.
35191         * modules/sys_ioctl (Makefile.am): Likewise.
35192         * modules/sys_select (Makefile.am): Likewise.
35193         * modules/sys_socket (Makefile.am): Likewise.
35194         * modules/sys_times (Makefile.am): Likewise.
35195         * modules/sys_utsname (Makefile.am): Likewise.
35196         * modules/sys_wait (Makefile.am): Likewise.
35197         * modules/wchar (Makefile.am): Likewise.
35198         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35199         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35200         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35201         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35202         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35203         Likewise.
35204         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35205         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35206         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35207         Likewise.
35208         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35209         Likewise.
35210         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35211         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35212         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35213         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35214         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35215         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35216         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35217         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35218         (gl_WCHAR_H_DEFAULTS): Likewise.
35219
35220 2009-12-31  Eric Blake  <ebb9@byu.net>
35221
35222         signal, spawn: use link warnings
35223         * lib/signal.in.h (sigset_t): Make unconditional.
35224         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35225         (sigpending, sigprocmask, sigaction): Add link warnings.
35226         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35227         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35228         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35229         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35230         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35231         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35232         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35233         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35234         (posix_spawn_file_actions_destroy)
35235         (posix_spawn_file_actions_addopen)
35236         (posix_spawn_file_actions_addclose)
35237         (posix_spawn_file_actions_adddup2): Likewise.
35238         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35239         * tests/test-signal.c (main): Enhance test.
35240
35241         spawn: improve wrapper support
35242         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35243         (gl_SPAWN_H_DEFAULTS): New defaults.
35244         * modules/spawn (Makefile.am): Substitute them.
35245         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35246         Only declare if missing or broken.
35247
35248         sys_times, sys_utsname: use include_next
35249         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35250         header.
35251         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35252         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35253         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35254         * modules/sys_times (Depends-on): Add include_next.
35255         (Makefile.am): Substitute additional values.
35256         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35257         * lib/sys_times.in.h (includes): Include native header, if
35258         available.
35259         * lib/sys_utsname.in.h (includes): Likewise.
35260         * tests/test-sys_times.c (main): Enhance test.
35261
35262         fdutimensat: revert prior patch
35263         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35264         utimens.h.
35265         Reported by Bruno Haible.
35266
35267 2009-12-30  Eric Blake  <ebb9@byu.net>
35268
35269         sys_wait: drop link-warning dependency
35270         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35271         link-warning efforts.
35272         * lib/sys_wait.in.h: Likewise.
35273
35274         fdutimensat: remove bogus dependency
35275         * modules/fdutimensat (Depends-on): Drop inline.
35276
35277         unistd: fix typo
35278         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35279
35280 2009-12-30  Bruno Haible  <bruno@clisp.org>
35281
35282         Fix compilation error with Solaris cc.
35283         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35284         * lib/unicase/u16-is-invariant.c: Likewise.
35285         * lib/unicase/u32-is-invariant.c: Likewise.
35286         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35287
35288 2009-12-30  Bruno Haible  <bruno@clisp.org>
35289
35290         Fix test crash.
35291         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35292         locales.
35293         Reported by Simon Josefsson <simon@josefsson.org>.
35294
35295 2009-12-30  Bruno Haible  <bruno@clisp.org>
35296
35297         Fix compilation error on most platforms.
35298         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35299         Reported by Simon Josefsson <simon@josefsson.org>
35300         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35301
35302 2009-12-30  Eric Blake  <ebb9@byu.net>
35303
35304         futimens, utimensat: work around ntfs-3g bug
35305         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35306         a ctime bug is present, and expand workaround to cover ntfs-3g.
35307         * lib/utimens.c (fdutimens, lutimens): Likewise.
35308         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35309         (validate_timespec): Adjust return value.
35310         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35311         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35312         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35313
35314 2009-12-29  Eric Blake  <ebb9@byu.net>
35315
35316         link-warning: make usage consistent
35317         * modules/ctype (Depends-on): Add link-warning.
35318         (Makefile.am): Update rules accordingly.
35319         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35320         * modules/locale (Depends-on, Makefile.am): Likewise.
35321         * modules/sys_file (Makefile.am): Likewise.
35322         * modules/getopt-posix (Makefile.am): Delete unused link warning
35323         efforts.
35324         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35325         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35326         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35327         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35328
35329         stdio: remove unused variables
35330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35331         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35332         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35333
35334         tests: test more substitute headers
35335         * modules/ctype-tests: New file.
35336         * modules/dirent-tests: Likewise.
35337         * modules/spawn-tests: Likewise.
35338         * modules/sys_file-tests: Likewise.
35339         * modules/sys_ioctl-tests: Likewise.
35340         * modules/sys_wait-tests: Likewise.
35341         * tests/test-ctype.c: Likewise.
35342         * tests/test-dirent.c: Likewise.
35343         * tests/test-spawn.c: Likewise.
35344         * tests/test-sys_file.c: Likewise.
35345         * tests/test-sys_ioctl.c: Likewise.
35346         * tests/test-sys_wait.c: Likewise.
35347         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35348         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35349         whether or not flock is in use.
35350
35351         tests: remove License section from module
35352         * modules/arpa_inet-tests: Remove unneeded section.
35353         * modules/byteswap-tests: Likewise.
35354         * modules/ceilf-tests: Likewise.
35355         * modules/ceill-tests: Likewise.
35356         * modules/crypto/des-tests: Likewise.
35357         * modules/crypto/gc-arcfour-tests: Likewise.
35358         * modules/crypto/gc-arctwo-tests: Likewise.
35359         * modules/crypto/gc-des-tests: Likewise.
35360         * modules/crypto/gc-hmac-md5-tests: Likewise.
35361         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35362         * modules/crypto/gc-md2-tests: Likewise.
35363         * modules/crypto/gc-md4-tests: Likewise.
35364         * modules/crypto/gc-md5-tests: Likewise.
35365         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35366         * modules/crypto/gc-rijndael-tests: Likewise.
35367         * modules/crypto/gc-sha1-tests: Likewise.
35368         * modules/crypto/gc-tests: Likewise.
35369         * modules/crypto/md2-tests: Likewise.
35370         * modules/crypto/md4-tests: Likewise.
35371         * modules/fcntl-h-tests: Likewise.
35372         * modules/floorf-tests: Likewise.
35373         * modules/floorl-tests: Likewise.
35374         * modules/frexp-nolibm-tests: Likewise.
35375         * modules/frexp-tests: Likewise.
35376         * modules/frexpl-nolibm-tests: Likewise.
35377         * modules/frexpl-tests: Likewise.
35378         * modules/getaddrinfo-tests: Likewise.
35379         * modules/inttypes-tests: Likewise.
35380         * modules/isfinite-tests: Likewise.
35381         * modules/isinf-tests: Likewise.
35382         * modules/ldexpl-tests: Likewise.
35383         * modules/locale-tests: Likewise.
35384         * modules/math-tests: Likewise.
35385         * modules/netdb-tests: Likewise.
35386         * modules/netinet_in-tests: Likewise.
35387         * modules/printf-frexp-tests: Likewise.
35388         * modules/printf-frexpl-tests: Likewise.
35389         * modules/priv-set-tests: Likewise.
35390         * modules/random_r-tests: Likewise.
35391         * modules/round-tests: Likewise.
35392         * modules/roundf-tests: Likewise.
35393         * modules/roundl-tests: Likewise.
35394         * modules/search-tests: Likewise.
35395         * modules/select-tests: Likewise.
35396         * modules/signal-tests: Likewise.
35397         * modules/stdbool-tests: Likewise.
35398         * modules/stddef-tests: Likewise.
35399         * modules/stdint-tests: Likewise.
35400         * modules/stdio-tests: Likewise.
35401         * modules/stdlib-tests: Likewise.
35402         * modules/string-tests: Likewise.
35403         * modules/strings-tests: Likewise.
35404         * modules/sys_select-tests: Likewise.
35405         * modules/sys_socket-tests: Likewise.
35406         * modules/sys_stat-tests: Likewise.
35407         * modules/sys_time-tests: Likewise.
35408         * modules/sys_utsname-tests: Likewise.
35409         * modules/sysexits-tests: Likewise.
35410         * modules/time-tests: Likewise.
35411         * modules/trunc-tests: Likewise.
35412         * modules/truncf-tests: Likewise.
35413         * modules/truncl-tests: Likewise.
35414         * modules/tsearch-tests: Likewise.
35415         * modules/unistd-tests: Likewise.
35416         * modules/wchar-tests: Likewise.
35417         * modules/wctype-tests: Likewise.
35418
35419         tests: fix license on several tests
35420         * tests/test-des.c: Update to GPLv3+.
35421         * tests/test-flock.c: Likewise.
35422         * tests/test-fsync.c: Likewise.
35423         * tests/test-futimens.h: Likewise.
35424         * tests/test-gc-arcfour.c: Likewise.
35425         * tests/test-gc-arctwo.c: Likewise.
35426         * tests/test-gc-des.c: Likewise.
35427         * tests/test-gc-hmac-md5.c: Likewise.
35428         * tests/test-gc-hmac-sha1.c: Likewise.
35429         * tests/test-gc-md2.c: Likewise.
35430         * tests/test-gc-md4.c: Likewise.
35431         * tests/test-gc-md5.c: Likewise.
35432         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35433         * tests/test-gc-rijndael.c: Likewise.
35434         * tests/test-gc-sha1.c: Likewise.
35435         * tests/test-gc.c: Likewise.
35436         * tests/test-getcwd.c: Likewise.
35437         * tests/test-link.c: Likewise.
35438         * tests/test-link.h: Likewise.
35439         * tests/test-lutimens.h: Likewise.
35440         * tests/test-md2.c: Likewise.
35441         * tests/test-md4.c: Likewise.
35442         * tests/test-mkdir.h: Likewise.
35443         * tests/test-rename.c: Likewise.
35444         * tests/test-rename.h: Likewise.
35445         * tests/test-safe-alloc.c: Likewise.
35446         * tests/test-utimens-common.h: Likewise.
35447         * tests/test-utimens.h: Likewise.
35448
35449         maint: sync license texts
35450         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
35451         * doc/gpl-3.0.texi: Revert copyright year update.
35452         * doc/lgpl-3.0.texi: Likewise.
35453
35454 2009-12-29  Jim Meyering  <meyering@redhat.com>
35455
35456         update nearly all FSF copyright year lists to include 2009
35457         The files named by the following are exempted:
35458             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
35459               test -f "$dst" && { echo "$dst"; continue; }
35460               test -d "$dst" || continue
35461               echo "$dst"/$(basename "$src")
35462             done > exempt
35463             git ls-files tests/unictype >> exempt
35464         In the remaining files, convert to all-interval notation if
35465         - there is already at least one year interval like 2000-2003
35466         - the file is maintained by me
35467         - the file is in lib/uni*/, where that style already prevails
35468         Otherwise, use update-copyright's default.
35469
35470 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35471         and Eric Blake  <ebb9@byu.net>
35472
35473         tests: don't require debug system() to pass
35474         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
35475         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35476         * tests/test-unlink.h (test_unlink_func): Likewise.
35477         * tests/test-fstatat.c (main): ...into callers.
35478         * tests/test-lstat.c (main): Likewise.
35479         * tests/test-rmdir.c (main): Likewise.
35480         * tests/test-unlink.c (main): Likewise.
35481         * tests/test-unlinkat.c (main): Likewise.
35482         * tests/test-areadlink-with-size.c (main): Don't require a
35483         debug-only system call to pass, aiding cross-testing to mingw.
35484         * tests/test-areadlink.c (main): Likewise.
35485         * tests/test-areadlinkat-with-size.c (main): Likewise.
35486         * tests/test-areadlinkat.c (main): Likewise.
35487         * tests/test-canonicalize-lgpl.c (main): Likewise.
35488         * tests/test-canonicalize.c (main): Likewise.
35489         * tests/test-chown.c (main): Likewise.
35490         * tests/test-fchownat.c (main): Likewise.
35491         * tests/test-lchown.c (main): Likewise.
35492         * tests/test-fdutimensat.c (main): Likewise.
35493         * tests/test-futimens.c (main): Likewise.
35494         * tests/test-link.c (main): Likewise.
35495         * tests/test-linkat.c (main): Likewise.
35496         * tests/test-mkdir.c (main): Likewise.
35497         * tests/test-mkdirat.c (main): Likewise.
35498         * tests/test-mkfifo.c (main): Likewise.
35499         * tests/test-mkfifoat.c (main): Likewise.
35500         * tests/test-mknod.c (main): Likewise.
35501         * tests/test-readlink.c (main): Likewise.
35502         * tests/test-remove.c (main): Likewise.
35503         * tests/test-rename.c (main): Likewise.
35504         * tests/test-renameat.c (main): Likewise.
35505         * tests/test-symlink.c (main): Likewise.
35506         * tests/test-symlinkat.c (main): Likewise.
35507         * tests/test-utimens.c (main): Likewise.
35508         * tests/test-utimensat.c (main): Likewise.
35509
35510 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35511
35512         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
35513         on $(UNUSED_PARAMETER_H) to avoid build failure.
35514
35515 2009-12-28  Jim Meyering  <meyering@redhat.com>
35516
35517         update-copyright: you may specify a max. line length other than 72
35518         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35519
35520         maint: use consistent FSF copyright line syntax
35521         * lib/posixtm.c: Add missing comma in FSF copyright line.
35522         * lib/posixtm.h: Likewise.
35523         * lib/getugroups.c: Add missing ", Inc.".
35524
35525         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
35526         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
35527         FSF copyright line.  Remove trailing blanks.
35528
35529 2009-12-28  Eric Blake  <ebb9@byu.net>
35530
35531         test-dup2: reduce dependencies
35532         * modules/cloexec (Configure.ac): Set witness.
35533         * modules/dup2-tests (Depends-on): Drop cloexec.
35534         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35535         not present.
35536         Suggested by Bruno Haible.
35537
35538 2009-12-26  Bruno Haible  <bruno@clisp.org>
35539
35540         Remove an unneeded dependency.
35541         * modules/fseterr (Depends-on): Remove dup2.
35542
35543 2009-12-26  Eric Blake  <ebb9@byu.net>
35544
35545         tests: use macros.h in more places
35546         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35547         (ASSERT_STREAM): Provide default of stderr.
35548         * tests/test-dirent-safer.c: Include macros.h, using alternate
35549         stream for assertions.
35550         * tests/test-dup-safer.c: Likewise.
35551         * tests/test-freopen-safer.c: Likewise.
35552         * tests/test-getopt.c: Likewise.
35553         * tests/test-openat-safer.c: Likewise.
35554         * tests/test-pipe.c: Likewise.
35555         * tests/test-popen-safer.c: Likewise.
35556         * modules/dirent-safer-tests (Files): Include macros.h.
35557         * modules/unistd-safer-tests (Files): Likewise.
35558         * modules/freopen-safer-tests (Files): Likewise.
35559         * modules/getopt-posix-tests (Files): Likewise.
35560         * modules/openat-safer-tests (Files): Likewise.
35561         * modules/pipe-tests (Files): Likewise.
35562
35563 2009-12-26  Bruno Haible  <bruno@clisp.org>
35564
35565         javacomp: Portability fix.
35566         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35567         that it also works on Solaris.
35568
35569 2009-12-26  Bruno Haible  <bruno@clisp.org>
35570
35571         localename: Fix storage allocation of gl_locale_name_thread's result.
35572         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35573         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35574         all platforms that have 'uselocale'.
35575         (gl_locale_name_thread_unsafe): New function, extracted from
35576         gl_locale_name_thread.
35577         (gl_locale_name_thread): Call struniq on all platforms that have
35578         'uselocale'.
35579         * tests/test-localename.c (test_locale_name_thread): Check that the
35580         resulting strings are permanently allocated.
35581         * modules/localename-tests (Depends-on): Add strdup.
35582
35583 2009-12-26  Bruno Haible  <bruno@clisp.org>
35584
35585         * tests/test-localename.c (categories): Fill in the strings.
35586
35587 2009-12-26  Jim Meyering  <meyering@redhat.com>
35588
35589         isdir: complete the removal of m4/isdir.m4
35590         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35591
35592         isdir: clean up, since at least grep still uses it
35593         * lib/isdir.c: Include "isdir.h".
35594         (S_ISDIR): Remove now-unneeded definition.
35595         * modules/isdir (Files): Add lib/isdir.h.
35596         * lib/isdir.h: New file, with declaration.
35597         * m4/isdir.m4: Remove file -- unneeded.
35598
35599 2009-12-25  Bruno Haible  <bruno@clisp.org>
35600
35601         selinux-h: Make generated .h files standalone.
35602         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35603         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35604         * lib/se-selinux.in.h: Likewise.
35605         * modules/selinux-h (Depends-on): Add unused-parameter.
35606         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35607         selinux/selinux.h and selinux/context.h.
35608         Suggested by Eric Blake.
35609
35610 2009-12-25  Bruno Haible  <bruno@clisp.org>
35611
35612         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35613         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35614         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35615         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35616         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35617
35618 2009-12-24  Bruno Haible  <bruno@clisp.org>
35619
35620         openat: Fix warning.
35621         * lib/openat-proc.c: Include <unistd.h>.
35622
35623 2009-12-24  Bruno Haible  <bruno@clisp.org>
35624
35625         New module 'unused-parameter'.
35626         * build-aux/unused-parameter.h: New file, extracted from earlier
35627         gnulib-common.m4.
35628         * modules/unused-parameter: New file.
35629         * lib/unistr.h: Include unused-parameter.h.
35630         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35631         _GL_UNUSED.
35632         * modules/unistr/base (Depends-on): Add unused-parameter.
35633
35634 2009-12-24  Bruno Haible  <bruno@clisp.org>
35635
35636         Add missing dependencies to 'extensions' module.
35637         * m4/extensions.m4: Add comment.
35638         * modules/accept4 (Depends-on): Add extensions.
35639         * modules/dup3 (Depends-on): Likewise.
35640         * modules/fcntl (Depends-on): Likewise.
35641         * modules/futimens (Depends-on): Likewise.
35642         * modules/mknod (Depends-on): Likewise.
35643         * modules/pipe2 (Depends-on): Likewise.
35644         * modules/stat-time (Depends-on): Likewise.
35645         * modules/strcasestr-simple (Depends-on): Likewise.
35646         * modules/strsignal (Depends-on): Likewise.
35647         * modules/utimensat (Depends-on): Likewise.
35648         * modules/localcharset (Depends-on): Likewise. Needed because of
35649         gl_FCNTL_O_FLAGS.
35650         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35651         AC_TYPE_MBSTATE_T.
35652         * modules/wcsnrtombs (Depends-on): Likewise.
35653         * modules/wcsrtombs (Depends-on): Likewise.
35654
35655 2009-12-24  Bruno Haible  <bruno@clisp.org>
35656
35657         binary-io: Avoid gcc warning due to SET_BINARY.
35658         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35659         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35660
35661 2009-12-24  Bruno Haible  <bruno@clisp.org>
35662
35663         Avoid future namespace pollution on glibc systems.
35664         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35665         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35666         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35667         glibc systems.
35668
35669 2009-12-24  Bruno Haible  <bruno@clisp.org>
35670
35671         Refactor common macros used in tests.
35672         * tests/macros.h: New file.
35673         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35674         and/or <stdlib.h>, if appropriate.
35675         (ASSERT, SIZEOF): Remove macros.
35676         * tests/test-areadlink-with-size.c: Likewise.
35677         * tests/test-areadlinkat.c: Likewise.
35678         * tests/test-areadlinkat-with-size.c: Likewise.
35679         * tests/test-argmatch.c: Likewise.
35680         * tests/test-argv-iter.c: Likewise.
35681         * tests/test-array-mergesort.c: Likewise.
35682         * tests/test-array_list.c: Likewise.
35683         * tests/test-array_oset.c: Likewise.
35684         * tests/test-avltree_list.c: Likewise.
35685         * tests/test-avltree_oset.c: Likewise.
35686         * tests/test-avltreehash_list.c: Likewise.
35687         * tests/test-base64.c: Likewise.
35688         * tests/test-binary-io.c: Likewise.
35689         * tests/test-bitrotate.c: Likewise.
35690         * tests/test-btowc.c: Likewise.
35691         * tests/test-byteswap.c: Likewise.
35692         * tests/test-c-ctype.c: Likewise.
35693         * tests/test-c-stack.c: Likewise.
35694         * tests/test-c-strcasecmp.c: Likewise.
35695         * tests/test-c-strcasestr.c: Likewise.
35696         * tests/test-c-strncasecmp.c: Likewise.
35697         * tests/test-c-strstr.c: Likewise.
35698         * tests/test-canonicalize-lgpl.c: Likewise.
35699         * tests/test-canonicalize.c: Likewise.
35700         * tests/test-carray_list.c: Likewise.
35701         * tests/test-ceilf1.c: Likewise.
35702         * tests/test-ceilf2.c: Likewise.
35703         * tests/test-ceill.c: Likewise.
35704         * tests/test-chown.c: Likewise.
35705         * tests/test-cloexec.c: Likewise.
35706         * tests/test-copy-acl.c: Likewise.
35707         * tests/test-copy-file.c: Likewise.
35708         * tests/test-count-one-bits.c: Likewise.
35709         * tests/test-dprintf-posix.c: Likewise.
35710         * tests/test-dup2.c: Likewise.
35711         * tests/test-dup3.c: Likewise.
35712         * tests/test-duplocale.c: Likewise.
35713         * tests/test-fbufmode.c: Likewise.
35714         * tests/test-fchdir.c: Likewise.
35715         * tests/test-fchownat.c: Likewise.
35716         * tests/test-fcntl-safer.c: Likewise.
35717         * tests/test-fcntl.c: Likewise.
35718         * tests/test-fdopendir.c: Likewise.
35719         * tests/test-fdutimensat.c: Likewise.
35720         * tests/test-fflush2.c: Likewise.
35721         * tests/test-file-has-acl.c: Likewise.
35722         * tests/test-filevercmp.c: Likewise.
35723         * tests/test-flock.c: Likewise.
35724         * tests/test-floorf1.c: Likewise.
35725         * tests/test-floorf2.c: Likewise.
35726         * tests/test-floorl.c: Likewise.
35727         * tests/test-fnmatch.c: Likewise.
35728         * tests/test-fopen.h: Likewise.
35729         * tests/test-fpending.c: Likewise.
35730         * tests/test-fprintf-posix.c: Likewise.
35731         * tests/test-fpurge.c: Likewise.
35732         * tests/test-freadable.c: Likewise.
35733         * tests/test-freadahead.c: Likewise.
35734         * tests/test-freading.c: Likewise.
35735         * tests/test-freadptr.c: Likewise.
35736         * tests/test-freadptr2.c: Likewise.
35737         * tests/test-freadseek.c: Likewise.
35738         * tests/test-freopen.c: Likewise.
35739         * tests/test-frexp.c: Likewise.
35740         * tests/test-frexpl.c: Likewise.
35741         * tests/test-fseek.c: Likewise.
35742         * tests/test-fseeko.c: Likewise.
35743         * tests/test-fstatat.c: Likewise.
35744         * tests/test-fstrcmp.c: Likewise.
35745         * tests/test-fsync.c: Likewise.
35746         * tests/test-ftell.c: Likewise.
35747         * tests/test-ftello.c: Likewise.
35748         * tests/test-func.c: Likewise.
35749         * tests/test-futimens.c: Likewise.
35750         * tests/test-fwritable.c: Likewise.
35751         * tests/test-fwriting.c: Likewise.
35752         * tests/test-getcwd.c: Likewise.
35753         * tests/test-getdate.c: Likewise.
35754         * tests/test-getdelim.c: Likewise.
35755         * tests/test-getdtablesize.c: Likewise.
35756         * tests/test-getgroups.c: Likewise.
35757         * tests/test-getline.c: Likewise.
35758         * tests/test-getndelim2.c: Likewise.
35759         * tests/test-glob.c: Likewise.
35760         * tests/test-hash.c: Likewise.
35761         * tests/test-i-ring.c: Likewise.
35762         * tests/test-iconv-utf.c: Likewise.
35763         * tests/test-iconv.c: Likewise.
35764         * tests/test-idpriv-drop.c: Likewise.
35765         * tests/test-idpriv-droptemp.c: Likewise.
35766         * tests/test-inet_ntop.c: Likewise.
35767         * tests/test-inet_pton.c: Likewise.
35768         * tests/test-isblank.c: Likewise.
35769         * tests/test-isfinite.c: Likewise.
35770         * tests/test-isinf.c: Likewise.
35771         * tests/test-isnan.c: Likewise.
35772         * tests/test-isnand.h: Likewise.
35773         * tests/test-isnanf.h: Likewise.
35774         * tests/test-isnanl.h: Likewise.
35775         * tests/test-lchown.c: Likewise.
35776         * tests/test-ldexpl.c: Likewise.
35777         * tests/test-link.c: Likewise.
35778         * tests/test-linkat.c: Likewise.
35779         * tests/test-linked_list.c: Likewise.
35780         * tests/test-linkedhash_list.c: Likewise.
35781         * tests/test-localename.c: Likewise.
35782         * tests/test-lseek.c: Likewise.
35783         * tests/test-lstat.c: Likewise.
35784         * tests/test-mbmemcasecmp.c: Likewise.
35785         * tests/test-mbmemcasecoll.c: Likewise.
35786         * tests/test-mbrtowc.c: Likewise.
35787         * tests/test-mbscasecmp.c: Likewise.
35788         * tests/test-mbscasestr1.c: Likewise.
35789         * tests/test-mbscasestr2.c: Likewise.
35790         * tests/test-mbscasestr3.c: Likewise.
35791         * tests/test-mbscasestr4.c: Likewise.
35792         * tests/test-mbschr.c: Likewise.
35793         * tests/test-mbscspn.c: Likewise.
35794         * tests/test-mbsinit.c: Likewise.
35795         * tests/test-mbsncasecmp.c: Likewise.
35796         * tests/test-mbsnrtowcs.c: Likewise.
35797         * tests/test-mbspbrk.c: Likewise.
35798         * tests/test-mbspcasecmp.c: Likewise.
35799         * tests/test-mbsrchr.c: Likewise.
35800         * tests/test-mbsrtowcs.c: Likewise.
35801         * tests/test-mbsspn.c: Likewise.
35802         * tests/test-mbsstr1.c: Likewise.
35803         * tests/test-mbsstr2.c: Likewise.
35804         * tests/test-mbsstr3.c: Likewise.
35805         * tests/test-memchr.c: Likewise.
35806         * tests/test-memchr2.c: Likewise.
35807         * tests/test-memcmp.c: Likewise.
35808         * tests/test-memmem.c: Likewise.
35809         * tests/test-memrchr.c: Likewise.
35810         * tests/test-mkdir.c: Likewise.
35811         * tests/test-mkdirat.c: Likewise.
35812         * tests/test-mkfifo.c: Likewise.
35813         * tests/test-mkfifoat.c: Likewise.
35814         * tests/test-mknod.c: Likewise.
35815         * tests/test-nanosleep.c: Likewise.
35816         * tests/test-nl_langinfo.c: Likewise.
35817         * tests/test-obstack-printf.c: Likewise.
35818         * tests/test-open.c: Likewise.
35819         * tests/test-openat.c: Likewise.
35820         * tests/test-pipe-filter-gi1.c: Likewise.
35821         * tests/test-pipe-filter-gi2-main.c: Likewise.
35822         * tests/test-pipe-filter-ii1.c: Likewise.
35823         * tests/test-pipe-filter-ii2-main.c: Likewise.
35824         * tests/test-pipe2.c: Likewise.
35825         * tests/test-popen.h: Likewise.
35826         * tests/test-posixtm.c: Likewise.
35827         * tests/test-pread.c: Likewise.
35828         * tests/test-printf-frexp.c: Likewise.
35829         * tests/test-printf-frexpl.c: Likewise.
35830         * tests/test-printf-posix.c: Likewise.
35831         * tests/test-priv-set.c: Likewise.
35832         * tests/test-quotearg.c: Likewise.
35833         * tests/test-random_r.c: Likewise.
35834         * tests/test-rawmemchr.c: Likewise.
35835         * tests/test-rbtree_list.c: Likewise.
35836         * tests/test-rbtree_oset.c: Likewise.
35837         * tests/test-rbtreehash_list.c: Likewise.
35838         * tests/test-readlink.c: Likewise.
35839         * tests/test-remove.c: Likewise.
35840         * tests/test-rename.c: Likewise.
35841         * tests/test-renameat.c: Likewise.
35842         * tests/test-rmdir.c: Likewise.
35843         * tests/test-round1.c: Likewise.
35844         * tests/test-roundf1.c: Likewise.
35845         * tests/test-roundl.c: Likewise.
35846         * tests/test-safe-alloc.c: Likewise.
35847         * tests/test-sameacls.c: Likewise.
35848         * tests/test-set-mode-acl.c: Likewise.
35849         * tests/test-setenv.c: Likewise.
35850         * tests/test-sigaction.c: Likewise.
35851         * tests/test-signbit.c: Likewise.
35852         * tests/test-sleep.c: Likewise.
35853         * tests/test-snprintf-posix.c: Likewise.
35854         * tests/test-snprintf.c: Likewise.
35855         * tests/test-sprintf-posix.c: Likewise.
35856         * tests/test-stat-time.c: Likewise.
35857         * tests/test-stat.c: Likewise.
35858         * tests/test-strcasestr.c: Likewise.
35859         * tests/test-strchrnul.c: Likewise.
35860         * tests/test-strerror.c: Likewise.
35861         * tests/test-striconv.c: Likewise.
35862         * tests/test-striconveh.c: Likewise.
35863         * tests/test-striconveha.c: Likewise.
35864         * tests/test-strsignal.c: Likewise.
35865         * tests/test-strstr.c: Likewise.
35866         * tests/test-strtod.c: Likewise.
35867         * tests/test-strverscmp.c: Likewise.
35868         * tests/test-symlink.c: Likewise.
35869         * tests/test-symlinkat.c: Likewise.
35870         * tests/test-trunc1.c: Likewise.
35871         * tests/test-trunc2.c: Likewise.
35872         * tests/test-truncf1.c: Likewise.
35873         * tests/test-truncf2.c: Likewise.
35874         * tests/test-truncl.c: Likewise.
35875         * tests/test-uname.c: Likewise.
35876         * tests/test-unlink.c: Likewise.
35877         * tests/test-unlinkat.c: Likewise.
35878         * tests/test-unsetenv.c: Likewise.
35879         * tests/test-usleep.c: Likewise.
35880         * tests/test-utimens.c: Likewise.
35881         * tests/test-utimensat.c: Likewise.
35882         * tests/test-vasnprintf-posix.c: Likewise.
35883         * tests/test-vasnprintf-posix2.c: Likewise.
35884         * tests/test-vasnprintf.c: Likewise.
35885         * tests/test-vasprintf-posix.c: Likewise.
35886         * tests/test-vasprintf.c: Likewise.
35887         * tests/test-vdprintf-posix.c: Likewise.
35888         * tests/test-vfprintf-posix.c: Likewise.
35889         * tests/test-vprintf-posix.c: Likewise.
35890         * tests/test-vsnprintf-posix.c: Likewise.
35891         * tests/test-vsnprintf.c: Likewise.
35892         * tests/test-vsprintf-posix.c: Likewise.
35893         * tests/test-wcrtomb.c: Likewise.
35894         * tests/test-wcsnrtombs.c: Likewise.
35895         * tests/test-wcsrtombs.c: Likewise.
35896         * tests/test-wctype.c: Likewise.
35897         * tests/test-wcwidth.c: Likewise.
35898         * tests/test-xfprintf-posix.c: Likewise.
35899         * tests/test-xmemdup0.c: Likewise.
35900         * tests/test-xprintf-posix.c: Likewise.
35901         * tests/test-xvasprintf.c: Likewise.
35902         * tests/unicase/test-locale-language.c: Likewise.
35903         * tests/unicase/test-mapping-part1.h: Likewise.
35904         * tests/unicase/test-predicate-part1.h: Likewise.
35905         * tests/unicase/test-u8-casecmp.c: Likewise.
35906         * tests/unicase/test-u8-casecoll.c: Likewise.
35907         * tests/unicase/test-u8-casefold.c: Likewise.
35908         * tests/unicase/test-u8-is-cased.c: Likewise.
35909         * tests/unicase/test-u8-is-casefolded.c: Likewise.
35910         * tests/unicase/test-u8-is-lowercase.c: Likewise.
35911         * tests/unicase/test-u8-is-titlecase.c: Likewise.
35912         * tests/unicase/test-u8-is-uppercase.c: Likewise.
35913         * tests/unicase/test-u8-tolower.c: Likewise.
35914         * tests/unicase/test-u8-totitle.c: Likewise.
35915         * tests/unicase/test-u8-toupper.c: Likewise.
35916         * tests/unicase/test-u16-casecmp.c: Likewise.
35917         * tests/unicase/test-u16-casecoll.c: Likewise.
35918         * tests/unicase/test-u16-casefold.c: Likewise.
35919         * tests/unicase/test-u16-is-cased.c: Likewise.
35920         * tests/unicase/test-u16-is-casefolded.c: Likewise.
35921         * tests/unicase/test-u16-is-lowercase.c: Likewise.
35922         * tests/unicase/test-u16-is-titlecase.c: Likewise.
35923         * tests/unicase/test-u16-is-uppercase.c: Likewise.
35924         * tests/unicase/test-u16-tolower.c: Likewise.
35925         * tests/unicase/test-u16-totitle.c: Likewise.
35926         * tests/unicase/test-u16-toupper.c: Likewise.
35927         * tests/unicase/test-u32-casecmp.c: Likewise.
35928         * tests/unicase/test-u32-casecoll.c: Likewise.
35929         * tests/unicase/test-u32-casefold.c: Likewise.
35930         * tests/unicase/test-u32-is-cased.c: Likewise.
35931         * tests/unicase/test-u32-is-casefolded.c: Likewise.
35932         * tests/unicase/test-u32-is-lowercase.c: Likewise.
35933         * tests/unicase/test-u32-is-titlecase.c: Likewise.
35934         * tests/unicase/test-u32-is-uppercase.c: Likewise.
35935         * tests/unicase/test-u32-tolower.c: Likewise.
35936         * tests/unicase/test-u32-totitle.c: Likewise.
35937         * tests/unicase/test-u32-toupper.c: Likewise.
35938         * tests/unicase/test-ulc-casecmp.c: Likewise.
35939         * tests/unicase/test-ulc-casecoll.c: Likewise.
35940         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35941         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35942         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35943         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35944         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35945         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35946         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35947         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35948         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35949         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35950         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35951         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35952         * tests/unictype/test-bidi_byname.c: Likewise.
35953         * tests/unictype/test-bidi_name.c: Likewise.
35954         * tests/unictype/test-bidi_of.c: Likewise.
35955         * tests/unictype/test-bidi_test.c: Likewise.
35956         * tests/unictype/test-block_list.c: Likewise.
35957         * tests/unictype/test-block_of.c: Likewise.
35958         * tests/unictype/test-block_test.c: Likewise.
35959         * tests/unictype/test-categ_and.c: Likewise.
35960         * tests/unictype/test-categ_and_not.c: Likewise.
35961         * tests/unictype/test-categ_byname.c: Likewise.
35962         * tests/unictype/test-categ_name.c: Likewise.
35963         * tests/unictype/test-categ_none.c: Likewise.
35964         * tests/unictype/test-categ_of.c: Likewise.
35965         * tests/unictype/test-categ_or.c: Likewise.
35966         * tests/unictype/test-categ_test_withtable.c: Likewise.
35967         * tests/unictype/test-combining.c: Likewise.
35968         * tests/unictype/test-decdigit.c: Likewise.
35969         * tests/unictype/test-digit.c: Likewise.
35970         * tests/unictype/test-mirror.c: Likewise.
35971         * tests/unictype/test-numeric.c: Likewise.
35972         * tests/unictype/test-pr_byname.c: Likewise.
35973         * tests/unictype/test-pr_test.c: Likewise.
35974         * tests/unictype/test-predicate-part1.h: Likewise.
35975         * tests/unictype/test-scripts.c: Likewise.
35976         * tests/unictype/test-sy_c_ident.c: Likewise.
35977         * tests/unictype/test-sy_java_ident.c: Likewise.
35978         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
35979         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
35980         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
35981         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
35982         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
35983         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
35984         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
35985         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
35986         * tests/uninorm/test-canonical-decomposition.c: Likewise.
35987         * tests/uninorm/test-compat-decomposition.c: Likewise.
35988         * tests/uninorm/test-composition.c: Likewise.
35989         * tests/uninorm/test-decomposing-form.c: Likewise.
35990         * tests/uninorm/test-decomposition.c: Likewise.
35991         * tests/uninorm/test-u8-nfc.c: Likewise.
35992         * tests/uninorm/test-u8-nfd.c: Likewise.
35993         * tests/uninorm/test-u8-nfkc.c: Likewise.
35994         * tests/uninorm/test-u8-nfkd.c: Likewise.
35995         * tests/uninorm/test-u8-normcmp.c: Likewise.
35996         * tests/uninorm/test-u8-normcoll.c: Likewise.
35997         * tests/uninorm/test-u16-nfc.c: Likewise.
35998         * tests/uninorm/test-u16-nfd.c: Likewise.
35999         * tests/uninorm/test-u16-nfkc.c: Likewise.
36000         * tests/uninorm/test-u16-nfkd.c: Likewise.
36001         * tests/uninorm/test-u16-normcmp.c: Likewise.
36002         * tests/uninorm/test-u16-normcoll.c: Likewise.
36003         * tests/uninorm/test-u32-nfc.c: Likewise.
36004         * tests/uninorm/test-u32-nfd.c: Likewise.
36005         * tests/uninorm/test-u32-nfkc.c: Likewise.
36006         * tests/uninorm/test-u32-nfkd.c: Likewise.
36007         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36008         * tests/uninorm/test-u32-normcmp.c: Likewise.
36009         * tests/uninorm/test-u32-normcoll.c: Likewise.
36010         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36011         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36012         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36013         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36014         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36015         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36016         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36017         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36018         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36019         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36020         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36021         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36022         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36023         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36024         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36025         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36026         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36027         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36028         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36029         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36030         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36031         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36032         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36033         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36034         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36035         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36036         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36037         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36038         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36039         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36040         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36041         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36042         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36043         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36044         * tests/uniwidth/test-u8-width.c: Likewise.
36045         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36046         * tests/uniwidth/test-u16-width.c: Likewise.
36047         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36048         * tests/uniwidth/test-u32-width.c: Likewise.
36049         * tests/uniwidth/test-uc_width.c: Likewise.
36050         * tests/uniwidth/test-uc_width2.c: Likewise.
36051         * modules/acl-tests (Files): Add tests/macros.h.
36052         * modules/areadlink-tests (Files): Likewise.
36053         * modules/areadlink-with-size-tests (Files): Likewise.
36054         * modules/areadlinkat-tests (Files): Likewise.
36055         * modules/areadlinkat-with-size-tests (Files): Likewise.
36056         * modules/argmatch-tests (Files): Likewise.
36057         * modules/argv-iter-tests (Files): Likewise.
36058         * modules/array-list-tests (Files): Likewise.
36059         * modules/array-mergesort-tests (Files): Likewise.
36060         * modules/array-oset-tests (Files): Likewise.
36061         * modules/avltree-list-tests (Files): Likewise.
36062         * modules/avltree-oset-tests (Files): Likewise.
36063         * modules/avltreehash-list-tests (Files): Likewise.
36064         * modules/base64-tests (Files): Likewise.
36065         * modules/binary-io-tests (Files): Likewise.
36066         * modules/bitrotate-tests (Files): Likewise.
36067         * modules/btowc-tests (Files): Likewise.
36068         * modules/byteswap-tests (Files): Likewise.
36069         * modules/c-ctype-tests (Files): Likewise.
36070         * modules/c-stack-tests (Files): Likewise.
36071         * modules/c-strcase-tests (Files): Likewise.
36072         * modules/c-strcasestr-tests (Files): Likewise.
36073         * modules/c-strstr-tests (Files): Likewise.
36074         * modules/canonicalize-lgpl-tests (Files): Likewise.
36075         * modules/canonicalize-tests (Files): Likewise.
36076         * modules/carray-list-tests (Files): Likewise.
36077         * modules/ceilf-tests (Files): Likewise.
36078         * modules/ceill-tests (Files): Likewise.
36079         * modules/chown-tests (Files): Likewise.
36080         * modules/cloexec-tests (Files): Likewise.
36081         * modules/copy-file-tests (Files): Likewise.
36082         * modules/count-one-bits-tests (Files): Likewise.
36083         * modules/dprintf-posix-tests (Files): Likewise.
36084         * modules/dup2-tests (Files): Likewise.
36085         * modules/dup3-tests (Files): Likewise.
36086         * modules/duplocale-tests (Files): Likewise.
36087         * modules/fbufmode-tests (Files): Likewise.
36088         * modules/fchdir-tests (Files): Likewise.
36089         * modules/fcntl-safer-tests (Files): Likewise.
36090         * modules/fcntl-tests (Files): Likewise.
36091         * modules/fdopendir-tests (Files): Likewise.
36092         * modules/fdutimensat-tests (Files): Likewise.
36093         * modules/fflush-tests (Files): Likewise.
36094         * modules/filevercmp-tests (Files): Likewise.
36095         * modules/flock-tests (Files): Likewise.
36096         * modules/floorf-tests (Files): Likewise.
36097         * modules/floorl-tests (Files): Likewise.
36098         * modules/fnmatch-tests (Files): Likewise.
36099         * modules/fopen-safer-tests (Files): Likewise.
36100         * modules/fopen-tests (Files): Likewise.
36101         * modules/fpending-tests (Files): Likewise.
36102         * modules/fprintf-posix-tests (Files): Likewise.
36103         * modules/fpurge-tests (Files): Likewise.
36104         * modules/freadable-tests (Files): Likewise.
36105         * modules/freadahead-tests (Files): Likewise.
36106         * modules/freading-tests (Files): Likewise.
36107         * modules/freadptr-tests (Files): Likewise.
36108         * modules/freadseek-tests (Files): Likewise.
36109         * modules/freopen-tests (Files): Likewise.
36110         * modules/frexp-nolibm-tests (Files): Likewise.
36111         * modules/frexp-tests (Files): Likewise.
36112         * modules/frexpl-nolibm-tests (Files): Likewise.
36113         * modules/frexpl-tests (Files): Likewise.
36114         * modules/fseek-tests (Files): Likewise.
36115         * modules/fseeko-tests (Files): Likewise.
36116         * modules/fstrcmp-tests (Files): Likewise.
36117         * modules/fsync-tests (Files): Likewise.
36118         * modules/ftell-tests (Files): Likewise.
36119         * modules/ftello-tests (Files): Likewise.
36120         * modules/func-tests (Files): Likewise.
36121         * modules/futimens-tests (Files): Likewise.
36122         * modules/fwritable-tests (Files): Likewise.
36123         * modules/fwriting-tests (Files): Likewise.
36124         * modules/getcwd-tests (Files): Likewise.
36125         * modules/getdate-tests (Files): Likewise.
36126         * modules/getdelim-tests (Files): Likewise.
36127         * modules/getdtablesize-tests (Files): Likewise.
36128         * modules/getgroups-tests (Files): Likewise.
36129         * modules/getline-tests (Files): Likewise.
36130         * modules/getndelim2-tests (Files): Likewise.
36131         * modules/glob-tests (Files): Likewise.
36132         * modules/hash-tests (Files): Likewise.
36133         * modules/i-ring-tests (Files): Likewise.
36134         * modules/iconv-tests (Files): Likewise.
36135         * modules/iconv_open-utf-tests (Files): Likewise.
36136         * modules/idpriv-drop-tests (Files): Likewise.
36137         * modules/idpriv-droptemp-tests (Files): Likewise.
36138         * modules/inet_ntop-tests (Files): Likewise.
36139         * modules/inet_pton-tests (Files): Likewise.
36140         * modules/isblank-tests (Files): Likewise.
36141         * modules/isfinite-tests (Files): Likewise.
36142         * modules/isinf-tests (Files): Likewise.
36143         * modules/isnan-tests (Files): Likewise.
36144         * modules/isnand-nolibm-tests (Files): Likewise.
36145         * modules/isnand-tests (Files): Likewise.
36146         * modules/isnanf-nolibm-tests (Files): Likewise.
36147         * modules/isnanf-tests (Files): Likewise.
36148         * modules/isnanl-nolibm-tests (Files): Likewise.
36149         * modules/isnanl-tests (Files): Likewise.
36150         * modules/lchown-tests (Files): Likewise.
36151         * modules/ldexpl-tests (Files): Likewise.
36152         * modules/link-tests (Files): Likewise.
36153         * modules/linkat-tests (Files): Likewise.
36154         * modules/linked-list-tests (Files): Likewise.
36155         * modules/linkedhash-list-tests (Files): Likewise.
36156         * modules/localename-tests (Files): Likewise.
36157         * modules/lseek-tests (Files): Likewise.
36158         * modules/lstat-tests (Files): Likewise.
36159         * modules/mbmemcasecmp-tests (Files): Likewise.
36160         * modules/mbmemcasecoll-tests (Files): Likewise.
36161         * modules/mbrtowc-tests (Files): Likewise.
36162         * modules/mbscasecmp-tests (Files): Likewise.
36163         * modules/mbscasestr-tests (Files): Likewise.
36164         * modules/mbschr-tests (Files): Likewise.
36165         * modules/mbscspn-tests (Files): Likewise.
36166         * modules/mbsinit-tests (Files): Likewise.
36167         * modules/mbsncasecmp-tests (Files): Likewise.
36168         * modules/mbsnrtowcs-tests (Files): Likewise.
36169         * modules/mbspbrk-tests (Files): Likewise.
36170         * modules/mbspcasecmp-tests (Files): Likewise.
36171         * modules/mbsrchr-tests (Files): Likewise.
36172         * modules/mbsrtowcs-tests (Files): Likewise.
36173         * modules/mbsspn-tests (Files): Likewise.
36174         * modules/mbsstr-tests (Files): Likewise.
36175         * modules/memchr-tests (Files): Likewise.
36176         * modules/memchr2-tests (Files): Likewise.
36177         * modules/memcmp-tests (Files): Likewise.
36178         * modules/memmem-tests (Files): Likewise.
36179         * modules/memrchr-tests (Files): Likewise.
36180         * modules/mkdir-tests (Files): Likewise.
36181         * modules/mkfifo-tests (Files): Likewise.
36182         * modules/mkfifoat-tests (Files): Likewise.
36183         * modules/mknod-tests (Files): Likewise.
36184         * modules/nanosleep-tests (Files): Likewise.
36185         * modules/nl_langinfo-tests (Files): Likewise.
36186         * modules/obstack-printf-tests (Files): Likewise.
36187         * modules/open-tests (Files): Likewise.
36188         * modules/openat-tests (Files): Likewise.
36189         * modules/pipe-filter-gi-tests (Files): Likewise.
36190         * modules/pipe-filter-ii-tests (Files): Likewise.
36191         * modules/pipe2-tests (Files): Likewise.
36192         * modules/popen-safer-tests (Files): Likewise.
36193         * modules/popen-tests (Files): Likewise.
36194         * modules/posixtm-tests (Files): Likewise.
36195         * modules/pread-tests (Files): Likewise.
36196         * modules/printf-frexp-tests (Files): Likewise.
36197         * modules/printf-frexpl-tests (Files): Likewise.
36198         * modules/printf-posix-tests (Files): Likewise.
36199         * modules/priv-set-tests (Files): Likewise.
36200         * modules/quotearg-tests (Files): Likewise.
36201         * modules/random_r-tests (Files): Likewise.
36202         * modules/rawmemchr-tests (Files): Likewise.
36203         * modules/rbtree-list-tests (Files): Likewise.
36204         * modules/rbtree-oset-tests (Files): Likewise.
36205         * modules/rbtreehash-list-tests (Files): Likewise.
36206         * modules/readlink-tests (Files): Likewise.
36207         * modules/remove-tests (Files): Likewise.
36208         * modules/rename-tests (Files): Likewise.
36209         * modules/renameat-tests (Files): Likewise.
36210         * modules/rmdir-tests (Files): Likewise.
36211         * modules/round-tests (Files): Likewise.
36212         * modules/roundf-tests (Files): Likewise.
36213         * modules/roundl-tests (Files): Likewise.
36214         * modules/safe-alloc-tests (Files): Likewise.
36215         * modules/setenv-tests (Files): Likewise.
36216         * modules/sigaction-tests (Files): Likewise.
36217         * modules/signbit-tests (Files): Likewise.
36218         * modules/sleep-tests (Files): Likewise.
36219         * modules/snprintf-posix-tests (Files): Likewise.
36220         * modules/snprintf-tests (Files): Likewise.
36221         * modules/sprintf-posix-tests (Files): Likewise.
36222         * modules/stat-tests (Files): Likewise.
36223         * modules/stat-time-tests (Files): Likewise.
36224         * modules/strcasestr-tests (Files): Likewise.
36225         * modules/strchrnul-tests (Files): Likewise.
36226         * modules/strerror-tests (Files): Likewise.
36227         * modules/striconv-tests (Files): Likewise.
36228         * modules/striconveh-tests (Files): Likewise.
36229         * modules/striconveha-tests (Files): Likewise.
36230         * modules/strsignal-tests (Files): Likewise.
36231         * modules/strstr-tests (Files): Likewise.
36232         * modules/strtod-tests (Files): Likewise.
36233         * modules/strverscmp-tests (Files): Likewise.
36234         * modules/symlink-tests (Files): Likewise.
36235         * modules/symlinkat-tests (Files): Likewise.
36236         * modules/trunc-tests (Files): Likewise.
36237         * modules/truncf-tests (Files): Likewise.
36238         * modules/truncl-tests (Files): Likewise.
36239         * modules/uname-tests (Files): Likewise.
36240         * modules/unicase/cased-tests (Files): Likewise.
36241         * modules/unicase/ignorable-tests (Files): Likewise.
36242         * modules/unicase/locale-language-tests (Files): Likewise.
36243         * modules/unicase/tolower-tests (Files): Likewise.
36244         * modules/unicase/totitle-tests (Files): Likewise.
36245         * modules/unicase/toupper-tests (Files): Likewise.
36246         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36247         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36248         * modules/unicase/u8-casefold-tests (Files): Likewise.
36249         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36250         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36251         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36252         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36253         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36254         * modules/unicase/u8-tolower-tests (Files): Likewise.
36255         * modules/unicase/u8-totitle-tests (Files): Likewise.
36256         * modules/unicase/u8-toupper-tests (Files): Likewise.
36257         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36258         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36259         * modules/unicase/u16-casefold-tests (Files): Likewise.
36260         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36261         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36262         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36263         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36264         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36265         * modules/unicase/u16-tolower-tests (Files): Likewise.
36266         * modules/unicase/u16-totitle-tests (Files): Likewise.
36267         * modules/unicase/u16-toupper-tests (Files): Likewise.
36268         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36269         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36270         * modules/unicase/u32-casefold-tests (Files): Likewise.
36271         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36272         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36273         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36274         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36275         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36276         * modules/unicase/u32-tolower-tests (Files): Likewise.
36277         * modules/unicase/u32-totitle-tests (Files): Likewise.
36278         * modules/unicase/u32-toupper-tests (Files): Likewise.
36279         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36280         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36281         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36282         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36283         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36284         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36285         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36286         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36287         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36288         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36289         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36290         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36291         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36292         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36293         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36294         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36295         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36296         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36297         * modules/unictype/block-list-tests (Files): Likewise.
36298         * modules/unictype/block-of-tests (Files): Likewise.
36299         * modules/unictype/block-test-tests (Files): Likewise.
36300         * modules/unictype/category-C-tests (Files): Likewise.
36301         * modules/unictype/category-Cc-tests (Files): Likewise.
36302         * modules/unictype/category-Cf-tests (Files): Likewise.
36303         * modules/unictype/category-Cn-tests (Files): Likewise.
36304         * modules/unictype/category-Co-tests (Files): Likewise.
36305         * modules/unictype/category-Cs-tests (Files): Likewise.
36306         * modules/unictype/category-L-tests (Files): Likewise.
36307         * modules/unictype/category-Ll-tests (Files): Likewise.
36308         * modules/unictype/category-Lm-tests (Files): Likewise.
36309         * modules/unictype/category-Lo-tests (Files): Likewise.
36310         * modules/unictype/category-Lt-tests (Files): Likewise.
36311         * modules/unictype/category-Lu-tests (Files): Likewise.
36312         * modules/unictype/category-M-tests (Files): Likewise.
36313         * modules/unictype/category-Mc-tests (Files): Likewise.
36314         * modules/unictype/category-Me-tests (Files): Likewise.
36315         * modules/unictype/category-Mn-tests (Files): Likewise.
36316         * modules/unictype/category-N-tests (Files): Likewise.
36317         * modules/unictype/category-Nd-tests (Files): Likewise.
36318         * modules/unictype/category-Nl-tests (Files): Likewise.
36319         * modules/unictype/category-No-tests (Files): Likewise.
36320         * modules/unictype/category-P-tests (Files): Likewise.
36321         * modules/unictype/category-Pc-tests (Files): Likewise.
36322         * modules/unictype/category-Pd-tests (Files): Likewise.
36323         * modules/unictype/category-Pe-tests (Files): Likewise.
36324         * modules/unictype/category-Pf-tests (Files): Likewise.
36325         * modules/unictype/category-Pi-tests (Files): Likewise.
36326         * modules/unictype/category-Po-tests (Files): Likewise.
36327         * modules/unictype/category-Ps-tests (Files): Likewise.
36328         * modules/unictype/category-S-tests (Files): Likewise.
36329         * modules/unictype/category-Sc-tests (Files): Likewise.
36330         * modules/unictype/category-Sk-tests (Files): Likewise.
36331         * modules/unictype/category-Sm-tests (Files): Likewise.
36332         * modules/unictype/category-So-tests (Files): Likewise.
36333         * modules/unictype/category-Z-tests (Files): Likewise.
36334         * modules/unictype/category-Zl-tests (Files): Likewise.
36335         * modules/unictype/category-Zp-tests (Files): Likewise.
36336         * modules/unictype/category-Zs-tests (Files): Likewise.
36337         * modules/unictype/category-and-not-tests (Files): Likewise.
36338         * modules/unictype/category-and-tests (Files): Likewise.
36339         * modules/unictype/category-byname-tests (Files): Likewise.
36340         * modules/unictype/category-name-tests (Files): Likewise.
36341         * modules/unictype/category-none-tests (Files): Likewise.
36342         * modules/unictype/category-of-tests (Files): Likewise.
36343         * modules/unictype/category-or-tests (Files): Likewise.
36344         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36345         * modules/unictype/combining-class-tests (Files): Likewise.
36346         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36347         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36348         * modules/unictype/ctype-blank-tests (Files): Likewise.
36349         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36350         * modules/unictype/ctype-digit-tests (Files): Likewise.
36351         * modules/unictype/ctype-graph-tests (Files): Likewise.
36352         * modules/unictype/ctype-lower-tests (Files): Likewise.
36353         * modules/unictype/ctype-print-tests (Files): Likewise.
36354         * modules/unictype/ctype-punct-tests (Files): Likewise.
36355         * modules/unictype/ctype-space-tests (Files): Likewise.
36356         * modules/unictype/ctype-upper-tests (Files): Likewise.
36357         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36358         * modules/unictype/decimal-digit-tests (Files): Likewise.
36359         * modules/unictype/digit-tests (Files): Likewise.
36360         * modules/unictype/mirror-tests (Files): Likewise.
36361         * modules/unictype/numeric-tests (Files): Likewise.
36362         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36363         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36364         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36365         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36366         Likewise.
36367         * modules/unictype/property-bidi-block-separator-tests (Files):
36368         Likewise.
36369         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36370         Likewise.
36371         * modules/unictype/property-bidi-common-separator-tests (Files):
36372         Likewise.
36373         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36374         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36375         Likewise.
36376         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36377         Likewise.
36378         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36379         Likewise.
36380         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36381         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36382         Likewise.
36383         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36384         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36385         Likewise.
36386         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36387         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36388         * modules/unictype/property-bidi-segment-separator-tests (Files):
36389         Likewise.
36390         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36391         * modules/unictype/property-byname-tests (Files): Likewise.
36392         * modules/unictype/property-combining-tests (Files): Likewise.
36393         * modules/unictype/property-composite-tests (Files): Likewise.
36394         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
36395         * modules/unictype/property-dash-tests (Files): Likewise.
36396         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
36397         * modules/unictype/property-default-ignorable-code-point-tests (Files):
36398         Likewise.
36399         * modules/unictype/property-deprecated-tests (Files): Likewise.
36400         * modules/unictype/property-diacritic-tests (Files): Likewise.
36401         * modules/unictype/property-extender-tests (Files): Likewise.
36402         * modules/unictype/property-format-control-tests (Files): Likewise.
36403         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
36404         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
36405         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
36406         * modules/unictype/property-hex-digit-tests (Files): Likewise.
36407         * modules/unictype/property-hyphen-tests (Files): Likewise.
36408         * modules/unictype/property-id-continue-tests (Files): Likewise.
36409         * modules/unictype/property-id-start-tests (Files): Likewise.
36410         * modules/unictype/property-ideographic-tests (Files): Likewise.
36411         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
36412         * modules/unictype/property-ids-trinary-operator-tests (Files):
36413         Likewise.
36414         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
36415         * modules/unictype/property-iso-control-tests (Files): Likewise.
36416         * modules/unictype/property-join-control-tests (Files): Likewise.
36417         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
36418         * modules/unictype/property-line-separator-tests (Files): Likewise.
36419         * modules/unictype/property-logical-order-exception-tests (Files):
36420         Likewise.
36421         * modules/unictype/property-lowercase-tests (Files): Likewise.
36422         * modules/unictype/property-math-tests (Files): Likewise.
36423         * modules/unictype/property-non-break-tests (Files): Likewise.
36424         * modules/unictype/property-not-a-character-tests (Files): Likewise.
36425         * modules/unictype/property-numeric-tests (Files): Likewise.
36426         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
36427         * modules/unictype/property-other-default-ignorable-code-point-tests
36428         (Files): Likewise.
36429         * modules/unictype/property-other-grapheme-extend-tests (Files):
36430         Likewise.
36431         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
36432         * modules/unictype/property-other-id-start-tests (Files): Likewise.
36433         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
36434         * modules/unictype/property-other-math-tests (Files): Likewise.
36435         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
36436         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
36437         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
36438         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
36439         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
36440         * modules/unictype/property-private-use-tests (Files): Likewise.
36441         * modules/unictype/property-punctuation-tests (Files): Likewise.
36442         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
36443         * modules/unictype/property-radical-tests (Files): Likewise.
36444         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
36445         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
36446         * modules/unictype/property-space-tests (Files): Likewise.
36447         * modules/unictype/property-terminal-punctuation-tests (Files):
36448         Likewise.
36449         * modules/unictype/property-test-tests (Files): Likewise.
36450         * modules/unictype/property-titlecase-tests (Files): Likewise.
36451         * modules/unictype/property-unassigned-code-value-tests (Files):
36452         Likewise.
36453         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
36454         * modules/unictype/property-uppercase-tests (Files): Likewise.
36455         * modules/unictype/property-variation-selector-tests (Files): Likewise.
36456         * modules/unictype/property-white-space-tests (Files): Likewise.
36457         * modules/unictype/property-xid-continue-tests (Files): Likewise.
36458         * modules/unictype/property-xid-start-tests (Files): Likewise.
36459         * modules/unictype/property-zero-width-tests (Files): Likewise.
36460         * modules/unictype/scripts-tests (Files): Likewise.
36461         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
36462         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
36463         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
36464         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
36465         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
36466         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
36467         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
36468         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
36469         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
36470         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
36471         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
36472         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
36473         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
36474         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
36475         * modules/uninorm/composition-tests (Files): Likewise.
36476         * modules/uninorm/decomposing-form-tests (Files): Likewise.
36477         * modules/uninorm/decomposition-tests (Files): Likewise.
36478         * modules/uninorm/filter-tests (Files): Likewise.
36479         * modules/uninorm/nfc-tests (Files): Likewise.
36480         * modules/uninorm/nfd-tests (Files): Likewise.
36481         * modules/uninorm/nfkc-tests (Files): Likewise.
36482         * modules/uninorm/nfkd-tests (Files): Likewise.
36483         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
36484         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
36485         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
36486         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
36487         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
36488         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
36489         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
36490         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36491         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
36492         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
36493         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
36494         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
36495         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36496         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
36497         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
36498         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
36499         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
36500         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36501         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
36502         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
36503         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
36504         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
36505         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36506         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
36507         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
36508         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
36509         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
36510         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
36511         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
36512         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
36513         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
36514         * modules/uniwidth/u8-width-tests (Files): Likewise.
36515         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
36516         * modules/uniwidth/u16-width-tests (Files): Likewise.
36517         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
36518         * modules/uniwidth/u32-width-tests (Files): Likewise.
36519         * modules/uniwidth/width-tests (Files): Likewise.
36520         * modules/unlink-tests (Files): Likewise.
36521         * modules/unsetenv-tests (Files): Likewise.
36522         * modules/usleep-tests (Files): Likewise.
36523         * modules/utimens-tests (Files): Likewise.
36524         * modules/utimensat-tests (Files): Likewise.
36525         * modules/vasnprintf-posix-tests (Files): Likewise.
36526         * modules/vasnprintf-tests (Files): Likewise.
36527         * modules/vasprintf-posix-tests (Files): Likewise.
36528         * modules/vasprintf-tests (Files): Likewise.
36529         * modules/vdprintf-posix-tests (Files): Likewise.
36530         * modules/vfprintf-posix-tests (Files): Likewise.
36531         * modules/vprintf-posix-tests (Files): Likewise.
36532         * modules/vsnprintf-posix-tests (Files): Likewise.
36533         * modules/vsnprintf-tests (Files): Likewise.
36534         * modules/vsprintf-posix-tests (Files): Likewise.
36535         * modules/wcrtomb-tests (Files): Likewise.
36536         * modules/wcsnrtombs-tests (Files): Likewise.
36537         * modules/wcsrtombs-tests (Files): Likewise.
36538         * modules/wctype-tests (Files): Likewise.
36539         * modules/wcwidth-tests (Files): Likewise.
36540         * modules/xmemdup0-tests (Files): Likewise.
36541         * modules/xprintf-posix-tests (Files): Likewise.
36542         * modules/xvasprintf-tests (Files): Likewise.
36543
36544 2009-12-24  Eric Blake  <ebb9@byu.net>
36545
36546         test-nanosleep: fix typo
36547         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36548         patch.
36549         Reported by Bruno Haible.
36550
36551 2009-12-24  Bruno Haible  <bruno@clisp.org>
36552
36553         Reduce namespace pollution on glibc systems.
36554         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36555         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36556         systems.
36557         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36558         <getopt.h> on glibc systems.
36559         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36560         systems.
36561         * lib/fcntl.c: Include <unistd.h> here instead.
36562
36563 2009-12-24  Bruno Haible  <bruno@clisp.org>
36564
36565         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36566
36567 2009-12-24  Eric Blake  <ebb9@byu.net>
36568
36569         tests: add signature checks
36570         * tests/signature.h (SIGNATURE_CHECK): New file.
36571         * modules/atexit-tests (Files): Use it.
36572         * modules/btowc-tests (Files): Likewise.
36573         * modules/canonicalize-lgpl-tests (Files): Likewise.
36574         * modules/ceilf-tests (Files): Likewise.
36575         * modules/ceill-tests (Files): Likewise.
36576         * modules/chown-tests (Files): Likewise.
36577         * modules/dprintf-posix-tests (Files): Likewise.
36578         * modules/dup2-tests (Files): Likewise.
36579         * modules/dup3-tests (Files): Likewise.
36580         * modules/duplocale-tests (Files): Likewise.
36581         * modules/fchdir-tests (Files): Likewise.
36582         * modules/fcntl-tests (Files): Likewise.
36583         * modules/fdopendir-tests (Files): Likewise.
36584         * modules/fflush-tests (Files): Likewise.
36585         * modules/flock-tests (Files): Likewise.
36586         * modules/floorf-tests (Files): Likewise.
36587         * modules/floorl-tests (Files): Likewise.
36588         * modules/fnmatch-tests (Files): Likewise.
36589         * modules/fopen-tests (Files): Likewise.
36590         * modules/fprintf-posix-tests (Files): Likewise.
36591         * modules/freopen-tests (Files): Likewise.
36592         * modules/frexp-nolibm-tests (Files): Likewise.
36593         * modules/frexp-tests (Files): Likewise.
36594         * modules/frexpl-nolibm-tests (Files): Likewise.
36595         * modules/frexpl-tests (Files): Likewise.
36596         * modules/fseek-tests (Files): Likewise.
36597         * modules/fseeko-tests (Files): Likewise.
36598         * modules/fsync-tests (Files): Likewise.
36599         * modules/ftell-tests (Files): Likewise.
36600         * modules/ftello-tests (Files): Likewise.
36601         * modules/futimens-tests (Files): Likewise.
36602         * modules/getaddrinfo-tests (Files): Likewise.
36603         * modules/getcwd-tests (Files): Likewise.
36604         * modules/getdelim-tests (Files): Likewise.
36605         * modules/getdtablesize-tests (Files): Likewise.
36606         * modules/getgroups-tests (Files): Likewise.
36607         * modules/gethostname-tests (Files): Likewise.
36608         * modules/getline-tests (Files): Likewise.
36609         * modules/getopt-posix-tests (Files): Likewise.
36610         * modules/gettimeofday-tests (Files): Likewise.
36611         * modules/glob-tests (Files): Likewise.
36612         * modules/iconv-tests (Files): Likewise.
36613         * modules/inet_ntop-tests (Files): Likewise.
36614         * modules/inet_pton-tests (Files): Likewise.
36615         * modules/isblank-tests (Files): Likewise.
36616         * modules/lchown-tests (Files): Likewise.
36617         * modules/ldexpl-tests (Files): Likewise.
36618         * modules/link-tests (Files): Likewise.
36619         * modules/linkat-tests (Files): Likewise.
36620         * modules/lseek-tests (Files): Likewise.
36621         * modules/lstat-tests (Files): Likewise.
36622         * modules/mbrtowc-tests (Files): Likewise.
36623         * modules/mbsinit-tests (Files): Likewise.
36624         * modules/mbsnrtowcs-tests (Files): Likewise.
36625         * modules/mbsrtowcs-tests (Files): Likewise.
36626         * modules/memchr-tests (Files): Likewise.
36627         * modules/memcmp-tests (Files): Likewise.
36628         * modules/memmem-tests (Files): Likewise.
36629         * modules/memrchr-tests (Files): Likewise.
36630         * modules/mkdir-tests (Files): Likewise.
36631         * modules/mkfifo-tests (Files): Likewise.
36632         * modules/mkfifoat-tests (Files): Likewise.
36633         * modules/mknod-tests (Files): Likewise.
36634         * modules/nanosleep-tests (Files): Likewise.
36635         * modules/nl_langinfo-tests (Files): Likewise.
36636         * modules/obstack-printf-tests (Files): Likewise.
36637         * modules/open-tests (Files): Likewise.
36638         * modules/openat-tests (Files): Likewise.
36639         * modules/perror-tests (Files): Likewise.
36640         * modules/pipe2-tests (Files): Likewise.
36641         * modules/poll-tests (Files): Likewise.
36642         * modules/popen-tests (Files): Likewise.
36643         * modules/posix_spawn-tests (Files): Likewise.
36644         * modules/posix_spawnp-tests (Files): Likewise.
36645         * modules/pread-tests (Files): Likewise.
36646         * modules/printf-posix-tests (Files): Likewise.
36647         * modules/pty-tests (Files): Likewise.
36648         * modules/random_r-tests (Files): Likewise.
36649         * modules/rawmemchr-tests (Files): Likewise.
36650         * modules/readlink-tests (Files): Likewise.
36651         * modules/remove-tests (Files): Likewise.
36652         * modules/rename-tests (Files): Likewise.
36653         * modules/renameat-tests (Files): Likewise.
36654         * modules/rmdir-tests (Files): Likewise.
36655         * modules/round-tests (Files): Likewise.
36656         * modules/roundf-tests (Files): Likewise.
36657         * modules/roundl-tests (Files): Likewise.
36658         * modules/select-tests (Files): Likewise.
36659         * modules/setenv-tests (Files): Likewise.
36660         * modules/sigaction-tests (Files): Likewise.
36661         * modules/sleep-tests (Files): Likewise.
36662         * modules/snprintf-posix-tests (Files): Likewise.
36663         * modules/snprintf-tests (Files): Likewise.
36664         * modules/sprintf-posix-tests (Files): Likewise.
36665         * modules/stat-tests (Files): Likewise.
36666         * modules/strcasestr-tests (Files): Likewise.
36667         * modules/strchrnul-tests (Files): Likewise.
36668         * modules/strerror-tests (Files): Likewise.
36669         * modules/strsignal-tests (Files): Likewise.
36670         * modules/strstr-tests (Files): Likewise.
36671         * modules/strtod-tests (Files): Likewise.
36672         * modules/strverscmp-tests (Files): Likewise.
36673         * modules/symlink-tests (Files): Likewise.
36674         * modules/symlinkat-tests (Files): Likewise.
36675         * modules/times-tests (Files): Likewise.
36676         * modules/trunc-tests (Files): Likewise.
36677         * modules/truncf-tests (Files): Likewise.
36678         * modules/truncl-tests (Files): Likewise.
36679         * modules/tsearch-tests (Files): Likewise.
36680         * modules/uname-tests (Files): Likewise.
36681         * modules/unlink-tests (Files): Likewise.
36682         * modules/unsetenv-tests (Files): Likewise.
36683         * modules/usleep-tests (Files): Likewise.
36684         * modules/utimensat-tests (Files): Likewise.
36685         * modules/vasprintf-tests (Files): Likewise.
36686         * modules/vdprintf-posix-tests (Files): Likewise.
36687         * modules/vfprintf-posix-tests (Files): Likewise.
36688         * modules/vprintf-posix-tests (Files): Likewise.
36689         * modules/vsnprintf-posix-tests (Files): Likewise.
36690         * modules/vsnprintf-tests (Files): Likewise.
36691         * modules/vsprintf-posix-tests (Files): Likewise.
36692         * modules/wcrtomb-tests (Files): Likewise.
36693         * modules/wcsnrtombs-tests (Files): Likewise.
36694         * modules/wcsrtombs-tests (Files): Likewise.
36695         * modules/wcwidth-tests (Files): Likewise.
36696         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36697         * tests/test-isinf.c (isinf): Likewise.
36698         * tests/test-isnan.c (isnan): Likewise.
36699         * tests/test-signbit.c (signbit): Likewise.
36700         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36701         declaration, either as macro or with correct signature.
36702         (select): Ensure function under test is declared with correct
36703         signature in correct header.
36704         * tests/test-atexit.c (atexit): Likewise.
36705         * tests/test-btowc.c (btowc): Likewise.
36706         * tests/test-canonicalize-lgpl.c (realpath)
36707         (canonicalize_file_name): Likewise.
36708         * tests/test-ceilf1.c (ceilf): Likewise.
36709         * tests/test-ceill.c (ceill): Likewise.
36710         * tests/test-chown.c (chown): Likewise.
36711         * tests/test-dprintf-posix.c (dprintf): Likewise.
36712         * tests/test-dup2.c (dup2): Likewise.
36713         * tests/test-dup3.c (dup3): Likewise.
36714         * tests/test-duplocale.c (duplocale): Likewise.
36715         * tests/test-fchdir.c (fchdir): Likewise.
36716         * tests/test-fchownat.c (fchownat): Likewise.
36717         * tests/test-fcntl.c (fcntl): Likewise.
36718         * tests/test-fdopendir.c (fdopendir): Likewise.
36719         * tests/test-fflush.c (fflush): Likewise.
36720         * tests/test-flock.c (flock): Likewise.
36721         * tests/test-floorf1.c (floorf): Likewise.
36722         * tests/test-floorl.c (floorl): Likewise.
36723         * tests/test-fnmatch.c (fnmatch): Likewise.
36724         * tests/test-fopen.c (fopen): Likewise.
36725         * tests/test-fprintf-posix.c (fprintf): Likewise.
36726         * tests/test-freopen.c (freopen): Likewise.
36727         * tests/test-frexp.c (frexp): Likewise.
36728         * tests/test-frexpl.c (frexpl): Likewise.
36729         * tests/test-fseek.c (fseek): Likewise.
36730         * tests/test-fseeko.c (fseeko): Likewise.
36731         * tests/test-fstatat.c (fstatat): Likewise.
36732         * tests/test-fsync.c (fsync): Likewise.
36733         * tests/test-ftell.c (ftell): Likewise.
36734         * tests/test-ftello.c (ftello): Likewise.
36735         * tests/test-futimens.c (futimens): Likewise.
36736         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36737         (gai_strerror): Likewise.
36738         * tests/test-getcwd.c (getcwd): Likewise.
36739         * tests/test-getdelim.c (getdelim): Likewise.
36740         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36741         * tests/test-getgroups.c (getgroups): Likewise.
36742         * tests/test-gethostname.c (gethostname): Likewise.
36743         * tests/test-getline.c (getline): Likewise.
36744         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36745         Likewise.
36746         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36747         * tests/test-glob.c (glob, globfree): Likewise.
36748         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36749         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36750         * tests/test-inet_pton.c (inet_pton): Likewise.
36751         * tests/test-isblank.c (isblank): Likewise.
36752         * tests/test-lchown.c (lchown): Likewise.
36753         * tests/test-ldexpl.c (ldexpl): Likewise.
36754         * tests/test-link.c (link): Likewise.
36755         * tests/test-linkat.c (linkat): Likewise.
36756         * tests/test-lseek.c (lseek): Likewise.
36757         * tests/test-lstat.c (lstat): Likewise.
36758         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36759         * tests/test-mbsinit.c (mbsinit): Likewise.
36760         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36761         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36762         * tests/test-memchr.c (memchr): Likewise.
36763         * tests/test-memcmp.c (memcmp): Likewise.
36764         * tests/test-memmem.c (memmem): Likewise.
36765         * tests/test-memrchr.c (memrchr): Likewise.
36766         * tests/test-mkdir.c (mkdir): Likewise.
36767         * tests/test-mkdirat.c (mkdirat): Likewise.
36768         * tests/test-mkfifo.c (mkfifo): Likewise.
36769         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36770         * tests/test-mknod.c (mknod): Likewise.
36771         * tests/test-nanosleep.c (nanosleep): Likewise.
36772         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36773         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36774         Likewise.
36775         * tests/test-open.c (open): Likewise.
36776         * tests/test-openat.c (openat): Likewise.
36777         * tests/test-perror.c (perror): Likewise.
36778         * tests/test-pipe2.c (pipe2): Likewise.
36779         * tests/test-poll.c (poll): Likewise.
36780         * tests/test-popen.c (popen, pclose): Likewise.
36781         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36782         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36783         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36784         (posix_spawn_file_actions_destroy)
36785         (posix_spawn_file_actions_addclose)
36786         (posix_spawn_file_actions_addopen)
36787         (posix_spawn_file_actions_adddup2): Likewise.
36788         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36789         * tests/test-pread.c (pread): Likewise.
36790         * tests/test-printf-posix.c (printf): Likewise.
36791         * tests/test-pty.c (openpty, forkpty): Likewise.
36792         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36793         (random_r): Likewise.
36794         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36795         * tests/test-readlink.c (readlink): Likewise.
36796         * tests/test-remove.c (remove): Likewise.
36797         * tests/test-rename.c (rename): Likewise.
36798         * tests/test-renameat.c (renameat): Likewise.
36799         * tests/test-rmdir.c (rmdir): Likewise.
36800         * tests/test-round1.c (round): Likewise.
36801         * tests/test-roundf1.c (roundf): Likewise.
36802         * tests/test-roundl.c (roundl): Likewise.
36803         * tests/test-setenv.c (setenv): Likewise.
36804         * tests/test-sigaction.c (sigaction): Likewise.
36805         * tests/test-sleep.c (sleep): Likewise.
36806         * tests/test-snprintf.c (snprintf): Likewise.
36807         * tests/test-sprintf-posix.c (sprintf): Likewise.
36808         * tests/test-stat.c (stat): Likewise.
36809         * tests/test-stpncpy.c (stpncpy): Likewise.
36810         * tests/test-strcasestr.c (strcasestr): Likewise.
36811         * tests/test-strchrnul.c (strchrnul): Likewise.
36812         * tests/test-strerror.c (strerror): Likewise.
36813         * tests/test-strsignal.c (strsignal): Likewise.
36814         * tests/test-strstr.c (strstr): Likewise.
36815         * tests/test-strtod.c (strtod): Likewise.
36816         * tests/test-strverscmp.c (strverscmp): Likewise.
36817         * tests/test-symlink.c (symlink): Likewise.
36818         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36819         * tests/test-times.c (times): Likewise.
36820         * tests/test-trunc1.c (trunc): Likewise.
36821         * tests/test-truncf1.c (truncf): Likewise.
36822         * tests/test-truncl.c (truncl): Likewise.
36823         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36824         Likewise.
36825         * tests/test-uname.c (uname): Likewise.
36826         * tests/test-unlink.c (unlink): Likewise.
36827         * tests/test-unlinkat.c (unlinkat): Likewise.
36828         * tests/test-unsetenv.c (unsetenv): Likewise.
36829         * tests/test-usleep.c (usleep): Likewise.
36830         * tests/test-utimensat.c (utimensat): Likewise.
36831         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36832         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36833         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36834         * tests/test-vprintf-posix.c (vprintf): Likewise.
36835         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36836         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36837         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36838         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36839         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36840         * tests/test-wcwidth.c (wcwidth): Likewise.
36841
36842         build: pull in conditional headers during GNULIB_POSIXCHECK
36843         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36844         definitions from any conditionally-included headers.
36845         * lib/stdlib.in.h (includes): Likewise.
36846         * lib/unistd.in.h (includes): Likewise.
36847
36848 2009-12-24  Bruno Haible  <bruno@clisp.org>
36849
36850         * tests/test-argv-iter.c: Include header file being tested immediately
36851         after config.h.
36852         * tests/test-base64.c: Likewise.
36853         * tests/test-flock.c: Likewise.
36854         * tests/test-fsync.c: Likewise.
36855         * tests/test-getdate.c: Likewise.
36856         * tests/test-getndelim2.c: Likewise.
36857         * tests/test-isfinite.c: Likewise.
36858         * tests/test-isinf.c: Likewise.
36859         * tests/test-strerror.c: Likewise.
36860         * tests/test-strsignal.c: Likewise.
36861
36862 2009-12-23  Eric Blake  <ebb9@byu.net>
36863
36864         unistd: work around cygwin bug
36865         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36866         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36867         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36868
36869 2009-12-23  Bruno Haible  <bruno@clisp.org>
36870
36871         localename: More tests.
36872         * tests/test-localename.c (SIZEOF): New macro.
36873         (categories): New variable.
36874         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36875         test_locale_name_default): Add test w.r.t. thread locale.
36876         (test_locale_name_thread): New function.
36877         (main): Invoke it.
36878
36879         localename: Make aware of thread locale.
36880         * lib/localename.h (gl_locale_name_thread): New declaration.
36881         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36882         behaviour with respect to thread locale.
36883         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36884         <langinfo.h>, glthread/lock.h.
36885         (SIZE_BITS): New macro.
36886         (string_hash): New function.
36887         (struct hash_node): New type.
36888         (HASH_TABLE_SIZE): New macro.
36889         (struniq_hash_table, struniq_lock): New variables.
36890         (struniq): New function.
36891         (gl_locale_name_thread): New function.
36892         (gl_locale_name): Invoke it.
36893         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36894         * modules/localename (Depends-on): Add lock.
36895         Reported by Mike Gran <spk121@yahoo.com>.
36896
36897 2009-12-23  Eric Blake  <ebb9@byu.net>
36898
36899         va-args: new module
36900         * modules/va-args: New file.
36901         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36902         * MODULES.html.sh (Core language properties): Mention it.
36903
36904         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
36905         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
36906         named alias for __attribute__((__unused__)).
36907         * lib/chown.c: Update client.
36908         * lib/fchmodat.c: Likewise.
36909         * lib/fts.c: Likewise.
36910         * lib/getdate.y: Likewise.
36911         * lib/getgroups.c: Likewise.
36912         * lib/getopt.c: Likewise.
36913         * lib/getugroups.c: Likewise.
36914         * lib/mkdir.c: Likewise.
36915         * lib/mkfifo.c: Likewise.
36916         * lib/mkfifoat.c: Likewise.
36917         * lib/mknod.c: Likewise.
36918         * lib/mknodat.c: Likewise.
36919         * lib/readlink.c: Likewise.
36920         * lib/se-context.in.h: Likewise.
36921         * lib/se-selinux.in.h: Likewise.
36922         * lib/sockets.c: Likewise.
36923         * lib/symlink.c: Likewise.
36924         * lib/symlinkat.c: Likewise.
36925         * lib/unicodeio.c: Likewise.
36926         * lib/unistr.h: Likewise.
36927         * tests/test-areadlink.c: Likewise.
36928         * tests/test-areadlinkat.c: Likewise.
36929         * tests/test-filenamecat.c: Likewise.
36930         * tests/test-fseeko.c: Likewise.
36931         * tests/test-ftello.c: Likewise.
36932         * tests/test-getdate.c: Likewise.
36933         * tests/test-getgroups.c: Likewise.
36934         * tests/test-gethostname.c: Likewise.
36935         * tests/test-quotearg.c: Likewise.
36936         * tests/test-version-etc.c: Likewise.
36937         * tests/test-xalloc-die.c: Likewise.
36938         * tests/test-xfprintf-posix.c: Likewise.
36939         * tests/test-xprintf-posix.c: Likewise.
36940         * tests/test-xvasprintf.c: Likewise.
36941
36942         tests: avoid compiler warnings
36943         * tests/test-fcntl.c (main): Delete unused parameters.
36944         * tests/test-freopen-safer.c (main): Likewise.
36945         * tests/test-xalloc-die.c (main): Mark unused parameters.
36946         * tests/test-fseeko.c (main): Likewise.
36947         * tests/test-ftello.c (main): Likewise.
36948         * tests/test-nanosleep.c (main): Avoid declaration warning.
36949         * tests/test-sleep.c (main): Likewise.
36950         * tests/test-unsetenv.c (main): Silence warning about string
36951         literal.
36952         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
36953
36954 2009-12-23  Bruno Haible  <bruno@clisp.org>
36955
36956         * tests/test-localename.c (test_locale_name): New function, extracted
36957         from main. Also test mixed situations.
36958         (test_locale_name_posix, test_locale_name_environ,
36959         test_locale_name_default): New functions.
36960         (main): Invoke them all.
36961         * modules/localename-tests (configure.ac): Test for newlocale.
36962
36963 2009-12-23  Bruno Haible  <bruno@clisp.org>
36964
36965         unistd: Ensure getcwd gets declared before being overridden.
36966         * lib/unistd.in.h: Conditionally include <io.h>.
36967
36968 2009-12-22  Bruno Haible  <bruno@clisp.org>
36969
36970         wchar: Diagnose broken combination of glibc and gcc versions and flags.
36971         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
36972         (gl_WCHAR_H): Invoke it.
36973         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
36974         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
36975         Reported by Karl Berry <karl@freefriends.org>.
36976
36977 2009-12-22  Eric Blake  <ebb9@byu.net>
36978
36979         math, unistd: avoid redundant includes
36980         * lib/math.in.h (isnan): No need to re-include <math.h>.
36981         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
36982
36983         getsubopt: work around cygwin bug
36984         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
36985         avoid conflicting with system getsubopt.
36986         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
36987         bug.
36988
36989         getopt: synchronize from glibc
36990         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
36991         parameter order.  Adjust all callers.
36992         (_getopt_internal_r, main): Adjust quoting in error messages.
36993         Drop considerations for outdated POSIX 1003.2 error message.
36994         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
36995         callers.
36996         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
36997
36998         test-getopt: test stderr behavior
36999         * modules/getopt-posix-tests (Depends-on): Add dup2.
37000         * tests/test-getopt.c (ASSERT): Avoid stderr.
37001         (main): Move stderr to a temporary file.
37002         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37003         Instead, add parameter to inform caller if output occurred.
37004         (test_getopt): Adjust all existing tests to expect silence, and
37005         add new tests of leading ":".
37006         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37007         glibc shortcomings with leading "-:" or "+:" in optstring.
37008         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37009         Likewise.
37010         * doc/posix-functions/getopt.texi (getopt): Likewise.
37011
37012         test-getopt: enhance test
37013         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37014         supports optind=0.
37015         * tests/test-getopt.c (OPTIND_MIN): Move...
37016         * tests/test-getopt.h (OPTIND_MIN): ...here.
37017         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37018         Require that optind=0 works, since modern BSD supports it in
37019         addition to optreset, and since coreutils expects it.
37020         (test_getopt_long_only): New test.
37021         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37022         glibc shortcomings with 'W;', and enforcement of optind=0.
37023         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37024         Likewise.
37025
37026 2009-12-21  Bruno Haible  <bruno@clisp.org>
37027
37028         localename: Improvements for MacOS X and Cygwin.
37029         * lib/localename.h (gl_locale_name_environ): New declaration.
37030         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37031         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37032         (gl_locale_name_posix): Invoke it.
37033         (gl_locale_name_default): Add comments. Use Windows native API also on
37034         Cygwin.
37035
37036 2009-12-21  Bruno Haible  <bruno@clisp.org>
37037
37038         Update list of Win32 locale ids.
37039         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37040         (LANG_SAMI): Renamed from LANG_SAAMI.
37041         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37042         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37043         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37044         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37045         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37046         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37047         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37048         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37049         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37050         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37051         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37052         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37053         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37054         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37055         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37056         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37057         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37058         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37059         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37060         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37061         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37062         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37063         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37064         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37065         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37066         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37067         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37068         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37069         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37070         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37071         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37072         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37073         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37074         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37075         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37076         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37077         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37078         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37079         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37080         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37081         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37082         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37083         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37084         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37085         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37086         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37087         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37088         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37089         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37090         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37091         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37092         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37093         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37094         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37095         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37096         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37097         Add more languages and countries for Sami, Sorbian. Add more countries
37098         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37099         for Pashto. Change country for Syriac, Tswana.
37100
37101 2009-12-21  Eric Blake  <ebb9@byu.net>
37102
37103         test-utimens: avoid spurious failure
37104         * tests/test-chown.h (nap): Factor...
37105         * tests/nap.h: ...into new file.
37106         * tests/test-lchown.h (nap): Avoid duplication.
37107         * tests/test-utimens-common.h (nap): Use shared implementation,
37108         necessary on file systems with 1-second resolution.
37109         * modules/chown-tests (Files): Include new file.
37110         * modules/fdutimensat-tests (Files): Likewise.
37111         * modules/futimens-tests (Files): Likewise.
37112         * modules/lchown-tests (Files): Likewise.
37113         * modules/openat-tests (Files): Likewise.
37114         * modules/utimens-tests (Files): Likewise.
37115         * modules/utimensat-tests (Files): Likewise.
37116
37117 2009-12-19  Eric Blake  <ebb9@byu.net>
37118
37119         futimens, utimensat: work around Linux bug
37120         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37121         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37122         * lib/utimensat.c (rpl_utimensat): Work around it.
37123         * lib/futimens.c (rpl_futimens): Adjust comment.
37124
37125         utimens: work around Linux ctime bug
37126         * lib/utimens.c (detect_ctime_bug): New helper function.
37127         (update_timespec): Differentiate between workaround needed for
37128         this bug vs. what is needed for systems that lack utimensat.
37129         (fdutimens, lutimens): Work around bug.
37130
37131         utimens: check for ctime update
37132         * tests/test-utimens-common.h (check_ctime): Define.
37133         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37134         * tests/test-futimens.h (test_futimens): Likewise.
37135         * tests/test-lutimens.h (test_lutimens): Likewise.
37136         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37137         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37138
37139 2009-12-19  Bruno Haible  <bruno@clisp.org>
37140
37141         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37142         * tests/test-dprintf-posix2.sh: New file.
37143         * tests/test-dprintf-posix2.c: New file.
37144         * modules/dprintf-posix-tests (Files): Add them.
37145         (configure.ac): Check for getrlimit and setrlimit.
37146         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37147
37148 2009-12-19  Bruno Haible  <bruno@clisp.org>
37149
37150         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37151         * tests/test-fprintf-posix3.sh: New file.
37152         * tests/test-fprintf-posix3.c: New file.
37153         * modules/fprintf-posix-tests (Files): Add them.
37154         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37155
37156 2009-12-19  Eric Blake  <ebb9@byu.net>
37157
37158         dirfd: fix prototype
37159         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37160         * lib/dirfd.c (dirfd): Likewise.
37161
37162         canonicalize: reduce memory usage
37163         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37164         allocation to size.
37165         Reported by Solar Designer <solar@openwall.com>.
37166
37167 2009-12-19  Bruno Haible  <bruno@clisp.org>
37168
37169         New module attribute 'Applicability'.
37170         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37171         * gnulib-tool: New option --extract-applicability.
37172         (func_usage): Document it.
37173         (sed_extract_prog): Recognize it.
37174         (func_get_applicability): New function.
37175         (func_import): Generalize handling of 'link-warning' module.
37176         * modules/link-warning (Applicability): New section.
37177         * modules/arg-nonnull (Applicability): New section.
37178         Repoted by Simon Josefsson <simon@josefsson.org>.
37179
37180 2009-12-19  Bruno Haible  <bruno@clisp.org>
37181
37182         fflush: tweak
37183         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37184         * lib/fseeko.c (rpl_fseeko): Likewise.
37185
37186 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37187
37188         * lib/gl_list.h: Fix typo in comment.
37189
37190 2009-12-16  Eric Blake  <ebb9@byu.net>
37191
37192         fcntl: use to simplify other modules
37193         * modules/cloexec (Depends-on): Add fcntl.
37194         * modules/fchdir (Depends-on): Likewise.
37195         * modules/fd-safer-flag (Depends-on): Likewise.
37196         * modules/unistd-safer (Depends-on): Likewise.
37197         * modules/dup3 (configure.ac): Set module indicator.
37198         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37199         missing.
37200         * lib/fchdir.c (_gl_register_dup): Fix comment.
37201         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37202         * lib/dup-safer.c (dup_safer): Likewise.
37203         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37204         * lib/dup3.c (dup3): Likewise.
37205         * tests/test-fchdir.c (main): Enhance test.
37206         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37207
37208         fcntl: port portions of fcntl to mingw
37209         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37210         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37211         replacement for mingw.
37212         * modules/fcntl (Description): Update.
37213         (Depends-on): Add dup2.
37214         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37215         * modules/fcntl-h (Makefile.am): Substitute it.
37216         * lib/fcntl.in.h (fcntl): Update declaration.
37217         (F_DUPFD, F_GETFD): New macros, when needed.
37218         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37219         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37220         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37221         we now guarantee.
37222
37223         fcntl: work around cygwin bug in F_DUPFD
37224         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37225         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37226         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37227         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37228         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37229
37230         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37231         * modules/fcntl (Files): List new files.
37232         (configure.ac): Run a test.
37233         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37234         * lib/fcntl.c (rpl_fcntl): Likewise.
37235         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37236         (gl_FCNTL_H): Always replace fcntl.h.
37237         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37238         * lib/fcntl.in.h (fcntl): Declare replacement.
37239         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37240         needed, plus a witness.
37241         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37242         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37243         * tests/test-fcntl.c: New file.
37244         * modules/fcntl-tests: Likewise.
37245
37246         binary-io: avoid potential compilation warning
37247         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37248         directives.
37249
37250         fflush: avoid compilation error on NetBSD
37251         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37252         between off_t and fpos_t, since the latter is sometimes a struct.
37253         * lib/fseeko.c (rpl_fseeko): Likewise.
37254         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37255
37256 2009-12-15  Eric Blake  <ebb9@byu.net>
37257
37258         fcntl-h, stdio, sys_ioctl: fix declarations
37259         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37260         function must not take arguments.
37261         * lib/sys_ioctl.in.h (ioctl): Likewise.
37262         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37263         (open): Add a link warning.
37264
37265 2009-12-15  Jim Meyering  <meyering@redhat.com>
37266
37267         areadlink, areadlink-with-size: relax license to LGPLv2+
37268         * modules/areadlink (License): Relax to LGPLv2+.
37269         * modules/areadlink-with-size (License): Likewise.
37270
37271 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37272             Bruno Haible  <bruno@clisp.org>
37273
37274         *printf: Fix memory leak.
37275         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37276         * lib/vfprintf.c (vfprintf): Likewise.
37277         * lib/dprintf.c (dprintf): Likewise.
37278         * lib/vdprintf.c (vdprintf): Likewise.
37279
37280 2009-12-14  Eric Blake  <ebb9@byu.net>
37281
37282         accept4: adjust module dependencies
37283         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37284
37285         utimens: one more try at avoiding compiler warning
37286         * lib/utimens.c (lutimens): Lower scope of result.
37287
37288 2009-12-13  Bruno Haible  <bruno@clisp.org>
37289
37290         Move the malloc checking from module 'list' to new module 'xlist'.
37291         * modules/xlist: New file.
37292         * lib/gl_xlist.h: New file.
37293         * lib/gl_xlist.c: New file.
37294         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37295         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37296         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37297         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37298         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37299         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37300         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37301         gl_sortedlist_nx_add): New declarations.
37302         (struct gl_list_implementation): Rename and change methods accordingly.
37303         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37304         (gl_list_nx_create): Renamed from gl_list_create.
37305         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37306         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37307         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37308         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37309         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37310         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37311         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37312         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37313         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37314         gl_list_create_empty.
37315         (gl_list_nx_create): Renamed from gl_list_create.
37316         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37317         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37318         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37319         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37320         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37321         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37322         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37323         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37324         * lib/gl_array_list.c: Don't include xalloc.h.
37325         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37326         NULL upon out-of-memory.
37327         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37328         out-of-memory.
37329         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37330         Change return type to 'int'.
37331         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37332         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37333         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37334         upon out-of-memory.
37335         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37336         upon out-of-memory.
37337         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37338         upon out-of-memory.
37339         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37340         upon out-of-memory.
37341         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37342         out-of-memory.
37343         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37344         Update.
37345         (gl_array_list_implementation): Update.
37346         * lib/gl_carray_list.c: Don't include xalloc.h.
37347         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37348         Return NULL upon out-of-memory.
37349         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37350         out-of-memory.
37351         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37352         Change return type to 'int'.
37353         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37354         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37355         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37356         upon out-of-memory.
37357         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37358         upon out-of-memory.
37359         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37360         out-of-memory.
37361         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37362         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37363         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37364         Update.
37365         (gl_carray_list_implementation): Update.
37366         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37367         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37368         gl_linked_create_empty. Return NULL upon out-of-memory.
37369         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37370         out-of-memory.
37371         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37372         Change return type to 'int'. Return -1 upon out-of-memory.
37373         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37374         out-of-memory.
37375         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37376         upon out-of-memory.
37377         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37378         upon out-of-memory.
37379         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37380         NULL upon out-of-memory.
37381         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37382         upon out-of-memory.
37383         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37384         out-of-memory.
37385         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37386         Update.
37387         * lib/gl_linked_list.c: Don't include xalloc.h.
37388         (gl_linked_list_implementation): Update.
37389         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37390         (add_to_bucket): Change return type to 'int'.
37391         (gl_linkedhash_list_implementation): Update.
37392         * lib/gl_anytree_list1.h (free_subtree): New function.
37393         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
37394         gl_tree_create_empty. Return NULL upon out-of-memory.
37395         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
37396         Change return type to 'int'. Return -1 upon out-of-memory.
37397         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
37398         out-of-memory.
37399         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
37400         (gl_tree_remove_node): New function, moved here from
37401         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
37402         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
37403         Update.
37404         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
37405         malloc, not xmalloc. Return NULL upon out-of-memory.
37406         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37407         out-of-memory.
37408         (gl_tree_remove_node_from_tree): New function, extracted from
37409         gl_tree_remove_node.
37410         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37411         upon out-of-memory.
37412         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37413         out-of-memory.
37414         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37415         upon out-of-memory.
37416         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37417         upon out-of-memory.
37418         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37419         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
37420         not xmalloc. Return NULL upon out-of-memory.
37421         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37422         out-of-memory.
37423         (gl_tree_remove_node_from_tree): New function, extracted from
37424         gl_tree_remove_node.
37425         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37426         upon out-of-memory.
37427         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37428         out-of-memory.
37429         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37430         upon out-of-memory.
37431         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37432         upon out-of-memory.
37433         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37434         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
37435         gl_anytree_list1.h before gl_anyavltree_list2.h.
37436         (gl_avltree_list_implementation): Update.
37437         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
37438         gl_anytree_list1.h before gl_anyavltree_list2.h.
37439         (gl_rbtree_list_implementation): Update.
37440         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
37441         Change return type to 'int'. Return -1 upon out-of-memory. Use
37442         __builtin_expect.
37443         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
37444         (gl_avltreehash_list_implementation): Update.
37445         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
37446         (gl_rbtreehash_list_implementation): Update.
37447         * modules/array-list (Depends-on): Remove xalloc.
37448         * modules/carray-list (Depends-on): Likewise.
37449         * modules/linked-list (Depends-on): Likewise.
37450         * modules/linkedhash-list (Depends-on): Likewise.
37451         * modules/avltree-list (Depends-on): Likewise.
37452         * modules/rbtree-list (Depends-on): Likewise.
37453         * modules/avltreehash-list (Depends-on): Likewise.
37454         * modules/rbtreehash-list (Depends-on): Likewise.
37455
37456         * modules/xsublist: New file.
37457         * lib/gl_xsublist.h: New file.
37458         * lib/gl_xsublist.c: New file.
37459         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
37460         (gl_sublist_nx_create): New declaration.
37461         * lib/gl_sublist.c: Don't include xalloc.h.
37462         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
37463         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
37464         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
37465         Change return type to 'int'. Return -1 upon out-of-memory.
37466         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
37467         upon out-of-memory.
37468         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
37469         NULL upon out-of-memory.
37470         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
37471         upon out-of-memory.
37472         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
37473         NULL upon out-of-memory.
37474         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
37475         NULL upon out-of-memory.
37476         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
37477         upon out-of-memory.
37478         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
37479         (gl_sublist_list_implementation): Update.
37480         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
37481         upon out-of-memory.
37482         * modules/sublist (Depends-on): Remove xalloc.
37483
37484         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
37485         * tests/test-carray_list.c: Likewise.
37486         * tests/test-linked_list.c: Likewise.
37487         * tests/test-linkedhash_list.c: Likewise.
37488         * tests/test-avltree_list.c: Likewise.
37489         * tests/test-rbtree_list.c: Likewise.
37490         * tests/test-avltreehash_list.c: Likewise.
37491         * tests/test-rbtreehash_list.c: Likewise.
37492         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
37493         * modules/carray-list-tests (Makefile.am): Likewise.
37494         * modules/linked-list-tests (Makefile.am): Likewise.
37495         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37496         * modules/avltree-list-tests (Makefile.am): Likewise.
37497         * modules/rbtree-list-tests (Makefile.am): Likewise.
37498         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37499         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37500
37501         * NEWS: Mention the changes.
37502
37503         * lib/clean-temp.c: Include gl_xlist.h.
37504         * modules/clean-temp (Depends-on): Add xlist.
37505
37506         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
37507         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
37508
37509         * tests/test-array_oset.c: Include gl_xlist.h.
37510         * modules/array-oset-tests (Depends-on): Add xlist.
37511
37512         Reported by José E. Marchesi <jemarch@gnu.org>.
37513
37514 2009-12-13  Bruno Haible  <bruno@clisp.org>
37515
37516         Move the malloc checking from module 'oset' to new module 'xoset'.
37517         * modules/xoset: New file.
37518         * lib/gl_xoset.h: New file.
37519         * lib/gl_xoset.c: New file.
37520         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
37521         declarations.
37522         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
37523         (struct gl_oset_implementation): Rename and change methods accordingly.
37524         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
37525         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37526         'int'. Mark as __warn_unused_result__.
37527         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
37528         gl_oset_create_empty.
37529         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37530         'int'.
37531         * lib/gl_array_oset.c: Don't include xalloc.h.
37532         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37533         malloc, not xmalloc.
37534         (grow): Change return type to 'int'. Don't call xalloc_die.
37535         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37536         to 'int'.
37537         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37538         'int'.
37539         (gl_array_oset_implementation): Update.
37540         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37541         gl_tree_create_empty.
37542         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37543         'int'.
37544         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37545         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37546         xmalloc.
37547         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37548         not xmalloc.
37549         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37550         xmalloc.
37551         (gl_avltree_oset_implementation): Update.
37552         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37553         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37554         xmalloc.
37555         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37556         not xmalloc.
37557         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37558         xmalloc.
37559         (gl_rbtree_oset_implementation): Update.
37560         * modules/array-oset (Depends-on): Remove xalloc.
37561         * modules/avltree-oset (Depends-on): Likewise.
37562         * modules/rbtree-oset (Depends-on): Likewise.
37563         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37564         * tests/test-avltree_oset.c: Likewise.
37565         * tests/test-rbtree_oset.c: Likewise.
37566         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37567         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37568         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37569         * NEWS: Mention the change.
37570
37571 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37572
37573         maint.mk: allow a project to override release-prep commands
37574         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37575         commands into a new rule.
37576         (release-prep): New rule.
37577         (release-prep-hook): New overridable variable.
37578
37579 2009-12-13  Bruno Haible  <bruno@clisp.org>
37580
37581         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37582
37583 2009-12-13  Jim Meyering  <meyering@redhat.com>
37584
37585         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37586         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37587
37588 2009-12-12  Bruno Haible  <bruno@clisp.org>
37589
37590         duplocale: Tweak.
37591         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37592
37593 2009-12-12  Karl Berry  <karl@gnu.org>
37594
37595         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37596
37597 2009-12-12  Bruno Haible  <bruno@clisp.org>
37598
37599         * m4/po.m4: Undo incorrect untabification.
37600
37601 2009-12-12  Bruno Haible  <bruno@clisp.org>
37602
37603         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37604         * modules/c-strtod (Depends-on): Add locale.
37605         * modules/c-strtold (Depends-on): Likewise.
37606
37607 2009-12-12  Bruno Haible  <bruno@clisp.org>
37608
37609         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37610
37611 2009-12-11  Eric Blake  <ebb9@byu.net>
37612
37613         setenv: relax requirement in light of POSIX ruling
37614         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37615         not NULL.
37616         * tests/test-setenv.c (main): Relax test.
37617         * tests/test-unsetenv.c (main): Likewise.
37618         * doc/posix-functions/setenv.texi (setenv): Document this.
37619         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37620
37621 2009-12-11  Bruno Haible  <bruno@clisp.org>
37622
37623         New module 'fd-safer-flag'.
37624         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37625         * lib/dup-safer.c (dup_safer_flag): Remove function.
37626         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37627         * lib/fd-safer.c (fd_safer_flag): Remove function.
37628         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37629         * modules/cloexec (configure.ac): Drop indicator macro.
37630         * modules/fd-safer-flag: New file.
37631         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37632         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37633         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37634
37635 2009-12-11  Bruno Haible  <bruno@clisp.org>
37636
37637         Tests for module 'nl_langinfo'.
37638         * modules/nl_langinfo-tests: New file.
37639         * tests/test-nl_langinfo.sh: New file.
37640         * tests/test-nl_langinfo.c: New file.
37641
37642         New module 'nl_langinfo'.
37643         * lib/nl_langinfo.c: New file.
37644         * m4/nl_langinfo.m4: New file.
37645         * modules/nl_langinfo: New file.
37646         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37647
37648 2009-12-11  Bruno Haible  <bruno@clisp.org>
37649
37650         Tests for module 'langinfo'.
37651         * modules/langinfo-tests: New file.
37652         * tests/test-langinfo.c: New file.
37653
37654         New module 'langinfo'.
37655         * lib/langinfo.in.h: New file.
37656         * m4/langinfo_h.m4: New file.
37657         * modules/langinfo: New file.
37658         * doc/posix-headers/langinfo.texi: Mention the new module.
37659
37660 2009-12-11  Bruno Haible  <bruno@clisp.org>
37661
37662         * lib/config.charset: Untabify.
37663
37664 2009-12-11  Bruno Haible  <bruno@clisp.org>
37665
37666         * modules/unistd-safer (configure.ac): Drop indicator macro.
37667
37668 2009-12-11  Bruno Haible  <bruno@clisp.org>
37669
37670         Move pipe2-safer code to its own file.
37671         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37672         * lib/pipe-safer.c (pipe2_safer): Remove function.
37673         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37674         (Makefile.am): Add it to lib_SOURCES.
37675
37676 2009-12-10  Bruno Haible  <bruno@clisp.org>
37677
37678         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37679
37680 2009-12-10  Bruno Haible  <bruno@clisp.org>
37681
37682         Declare which arguments expect non-NULL values, for GCC and clang.
37683         * build-aux/arg-nonnull.h: New file.
37684         * modules/arg-nonnull: New file.
37685         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37686         (inet_ntop, inet_pton): Use it.
37687         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37688         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37689         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37690         (open, openat): Use it.
37691         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37692         (fnmatch): Use it.
37693         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37694         (getopt, getopt_long, getopt_long_only): Use it.
37695         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37696         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37697         Use it.
37698         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37699         (iconv_open): Use it.
37700         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37701         (strtoimax, strtoumax): Use it.
37702         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37703         (duplocale): Use it.
37704         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37705         (frexp, frexpl): Use it.
37706         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37707         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37708         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37709         (tsearch, tfind, tdelete, twalk): Use it.
37710         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37711         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37712         sigpending): Use it.
37713         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37714         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37715         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37716         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37717         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37718         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37719         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37720         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37721         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37722         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37723         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37724         Use it.
37725         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37726         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37727         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37728         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37729         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37730         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37731         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37732         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37733         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37734         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37735         strtoull, unsetenv): Use it.
37736         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37737         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37738         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37739         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37740         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37741         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37742         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37743         (strcasecmp, strncasecmp): Use it.
37744         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37745         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37746         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37747         rpl_setsockopt): Use it.
37748         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37749         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37750         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37751         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37752         (gettimeofday): Use it.
37753         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37754         (times): Use it.
37755         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37756         (uname): Use it.
37757         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37758         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37759         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37760         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37761         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37762         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37763         unlinkat, write): Use it.
37764         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37765         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37766         * lib/argv-iter.h: Include arg-nonnull.h.
37767         (_ATTRIBUTE_NONNULL_): Remove macro.
37768         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37769         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37770         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37771         optimization.
37772         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37773         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37774         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37775         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37776         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37777         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37778         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37779         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37780         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37781         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37782         * modules/dirent (Depends-on): Add arg-nonnull.
37783         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37784         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37785         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37786         * modules/fnmatch (Depends-on): Add arg-nonnull.
37787         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37788         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37789         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37790         * modules/glob (Depends-on): Add arg-nonnull.
37791         (Makefile.am): Insert arg-nonnull.h into glob.h.
37792         * modules/iconv_open (Depends-on): Add arg-nonnull.
37793         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37794         * modules/inttypes (Depends-on): Add arg-nonnull.
37795         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37796         * modules/locale (Depends-on): Add arg-nonnull.
37797         (Makefile.am): Insert arg-nonnull.h into locale.h.
37798         * modules/math (Depends-on): Add arg-nonnull.
37799         (Makefile.am): Insert arg-nonnull.h into math.h.
37800         * modules/netdb (Depends-on): Add arg-nonnull.
37801         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37802         * modules/search (Depends-on): Add arg-nonnull.
37803         (Makefile.am): Insert arg-nonnull.h into search.h.
37804         * modules/signal (Depends-on): Add arg-nonnull.
37805         (Makefile.am): Insert arg-nonnull.h into signal.h.
37806         * modules/spawn (Depends-on): Add arg-nonnull.
37807         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37808         * modules/stdio (Depends-on): Add arg-nonnull.
37809         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37810         * modules/stdlib (Depends-on): Add arg-nonnull.
37811         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37812         * modules/string (Depends-on): Add arg-nonnull.
37813         (Makefile.am): Insert arg-nonnull.h into string.h.
37814         * modules/strings (Depends-on): Add arg-nonnull.
37815         (Makefile.am): Insert arg-nonnull.h into strings.h.
37816         * modules/sys_socket (Depends-on): Add arg-nonnull.
37817         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37818         * modules/sys_stat (Depends-on): Add arg-nonnull.
37819         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37820         * modules/sys_time (Depends-on): Add arg-nonnull.
37821         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37822         * modules/sys_times (Depends-on): Add arg-nonnull.
37823         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37824         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37825         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37826         * modules/time (Depends-on): Add arg-nonnull.
37827         (Makefile.am): Insert arg-nonnull.h into time.h.
37828         * modules/unistd (Depends-on): Add arg-nonnull.
37829         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37830         * modules/wchar (Depends-on): Add arg-nonnull.
37831         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37832         * modules/argv-iter (Depends-on): Add arg-nonnull.
37833         * tests/test-canonicalize.c (null_ptr): New function.
37834         (main): Use it.
37835         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37836         (main): Use it.
37837         * tests/test-memmem.c (null_ptr): New function.
37838         (main): Use it.
37839         Reported by Jim Meyering.
37840
37841 2009-12-10  Bruno Haible  <bruno@clisp.org>
37842
37843         Use spaces for indentation, not tabs.
37844         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37845         * m4/*.m4: Untabify.
37846         * build-aux/*.h: Untabify.
37847         * tests/**/*.[hc]: Untabify.
37848         * README: New section "Indent with spaces, not TABs", based on
37849         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37850         * NEWS: Mention the change.
37851
37852 2009-12-10  Bruno Haible  <bruno@clisp.org>
37853
37854         pty test: Fix link error.
37855         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37856         test_pty_LDADD.
37857
37858 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37859
37860         * modules/pty: New file.
37861         * modules/pty-tests: New file.
37862         * m4/pty.m4: New file.
37863         * tests/test-pty.c: New file.
37864         * doc/glibc-headers/pty.texi: Modified.
37865         * doc/glibc-functions/forkpty.texi: Modified.
37866         * doc/glibc-functions/openpty.texi: Modified.
37867
37868 2009-12-10  Bruno Haible  <bruno@clisp.org>
37869
37870         Avoid syntax error in C++ mode.
37871         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37872
37873 2009-12-10  Bruno Haible  <bruno@clisp.org>
37874
37875         Use sed with option -e.
37876         * gnulib-tool (func_version, func_emit_copyright_notice,
37877         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37878         option -e to sed.
37879         * modules/link-warning (Makefile.am): Likewise.
37880
37881 2009-12-10  Jim Meyering  <meyering@redhat.com>
37882
37883         mgetgroups: do not write bytes beyond end of malloc'd buffer
37884         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37885         username, we call getgroups with a one-element-shorter buffer,
37886         but still told it the length was original, max_n_groups.
37887
37888 2009-12-09  Eric Blake  <ebb9@byu.net>
37889
37890         cloexec: relax license
37891         * modules/cloexec (Maintainer): Add myself.
37892         (License): Use LGPL, not GPL.
37893
37894         link-warning: optimize generation
37895         * modules/link-warning (Makefile.am): Reduce process usage.
37896
37897 2009-12-09  Bruno Haible  <bruno@clisp.org>
37898
37899         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37900         workaround was added on 2009-11-17.
37901
37902 2009-12-09  Jim Meyering  <meyering@redhat.com>
37903             Bruno Haible  <bruno@clisp.org>
37904
37905         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
37906         * modules/link-warning (Makefile.am): Make the comment-removing sed
37907         command more robust in the face of bootstrap-prepended comment lines.
37908
37909 2009-12-09  Bruno Haible  <bruno@clisp.org>
37910
37911         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
37912         most one group.
37913
37914 2009-12-09  Simon Josefsson <simon@josefsson.org>
37915             Bruno Haible  <bruno@clisp.org>
37916
37917         * build-aux/link-warning.h: Add copyright notice.
37918         * modules/link-warning (Makefile.am): Generate link-warning.h from
37919         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
37920         * NEWS: Mention change in link-warning module.
37921         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
37922         * modules/dirent (Makefile.am): Add dependency to dirent.h.
37923         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
37924         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
37925         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
37926         * modules/math (Makefile.am): Add dependency to math.h.
37927         * modules/search (Makefile.am): Add dependency to search.h.
37928         * modules/signal (Makefile.am): Add dependency to signal.h.
37929         * modules/spawn (Makefile.am): Add dependency to spawn.h.
37930         * modules/stdio (Makefile.am): Add dependency to stdio.h.
37931         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
37932         * modules/string (Makefile.am): Add dependency to string.h.
37933         * modules/strings (Makefile.am): Add dependency to strings.h.
37934         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
37935         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
37936         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
37937         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
37938         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
37939         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
37940         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
37941         * modules/unistd (Makefile.am): Add dependency to unistd.h.
37942         * modules/wchar (Makefile.am): Add dependency to wchar.h.
37943
37944 2009-12-09  Bruno Haible  <bruno@clisp.org>
37945
37946         fchdir: Optimize away rpl_fstat when possible.
37947         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
37948         REPLACE_OPEN_DIRECTORY.
37949         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
37950
37951 2009-12-09  Bruno Haible  <bruno@clisp.org>
37952
37953         * lib/fchdir.c: Update comment.
37954
37955 2009-12-09  Bruno Haible  <bruno@clisp.org>
37956
37957         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
37958
37959 2009-12-08  Eric Blake  <ebb9@byu.net>
37960
37961         fchdir: avoid memory leak on re-registration.
37962         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
37963
37964 2009-12-08  Jim Meyering  <meyering@redhat.com>
37965
37966         init.sh: avoid Solaris 10 /bin/sh portability problem
37967         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
37968         sourced script:
37969           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
37970           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
37971           bar
37972         tests/init.sh relied on that, accepting a --set-path=DIR argument,
37973         and two tests used that idiom.
37974         * tests/init.sh: Update suggested usage comments.
37975         (path_prepend_): New function, to be used in place
37976         of the --src-path=DIR option.
37977         (setup_): Move PATH-prepending code into path_prepend_.
37978         * tests/test-pread.sh: Adapt to new usage.
37979         * tests/test-xalloc-die.sh: Likewise.
37980
37981 2009-12-08  Simon Josefsson  <simon@josefsson.org>
37982
37983         * doc/gnulib.texi (Glibc pty.h): Add.
37984         * doc/glibc-functions/forkpty.texi: Add.
37985         * doc/glibc-functions/openpty.texi: Add.
37986         Suggested by Bruno Haible.
37987
37988 2009-12-08  Eric Blake  <ebb9@byu.net>
37989
37990         fchdir: fix logic bugs
37991         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
37992         * tests/test-fchdir.c (main): Enhance test.
37993         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
37994         is in use.
37995
37996         dup2: fix logic bugs
37997         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
37998         REPLACE_DUP2 to decide when rpl_dup2 is needed.
37999         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38000         exists.
38001         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38002
38003 2009-12-07  Eric Blake  <ebb9@byu.net>
38004
38005         unlink: fix m4 detection
38006         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38007
38008         unistd-safer: add unit test
38009         * modules/unistd-safer-tests: New file.
38010         * tests/test-dup-safer.c: Likewise.
38011         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38012         * tests/test-dup2.c (setmode): Likewise.
38013         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38014
38015         cloexec: preserve text vs. binary across dup_cloexec
38016         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38017         mode.
38018         * modules/dup2-tests (Depends-on): Add binary-io.
38019         * modules/cloexec-tests (Depends-on): Likewise.
38020         * tests/test-dup2.c (setmode, is_mode): New helpers.
38021         (main): Add tests that translation mode is preserved.
38022         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38023         Reported by Bruno Haible.
38024
38025         mgetgroups: reduce duplicate listings
38026         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38027         resulting array.
38028         * tests/test-chown.h (test_chown): Simplify client.
38029         * tests/test-lchown.h (test_lchown): Likewise.
38030
38031 2009-12-06  Bruno Haible  <bruno@clisp.org>
38032
38033         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38034         value.
38035
38036 2009-12-06  Bruno Haible  <bruno@clisp.org>
38037
38038         * lib/progname.c: Include stdio.h, stdlib.h.
38039         (set_program_name): Reject a NULL argument.
38040
38041 2009-12-05  Eric Blake  <ebb9@byu.net>
38042
38043         pipe2-safer: new module
38044         * modules/pipe2-safer: New file.
38045         * lib/unistd-safer.h (pipe2_safer): New prototype.
38046         * lib/unistd--.h (pipe2): New wrapper.
38047         * lib/pipe-safer.c (pipe2_safer): New function.
38048         * modules/pipe (Depends-on): Add pipe2-safer.
38049         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38050
38051         stdlib-safer: preserve cloexec flag for mkostemp[s]
38052         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38053         fd_safer_flag.
38054
38055         unistd-safer: allow preservation of cloexec status via flag
38056         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38057         prototypes.
38058         * lib/dup-safer.c (dup_safer_flag): New function.
38059         * lib/fd-safer.c (fd_safer_flag): Likewise.
38060         * modules/cloexec (configure.ac): Set witness.
38061
38062         test-dup2: enhance test
38063         * modules/dup2-tests (Depends-on): Add cloexec.
38064         * tests/test-dup2.c (main): Enhance test.
38065
38066         cloexec: add dup_cloexec
38067         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38068         header and comments.
38069         * lib/cloexec.c (set_cloexec_flag): Add comments.
38070         (dup_cloexec): New function, with mingw implementation borrowed
38071         from...
38072         * lib/w32spawn.h (dup_noinherit): ...here.
38073         * modules/execute (Depends-on): Add cloexec.
38074         * modules/pipe (Depends-on): Likewise.
38075         * modules/cloexec (Depends-on): Add dup2.
38076         * modules/cloexec-tests (Files): New file.
38077         * tests/test-cloexec.c: Likewise.
38078
38079         test-xalloc-die: fix test for mingw
38080         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38081         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38082         directory and .exe suffix off argv[0] output.
38083
38084         test-fseeko: fix test for mingw
38085         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38086         than undefining fseek, so test will pass on mingw.
38087
38088 2009-12-05  Bruno Haible  <bruno@clisp.org>
38089
38090         * lib/progname.h (set_program_name): Clarify specification.
38091         * lib/progname.c (set_program_name): Likewise.
38092         Reported by Jim Meyering.
38093
38094 2009-12-05  Jim Meyering  <meyering@redhat.com>
38095
38096         maint.mk: backslash-escape parens in default regexp
38097         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38098         backslash-escape the literal parentheses.
38099
38100         maint.mk: news-date-check: use grep -E
38101         * top/maint.mk (today): Define a Make variable, not a...
38102         (news-date-check): ...shell variable.
38103         (news-date-regexp): Use the Make variable.
38104         Use grep's -E option.  Change the failing diagnostic to mention
38105         the variable, $(news-date-regexp).
38106
38107 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38108
38109         maintainer-makefile: allow customization of NEWS entry format
38110         * top/maint.mk (news-date-regexp): New overridable variable.
38111         (news-date-check): Use it.
38112
38113 2009-12-04  Eric Blake  <ebb9@byu.net>
38114
38115         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38116         * lib/mgetgroups.h (xgetgroups): New prototype.
38117         * lib/mgetgroups.c (xgetgroups): New wrapper.
38118         (mgetgroups): Handle ENOSYS.
38119         * modules/mgetgroups (Depends-on): Add realloc.
38120         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38121
38122         mgetgroups: avoid argument promotion issues with -1
38123         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38124         for invalid gid_t.
38125         * tests/test-chown.h (getegid, test_chown): Likewise.
38126         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38127
38128 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38129
38130         exclude: Fix header file problems.
38131         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38132
38133 2009-12-01  Jim Meyering  <meyering@redhat.com>
38134
38135         fts: fts_open: do not let an empty string cause immediate failure
38136         This is required in support of GNU rm, for which the command
38137         "rm A '' B" must process and remove both A and B, in spite of
38138         the empty string argument.
38139         * lib/fts.c (fts_open): Do not let the presence of an empty string
38140         cause fts_open to fail immediately.  Most fts-using tools must be
38141         able to process all arguments, in order, and can be expected to
38142         diagnose such arguments themselves.
38143
38144 2009-11-30  Eric Blake  <ebb9@byu.net>
38145
38146         utimens: fix compilation error
38147         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38148         Declare variable at right scope.
38149
38150 2009-11-29  Jim Meyering  <meyering@redhat.com>
38151
38152         bootstrap: handle perl-5.11's changed --version output
38153         * build-aux/bootstrap (get_version): Handle perl separately,
38154         since perl-5.11's --version output is different.
38155
38156 2009-11-28  Jim Meyering  <meyering@redhat.com>
38157
38158         userspec: depend on the inttostr module, too
38159         * modules/userspec (Depends-on): Add inttostr.
38160
38161         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38162         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38163         number of MAXUID when it evaluates to (uid_t) -1.
38164         Likewise for group ID.  Reported by Matt McCutchen in
38165         <http://savannah.gnu.org/bugs/?28113>
38166
38167         userspec: reformat to use spaces, not TABs
38168         * lib/userspec.c: Expand TABs to spaces.
38169         Add Emacs' "indent-tabs-mode: nil" hint.
38170
38171 2009-11-27  Eric Blake  <ebb9@byu.net>
38172
38173         getopt-gnu: flush out another BSD bug
38174         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38175         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38176         flush out BSD bug.
38177         * tests/test-getopt.h (test_getopt): End lists with NULL.
38178         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38179         (test_getopt_long_posix): Enhance test.
38180         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38181         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38182         getopt-gnu.
38183         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38184         Likewise.
38185
38186 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38187
38188         * modules/idpriv-droptemp-tests (Notice): Fix text.
38189
38190 2009-11-27  Jim Meyering  <meyering@redhat.com>
38191
38192         test-xalloc-die: avoid spurious failure due to libtool argv difference
38193         In a libtool-enabled project, this test would fail due to a difference
38194         in the emitted program name, e.g.,
38195         -test-xalloc-die: memory exhausted
38196         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38197         Use program to avoid that.
38198         * modules/xalloc-die-tests (Depends-on): Add progname.
38199         * tests/test-xalloc-die.c: Include progname.h".
38200         (program_name): Remove decl.
38201         (main): Call set_program_name.
38202         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38203
38204 2009-11-26  Richard Jones  <rjones@redhat.com>
38205
38206         w32sock: leave win32 error in place.
38207         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38208
38209 2009-11-26  Eric Blake  <ebb9@byu.net>
38210
38211         init.sh: suggest to use skip_ and fail_ functions in comments
38212         * tests/init.sh: Add a sentence.
38213
38214 2009-11-25  Bruno Haible  <bruno@clisp.org>
38215
38216         init.sh: add documentation in comments
38217         * tests/init.sh: Add some developer and user documentation.
38218
38219 2009-11-26  Jim Meyering  <meyering@redhat.com>
38220
38221         init.sh: accommodate even those who specify bogus srcdir manually
38222         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38223         configure-time tests to be sanitized, so that there is no need to
38224         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38225         (with no double quotes) suffices.  However, since tests may be
38226         invoked manually, and since you may explicitly set srcdir to the
38227         name of a directory containing spaces, do quote its uses here.
38228         * tests/test-pread.sh: Likewise.
38229         Suggested by Bruno Haible.
38230
38231         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38232         * tests/test-pread.sh: Write no data into the pipe, because
38233         test-pread actually reads none.  This avoids a diagnostic,
38234         "bash: echo: write error: Broken pipe", that arises in the unusual
38235         event something is ignoring SIGPIPE, and might be interpreted
38236         as some sort of failure.  Reported by Bruno Haible.
38237
38238 2009-11-25  Jim Meyering  <meyering@redhat.com>
38239
38240         test-pread: cover failure with ESPIPE and EINVAL
38241         * tests/test-pread.c (main): Test for failure, too.
38242         * tests/test-pread.sh: Invoke with stdin on a pipe.
38243         Suggested by Eric Blake.
38244
38245         pread: improvement and fix
38246         * modules/pread (Depends-on): Depend on lseek, for portability to
38247         e.g., mingw.  Suggested by Eric Blake.
38248         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38249
38250         unistd.in.h: correct declaration of pread
38251         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38252         Reported by Richard W.M. Jones.
38253
38254         test-pread.sh: distribute the test script
38255         * modules/pread-tests (Files): Include test-pread.sh.
38256
38257         test-pread.sh: clean up
38258         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38259         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38260         That is unnecessary, since it's always ".".
38261         Suggestion from Eric Blake.
38262
38263         test-pread.sh: make executable
38264         * tests/test-pread.sh: Set executable bit.
38265         Reported by Eric Blake.
38266
38267         correct typo in test-pread.sh
38268         * tests/test-pread.sh: Add #! line.
38269
38270         test pread
38271         * tests/test-pread.c: New file.
38272         * tests/test-pread.sh: Likewise.
38273         * modules/pread-tests: Likewise.
38274
38275         pread: new module
38276         * modules/pread: New file.
38277         * lib/unistd.in.h (pread): Define/declare.
38278         * lib/pread.c (pread): New file.
38279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38280         * modules/unistd (Makefile.am): Substitute witnesses.
38281         * doc/posix-functions/pread.texi (pread): Update.
38282         * MODULES.html.sh: Add pread.
38283
38284 2009-11-25  Jim Meyering  <meyering@redhat.com>
38285
38286         tests/init.sh: new file to be used via most *.sh tests
38287         * tests/init.sh: New file.
38288
38289 2009-11-25  Eric Blake  <ebb9@byu.net>
38290
38291         utimens: work around older Linux failure with symlinks
38292         * lib/utimens.c (lutimensat_works_really): New variable.
38293         (fdutimens, lutimens): Use it to manage kernels that support
38294         nanosecond times on files, but not on symlinks.
38295         Reported by OndÅ™ej Vašík.
38296
38297         utimes: fix configure grammar
38298         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38299
38300 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38301
38302         regex: Fix fastmap for multibyte character ranges.
38303         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38304         characters when a multibyte character range is included.
38305
38306 2009-11-22  Andy Wingo  <wingo@pobox.com>
38307
38308         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38309         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38310
38311 2009-11-24  Bruno Haible  <bruno@clisp.org>
38312
38313         doc: Most *_l functions exist in MacOS X 10.5.
38314         * doc/posix-functions/duplocale.texi: Update platforms list.
38315         * doc/posix-functions/freelocale.texi: Likewise.
38316         * doc/posix-functions/newlocale.texi: Likewise.
38317         * doc/posix-functions/uselocale.texi: Likewise.
38318         * doc/posix-functions/isalnum_l.texi: Likewise.
38319         * doc/posix-functions/isalpha_l.texi: Likewise.
38320         * doc/posix-functions/isblank_l.texi: Likewise.
38321         * doc/posix-functions/iscntrl_l.texi: Likewise.
38322         * doc/posix-functions/isdigit_l.texi: Likewise.
38323         * doc/posix-functions/isgraph_l.texi: Likewise.
38324         * doc/posix-functions/islower_l.texi: Likewise.
38325         * doc/posix-functions/isprint_l.texi: Likewise.
38326         * doc/posix-functions/ispunct_l.texi: Likewise.
38327         * doc/posix-functions/isspace_l.texi: Likewise.
38328         * doc/posix-functions/isupper_l.texi: Likewise.
38329         * doc/posix-functions/iswalnum_l.texi: Likewise.
38330         * doc/posix-functions/iswalpha_l.texi: Likewise.
38331         * doc/posix-functions/iswblank_l.texi: Likewise.
38332         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38333         * doc/posix-functions/iswctype_l.texi: Likewise.
38334         * doc/posix-functions/iswdigit_l.texi: Likewise.
38335         * doc/posix-functions/iswgraph_l.texi: Likewise.
38336         * doc/posix-functions/iswlower_l.texi: Likewise.
38337         * doc/posix-functions/iswprint_l.texi: Likewise.
38338         * doc/posix-functions/iswpunct_l.texi: Likewise.
38339         * doc/posix-functions/iswspace_l.texi: Likewise.
38340         * doc/posix-functions/iswupper_l.texi: Likewise.
38341         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38342         * doc/posix-functions/isxdigit_l.texi: Likewise.
38343         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38344         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38345         * doc/posix-functions/strcoll_l.texi: Likewise.
38346         * doc/posix-functions/strfmon_l.texi: Likewise.
38347         * doc/posix-functions/strftime_l.texi: Likewise.
38348         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38349         * doc/posix-functions/strxfrm_l.texi: Likewise.
38350         * doc/posix-functions/tolower_l.texi: Likewise.
38351         * doc/posix-functions/toupper_l.texi: Likewise.
38352         * doc/posix-functions/towctrans_l.texi: Likewise.
38353         * doc/posix-functions/towlower_l.texi: Likewise.
38354         * doc/posix-functions/towupper_l.texi: Likewise.
38355         * doc/posix-functions/wcscoll_l.texi: Likewise.
38356         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38357         * doc/posix-functions/wctrans_l.texi: Likewise.
38358         * doc/posix-functions/wctype_l.texi: Likewise.
38359         * doc/glibc-functions/strptime_l.texi: Likewise.
38360         * doc/glibc-functions/strtod_l.texi: Likewise.
38361         * doc/glibc-functions/strtof_l.texi: Likewise.
38362         * doc/glibc-functions/strtol_l.texi: Likewise.
38363         * doc/glibc-functions/strtold_l.texi: Likewise.
38364         * doc/glibc-functions/strtoll_l.texi: Likewise.
38365         * doc/glibc-functions/strtoul_l.texi: Likewise.
38366         * doc/glibc-functions/strtoull_l.texi: Likewise.
38367         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38368         * doc/glibc-functions/wcstod_l.texi: Likewise.
38369         * doc/glibc-functions/wcstof_l.texi: Likewise.
38370         * doc/glibc-functions/wcstol_l.texi: Likewise.
38371         * doc/glibc-functions/wcstold_l.texi: Likewise.
38372         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38373         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38374         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38375
38376 2009-11-24  Bruno Haible  <bruno@clisp.org>
38377
38378         duplocale: Fix logic bug.
38379         * lib/duplocale.c: Don't include <langinfo.h>.
38380         (_NL_LOCALE_NAME): Remove macro.
38381         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38382         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38383
38384 2009-11-23  Jim Meyering  <meyering@redhat.com>
38385
38386         test-update-copyright: don't hard-code /usr/bin/perl
38387         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38388         perl to print the current year.  Gilles Espinasse reported that
38389         the replaced use of perl was hard-coded as /usr/bin/perl.
38390
38391 2009-11-23  Bruno Haible  <bruno@clisp.org>
38392
38393         duplocale: Add support for glibc 2.3.x.
38394         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
38395
38396 2009-11-22  Bruno Haible  <bruno@clisp.org>
38397
38398         vasnprintf: Tiny optimization.
38399         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
38400         MacOS X.
38401
38402 2009-11-22  Bruno Haible  <bruno@clisp.org>
38403
38404         Tests for module 'duplocale'.
38405         * modules/duplocale-tests: New file.
38406         * tests/test-duplocale.c: New file.
38407
38408         New module 'duplocale'.
38409         * m4/duplocale.m4: New file.
38410         * lib/locale.in.h (duplocale): New declaration.
38411         * lib/duplocale.c: New file.
38412         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
38413         gl_LOCALE_H_DEFAULTS): New macros.
38414         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
38415         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
38416         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
38417         REPLACE_DUPLOCALE.
38418         * modules/duplocale: New file.
38419         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
38420
38421 2009-11-22  Bruno Haible  <bruno@clisp.org>
38422
38423         * modules/locale-tests (configure.ac): Test for newlocale function.
38424         * tests/test-locale.c: When the system has extended locale functions,
38425         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
38426
38427         locale: Make locale_t available when possible.
38428         * lib/locale.in.h: Include <xlocale.h> when it exists.
38429         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
38430         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
38431         * modules/locale (Depends-on): Add extensions.
38432         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38433         * doc/posix-headers/locale.texi: Document the problem with locale_t.
38434
38435 2009-11-22  Bruno Haible  <bruno@clisp.org>
38436
38437         Add comments.
38438         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
38439         invocation.
38440         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
38441         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38442         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38443
38444 2009-11-22  Bruno Haible  <bruno@clisp.org>
38445
38446         error: account for the possibility of freopen (stdout).
38447         * lib/error.c: Include <unistd.h>.
38448         (flush_stdout): New function, extracted from error and error_at_line.
38449         Determine stdout's fd dynamically.
38450         (error, error_at_line): Invoke flush_stdout.
38451         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
38452         * modules/error (Depends-on): Add unistd.
38453
38454 2009-11-22  Bruno Haible  <bruno@clisp.org>
38455
38456         diffseq: Add comment.
38457         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
38458
38459 2009-11-22  Jim Meyering  <meyering@redhat.com>
38460
38461         c-stack: avoid defining an unused static function
38462         * lib/c-stack.c (find_stack_direction): Do not define this function
38463         when it will not be used.
38464
38465         diffseq: avoid spurious gcc warnings
38466         * lib/diffseq.h (IF_LINT2): Define.
38467         (compareseq): Use it to initialize two members of "part".
38468         This avoids two used-uninitialized warnings.
38469
38470 2009-11-21  Jim Meyering  <meyering@redhat.com>
38471
38472         c-stack: avoid "ignoring return value of `write'" warning
38473         * lib/c-stack.c: Include "ignore-value.h".
38474         (die): Explicitly ignore each write return value.
38475         * modules/c-stack (Depends-on): Add ignore-value.
38476
38477 2009-11-21  Bruno Haible  <bruno@clisp.org>
38478
38479         diffseq: reduce scope of variable 'best'.
38480         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
38481         variable, earlier used for two different purposes.
38482
38483 2009-11-21  Jim Meyering  <meyering@redhat.com>
38484
38485         diffseq: remove useless assignment to "best"
38486         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
38487         assignment.  At that point "best" is already guaranteed to be zero.
38488
38489 2009-11-20  Eric Blake  <ebb9@byu.net>
38490
38491         build: mention ftp redirector in release announcements
38492         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
38493         values that used to come from cfg.mk; mention FTP redirect URL.
38494         * build-aux/announce-gen: Mention the mirror list.
38495         Suggested by Karl Berry.
38496
38497         nanosleep: improve port to mingw
38498         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
38499         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
38500         LIB_NANOSLEEP, but only when needed.
38501         * modules/select (Link): Document LIBSOCKET.
38502         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
38503         enough.
38504
38505         nanosleep: work around cygwin bug
38506         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
38507         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
38508         bug.
38509         (getnow): Delete, not needed.
38510         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
38511         LIB_CLOCK_GETTIME.
38512         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
38513         clock-time, gettime.
38514         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
38515         bug.
38516         * modules/nanosleep-tests: New test.
38517         * tests/test-nanosleep.c: New file.
38518
38519         sleep: work around cygwin bug
38520         * lib/sleep.c (rpl_sleep): Work around the bug.
38521         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
38522         (gl_PREREQ_SLEEP): Delete unused macro.
38523         * modules/sleep (Depends-on): Add verify.
38524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38525         * modules/unistd (Makefile.am): Substitute witness.
38526         * lib/unistd.in.h (sleep): Update prototype.
38527         * doc/posix-functions/sleep.texi (sleep): Document the bug.
38528         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
38529         * modules/sleep-tests (Depends-on): Check for alarm.
38530
38531 2009-11-20  Jim Meyering  <meyering@redhat.com>
38532
38533         maint.mk: improve sc_prohibit_magic_number_exit
38534         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38535         so it does not match uses like System.exit(1).
38536         Add comments showing how to correct all offenders.
38537
38538 2009-11-19  Eric Blake  <ebb9@byu.net>
38539
38540         xalloc-die-tests: add missing library
38541         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38542
38543         test-xvasprintf: silence compiler warnings
38544         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38545         empty string from gcc.
38546
38547 2009-11-19  Jim Meyering  <meyering@redhat.com>
38548
38549         xfreopen: new module, from coreutils
38550         * modules/xfreopen: New module.
38551         * lib/xfreopen.c: New file.
38552         * lib/xfreopen.h: New file.
38553         * MODULES.html.sh (File stream based Input/Output"): Add it.
38554
38555 2009-11-19  Eric Blake  <ebb9@byu.net>
38556
38557         manywarnings: depend on warnings
38558         * modules/manywarnings (Depends-on): Add warnings.
38559
38560         build: avoid compiler warnings
38561         * lib/select.c (rpl_select): Delete unused variable.
38562         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38563
38564 2009-11-18  Eric Blake  <ebb9@byu.net>
38565
38566         tests: avoid false negative with --with-packager
38567         * tests/test-version-etc.sh: Discard packager information.
38568         * tests/test-argp-version-etc-1.sh: Likewise.
38569         Reported by Mike Frysinger.
38570
38571         utimens: fix regression on Solaris
38572         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38573         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38574         can only change fd timestamps via futimesat.  Instead, use an
38575         additional witness macro to avoid BSD bug.
38576         Reported by Jim Meyering.
38577
38578 2009-11-17  Eric Blake  <ebb9@byu.net>
38579
38580         usleep: use it to simplify tests
38581         * modules/stat-time-tests (Depends-on): Add usleep.
38582         (configure.ac): Drop usleep check.
38583         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38584         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38585         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38586         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38587         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38588         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38589         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38590         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38591         Likewise.
38592         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38593         * tests/test-lchown.h (nap): Likewise.
38594         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38595         * tests/test-stat-time.c (nap): Likewise.
38596         * tests/test-utimens-common.h (nap): Update comments.
38597
38598         usleep: new module
38599         * modules/usleep: New file.
38600         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38601         * lib/usleep.c (usleep): Likewise.
38602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38603         * modules/unistd (Makefile.am): Substitute witnesses.
38604         * lib/unistd.in.h (usleep): Add declaration.
38605         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38606         * MODULES.html.sh (Date and time): Likewise.
38607         * modules/usleep-tests (Depends-on): New test.
38608         * tests/test-usleep.c: New file.
38609
38610         chown: work around OpenBSD bug
38611         * lib/chown.c (rpl_chown): Work around the bug.
38612         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38613         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38614         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38615         * modules/chown (Depends-on): Add stdbool.
38616         * modules/lchown (Depends-on): Likewise.
38617         * doc/posix-functions/chown.texi (chown): Document the bug.
38618         * doc/posix-functions/lchown.texi (lchown): Likewise.
38619         * tests/test-lchown.h (test_chown): Relax test.
38620
38621         mkstemp: avoid conflict with C++ keyword template
38622         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38623         * lib/mkostemp.c (mkostemp): Likewise.
38624         * lib/mkostemps.c (mkostemps): Likewise.
38625         * lib/mkstemp.c (mkstemp): Likewise.
38626         * lib/mkstemps.c (mkstemps): Likewise.
38627
38628         xalloc-die-tests: optimize
38629         * tests/test-xalloc-die.sh: Reduce number of processes.
38630
38631 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38632
38633         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38634         patch from ludo@gnu.org (Ludovic Courtès).
38635
38636 2009-11-17  Jim Meyering  <meyering@redhat.com>
38637
38638         version-etc: use proper license string
38639         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38640         * modules/version-etc-fsf: Likewise.
38641
38642 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38643
38644         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38645         printed to stdout.  Deal with EOL differences.
38646
38647 2009-11-17  Eric Blake  <ebb9@byu.net>
38648
38649         unsetenv: work around Solaris bug
38650         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38651         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38652         Reported by Jim Meyering.
38653
38654         vasnprintf: avoid compiler warnings
38655         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38656         variables.
38657         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38658
38659 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38660
38661         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38662         settings since xalloc-die is no longer the self test,
38663         xalloc-die.sh is.
38664
38665 2009-11-17  Jim Meyering  <meyering@redhat.com>
38666
38667         test-xalloc-die.sh: make the code agree with the commit log
38668         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38669         at the end, just in case you happen to have a test-xalloc-die
38670         program in some other PATH directory.
38671
38672         test-xalloc-die.sh: fix a portability bug
38673         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38674         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38675         Otherwise, argv[0] (as often seen in diagnostics) would be too
38676         system-dependent, sometimes with, and sometimes without the leading "./".
38677
38678         version-etc-fsf: relax license to LGPLv3+
38679         * modules/version-etc-fsf (License): Relax license.
38680
38681 2009-11-16  Eric Blake  <ebb9@byu.net>
38682
38683         xalloc-die-tests: avoid printing null pointer
38684         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38685         shell script.
38686         * tests/test-xalloc-die.c (program_name): Declare.
38687         * tests/test-xalloc-die.sh (tmpfiles): New file.
38688
38689         setenv, unsetenv: work around various bugs
38690         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38691         (setenv) [HAVE_SETENV]: Work around bugs.
38692         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38693         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38694         for bugs.
38695         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38696         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38698         * modules/stdlib (Makefile.am): Update substitutions.
38699         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38700         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38701         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38702         * modules/setenv-tests: New test.
38703         * modules/unsetenv-tests: Likewise.
38704         * tests/test-setenv.c: New file.
38705         * tests/test-unsetenv.c: Likewise.
38706
38707 2009-11-16  Jim Meyering  <meyering@redhat.com>
38708
38709         version-etc: relax license to LGPLv3+
38710         * modules/version-etc (License): Relax license.
38711
38712         better AC_REQUIRE expanded-before-required-warning avoidance
38713         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38714         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38715         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38716         which is no longer needed.
38717
38718 2009-11-16  Eric Blake  <ebb9@byu.net>
38719
38720         test-freading: clean up temporary file
38721         * tests/test-freading.c (main): Remove file on success, and use
38722         ASSERT more liberally.
38723         Reported by Jim Meyering.
38724
38725 2009-11-16  Jim Meyering  <meyering@redhat.com>
38726
38727         avoid new AC_REQUIRE expanded-before-required warnings
38728         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38729         merely using it.
38730         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38731         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38732
38733 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38734
38735         * tests/test-xalloc-die.c: New file.
38736         * modules/xalloc-die-tests: New file.
38737         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38738         XFAIL_TESTS so it can be appended by modules.
38739
38740 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38741
38742         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38743         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38744
38745 2009-11-14  Eric Blake  <ebb9@byu.net>
38746
38747         fnmatch: avoid compiler warning
38748         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38749         to silence compiler warning about mismatch signedness in ?:.
38750         Reported by Robert Millan.
38751
38752         intprops: add double-inclusion guard
38753         * lib/intprops.h: Allow idempotent includes.
38754         Suggested by Bruce Korb.
38755
38756         openat: detect Solaris fchownat bug
38757         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38758         penalizing glibc chownat when only lchownat is broken.
38759         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38760         trailing slash bugs.
38761         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38762         * modules/openat-tests (Files): Include more files.
38763         (Depends-on): Add mgetgroups, sleep, stat-time.
38764         (configure.ac): Add additional checks.
38765         (Makefile.am): Build new test.
38766         * tests/test-fchownat.c: New file.
38767
38768         lchown: detect Solaris and FreeBSD bug
38769         * lib/lchown.c (rpl_lchown): Work around bug.
38770         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38772         * modules/unistd (Makefile.am): Populate it.
38773         * lib/unistd.in.h (lchown): Update declaration.
38774         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38775         * modules/lchown-tests: New file.
38776         * tests/test-lchown.h (test_lchown): Likewise.
38777         * tests/test-lchown.c (main): Likewise.
38778
38779         chown: detect Solaris and FreeBSD bug
38780         * lib/chown.c (rpl_chown): Work around bug.
38781         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38782         (gl_PREREQ_CHOWN): Delete.
38783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38784         * modules/unistd (Makefile.am): Populate it.
38785         * lib/unistd.in.h (chown): Update declaration.
38786         * lib/lchown.c (chown): Update client.
38787         * modules/lchown (Depends-on): Add lstat.
38788         * doc/posix-functions/chown.texi (chown): Document the bug.
38789         * doc/posix-functions/getgroups.texi (getgroups): Document
38790         getgroups pitfall.
38791         * modules/chown-tests: New file.
38792         * tests/test-chown.h (test_chown): Likewise.
38793         * tests/test-chown.c (main): Likewise.
38794
38795 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38796
38797         gnulib-tool: correctly detect absence of m4 directories
38798         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38799
38800 2009-11-14  Jim Meyering  <meyering@redhat.com>
38801
38802         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38803         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38804
38805 2009-11-14  John W. Eaton  <jwe@gnu.org>
38806
38807         strftime.h: wrap funtion declaration in extern "C" block
38808         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38809
38810 2009-11-13  Eric Blake  <ebb9@byu.net>
38811
38812         getgroups: avoid compiler warning
38813         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38814
38815         getgroups: work around FreeBSD bug
38816         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38817         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38818         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38819         * tests/test-getgroups.c (main): Fix buffer overrun.
38820
38821         getgroups: avoid compilation failure
38822         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38823         * modules/getgroups (Depends-on): Add stdint.
38824
38825 2009-11-13  Jim Meyering  <meyering@redhat.com>
38826
38827         test-getgroups: avoid compilation failure
38828         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38829
38830 2009-11-13  Eric Blake  <ebb9@byu.net>
38831
38832         mgetgroups: new module, taken from coreutils
38833         * modules/mgetgroups: New file.
38834         * lib/mgetgroups.h: Likewise.
38835         * lib/mgetgroups.c (mgetgroups): Likewise.
38836         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38837         * MODULES.html.sh (Users and groups): Mention it.
38838
38839         getgroups: don't expose GETGROUPS_T to user
38840         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38841         an element at a time if GETGROUPS_T is wrong size.
38842         * lib/getugroups.h (getugroups): Change signature.
38843         * lib/unistd.in.h (getgroups): Likewise.
38844         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38845         signature needs fixing.
38846         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38847         AC_TYPE_GETGROUPS.
38848         * modules/group-member (Depends-on): Add getgroups.
38849         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38850         (group_member): Rely on getgroups replacement.
38851         * lib/getugroups.c (getugroups): Use gid_t.
38852         * tests/test-getgroups.c (main): Likewise.
38853         * NEWS: Mention the signature change.
38854         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38855         problem with signature.
38856         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38857         GETGROUPS_T is still useful for setgroups.
38858
38859         getgroups, getugroups: provide stubs for mingw
38860         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38861         * lib/getugroups.c (getugroups): Likewise.
38862         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38863         function.  Modernize replacement scheme.
38864         (gl_PREREQ_GETGROUPS): Delete.
38865         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38866         * modules/getgroups (configure.ac): Declare witness.
38867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38868         * modules/unistd (Depends-on): Substitute witness.
38869         * lib/unistd.in.h (getgroups): Declare replacement.
38870
38871         getgroups: avoid calling exit
38872         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38873         drop xalloc.
38874         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38875         dependencies.
38876         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38877         exiting, in the rare case of malloc failure.
38878
38879         getgroups: fix logic error
38880         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38881         has more than 20 groups.
38882         * modules/getgroups-tests: New test.
38883         * tests/test-getgroups.c: New file.
38884
38885 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38886
38887         * tests/test-base64.c: Improve.
38888
38889 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38890
38891         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38892         Blake <ebb9@byu.net>.
38893
38894 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38895
38896         * tests/test-xvasprintf.c: Add %s%s related checks.
38897
38898 2009-11-12  Eric Blake  <ebb9@byu.net>
38899
38900         version-etc: match standards.texi style
38901         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38902         and use <> only for URLs.
38903
38904 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
38905
38906         fts: do not fail on a submount during traversal
38907         * lib/fts.c (fts_build): Read the stat info again after opening
38908         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
38909         Original report at http://bugzilla.redhat.com/501848.
38910
38911 2009-11-12  Jim Meyering  <meyering@redhat.com>
38912
38913         bootstrap: sync from coreutils
38914         * build-aux/bootstrap (bootstrap_epilogue): New function.
38915         Use git_modules_config in one more place.  This make bootstrap's
38916         --gnulib-srcdir option more useful for testing.
38917
38918         bootstrap: generalize autoheader check
38919         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
38920         AC_CONFIG_HEADERS.
38921
38922 2009-11-11  Eric Blake  <ebb9@byu.net>
38923
38924         mkfifoat: use new modules for Solaris and BSD bugs
38925         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
38926         * lib/mkfifoat.c (mknodat): Split...
38927         * lib/mknodat.c (mknodat): ...into new file.
38928         * modules/mkfifoat (Files): Ship new file.
38929         (Depends-on): Add mkfifo, mknod.
38930         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
38931         (Depends-on): Add symlink.
38932         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
38933         redundant with test_mkfifo.h.
38934         (do_mkfifoat, do_mknodat): New helpers.
38935
38936         mknod: new module
38937         * modules/mknod: New file.
38938         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
38939         * lib/mknod.c (mknod): Likewise.
38940         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38941         defaults.
38942         * modules/sys_stat (Makefile.am): Substitute them.
38943         * lib/sys_stat.in.h (mknod): Declare replacement.
38944         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38945         Document it.
38946         * doc/posix-functions/mknod.texi (mknod): Likewise.
38947         * modules/mknod-tests: New test.
38948         * tests/test-mknod.c: Likewise.
38949
38950         mkfifo: new module
38951         * modules/mkfifo: New file.
38952         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
38953         * lib/mkfifo.c (mkfifo): Likewise.
38954         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38955         defaults.
38956         * modules/sys_stat (Makefile.am): Substitute them.
38957         * lib/sys_stat.in.h (mkfifo): Declare replacement.
38958         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38959         Document it.
38960         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
38961         * modules/mkfifo-tests: New test.
38962         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
38963         from test-mkfifoat.c.
38964         * tests/test-mkfifo.c: New file.
38965
38966         readlink: detect FreeBSD bug
38967         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
38968         slash on symlink.
38969         * doc/posix-functions/readlink.texi (readlink): Document the bug.
38970         * tests/test-readlink.h (test_readlink): Enhance test.
38971
38972         symlink: detect FreeBSD bug
38973         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
38974         slash on symlink.
38975         * doc/posix-functions/symlink.texi (symlink): Document the bug.
38976         * tests/test-symlink.h (test_symlink): Enhance test.
38977
38978 2009-11-10  Eric Blake  <ebb9@byu.net>
38979
38980         link: detect FreeBSD bug
38981         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
38982         symlink.
38983         * doc/posix-functions/link.texi (link): Document the bug.
38984         * tests/test-link.h (test_link): Enhance test.
38985         * tests/test-linkat.c (main): Update caller.
38986
38987         unlink, remove: detect FreeBSD bug
38988         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
38989         slash on symlink.
38990         * doc/posix-functions/unlink.texi (unlink): Document the bug.
38991         * doc/posix-functions/remove.texi (remove): Likewise.
38992         * tests/test-unlink.h (test_unlink): Enhance test.
38993         * tests/test-remove.c (main): Likewise.
38994
38995 2009-11-09  Eric Blake  <ebb9@byu.net>
38996
38997         rename: detect FreeBSD bug
38998         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
38999         slash on symlink.
39000         * modules/renameat-tests (Depends-on): Add filenamecat.
39001         * tests/test-rename.h (test_rename): Allow one more errno.
39002         * tests/test-renameat.c (main): Likewise.
39003         * doc/posix-functions/rename.texi (rename): Document the bug.
39004
39005         open: detect FreeBSD bug
39006         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39007         symlink.
39008         * doc/posix-functions/open.texi (open): Document the bug.
39009         * doc/posix-functions/utimes.texi (utimes): Likewise.
39010         * tests/test-open.h (test_open): Add parameters, and test symlink
39011         handling.
39012         * tests/test-open.c (main): Adjust caller.
39013         * tests/test-fcntl-safer.c (main): Likewise.
39014         * modules/open-tests (Depends-on): Add stdbool, symlink.
39015         * modules/fcntl-safer-tests (Depends-on): Likewise.
39016         * tests/test-openat.c (main): Add test-open tests.
39017
39018         stat: detect FreeBSD bug
39019         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39020         symlink.
39021         * doc/posix-functions/stat.texi (stat): Document the bug.
39022         * tests/test-stat.h (test_stat_func): Add argument.
39023         * tests/test-stat.c (main): Adjust caller.
39024         * tests/test-fstatat.c (main): Likewise.
39025         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39026         Reported by Jim Meyering.
39027
39028 2009-11-09  James Youngman  <jay@gnu.org>
39029
39030         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39031         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39032
39033 2009-11-08  Jim Meyering  <meyering@redhat.com>
39034
39035         utimens: remove invalid futimesat call
39036         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39037         It used the file descriptor of the target file as the DIR_FD
39038         parameter and NULL as the file name.  That caused failure with
39039         errno == EFAULT on FreeBSD-8.0-rc2
39040
39041 2009-11-07  Eric Blake  <ebb9@byu.net>
39042
39043         fflush, freadseek: use fseeko, not fseek
39044         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39045         (clear_ungetc_buffer): Avoid potential problems on large files.
39046         * lib/freadseek.c (freadseek): Likewise.
39047         * modules/freadseek (Depends-on): Add fseeko.
39048         * modules/fseek (configure.ac): Set a witness.
39049         * tests/test-fflush.c (main): Use fseeko.
39050         * tests/test-fpurge.c (fseek): Disable link warning.
39051         * tests/test-freadable.c (fseek): Likewise.
39052         * tests/test-freading.c (fseek): Likewise.
39053         * tests/test-fseeko.c (fseek): Likewise.
39054         * tests/test-ftell.c (fseek): Likewise.
39055         * tests/test-ftello.c (fseek): Likewise.
39056         * tests/test-fwritable.c (fseek): Likewise.
39057         * tests/test-fwriting.c (fseek): Likewise.
39058
39059 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39060
39061         * modules/memchr (Depends-on): Drop getpagesize dependency.
39062
39063 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39064
39065         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39066         Reported by Ludovic Courtès.
39067         * build-aux/pmccabe2html: Improve example usage.
39068         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39069
39070 2009-11-06  Jim Meyering  <meyering@redhat.com>
39071
39072         do-release-commit-and-tag: New module.
39073         Automate the release-commit and tag process.
39074         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39075         * modules/do-release-commit-and-tag: New file.
39076         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39077
39078 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39079
39080         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39081         because test-select.c uses inet_pton.
39082
39083 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39084
39085         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39086         GETADDRINFO_LIB.  Bump serial number.
39087         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39088         Suggested by Eric Blake <ebb9@byu.net>.
39089
39090 2009-11-05  Eric Blake  <ebb9@byu.net>
39091
39092         strtod: detect darwin bug
39093         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39094         Reported by Leo Davis.
39095
39096         freopen-safer: new module
39097         * modules/freopen-safer: New module.
39098         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39099         * lib/freopen-safer.c (freopen_safer): New file.
39100         * lib/stdio-safer.h (freopen_safer): New declaration.
39101         * lib/stdio--.h (freopen): New override.
39102         * MODULES.html.sh (File stream based Input/Output): Mention it.
39103         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39104         freopen-safer module.
39105         * doc/posix-functions/stderr.texi (stderr): Likewise.
39106         * doc/posix-functions/stdin.texi (stdin): Likewise.
39107         * doc/posix-functions/stdout.texi (stdout): Likewise.
39108         * modules/freopen-safer-tests: New test.
39109         * tests/test-reopen-safer.c: New file.
39110
39111 2009-11-05  Jim Meyering  <meyering@redhat.com>
39112
39113         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39114         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39115
39116 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39117
39118         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39119
39120 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39121
39122         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39123
39124 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39125
39126         Fix link error.
39127         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39128         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39129
39130 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39131
39132         * tests/test-func.c: Also test value of __func__.
39133
39134 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39135
39136         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39137         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39138
39139 2009-11-05  Bruno Haible  <bruno@clisp.org>
39140
39141         Fix link error.
39142         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39143         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39144         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39145
39146 2009-11-05  Bruno Haible  <bruno@clisp.org>
39147
39148         Tests for module 'inet_pton'.
39149         * modules/inet_pton-tests: New file.
39150         * tests/test-inet_pton.c: New file.
39151
39152 2009-11-05  Bruno Haible  <bruno@clisp.org>
39153
39154         Tests for module 'inet_ntop'.
39155         * modules/inet_ntop-tests: New file.
39156         * tests/test-inet_ntop.c: New file.
39157
39158 2009-11-04  Eric Blake  <ebb9@byu.net>
39159
39160         stdlib-safer: wrap all mkstemp variants
39161         * modules/mkostemp (configure.ac): Set witness.
39162         * modules/mkostemps (configure.ac): Likewise.
39163         * modules/mkstemps (configure.ac): Likewise.
39164         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39165         (mkstemps_safer): Wrap more functions.
39166         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39167         wrapping.
39168         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39169         (mkstemps_safer): Implement the wrappers.
39170
39171         mkstemps, mkostemps: new modules
39172         * modules/mkostemps: New module.
39173         * modules/mkstemps: Likewise.
39174         * lib/mkostemps.c (mkostemps): New file.
39175         * lib/mkstemps.c (mkstemps): Likewise.
39176         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39177         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39178         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39179         * modules/stdlib (Makefile.am): Substitute them.
39180         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39181         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39182         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39183         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39184         * MODULES.html.sh (File system functions): Mention them.
39185
39186         tempname: resync from glibc
39187         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39188         same values for __GT_FILE as glibc.  Abort even when assertions
39189         are disabled.
39190         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39191         match its value otherwise.  Allow idempotent inclusion.
39192         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39193         * lib/mkostemp.c (mkostemp): Likewise.
39194         * lib/mkstemp.c (mkstemp): Likewise.
39195         * lib/tmpfile.c (tmpfile): Likewise.
39196         * NEWS: Document this.
39197
39198         utimens: fix use of futimens on older Linux
39199         * lib/utimens.c (fdutimens): Use updated, rather than original,
39200         timespec to avoid bug in older Linux kernel.
39201         Reported by Simon Josefsson.
39202
39203 2009-11-04  Bruno Haible  <bruno@clisp.org>
39204
39205         Make num_processors more flexible and consistent.
39206         * lib/nproc.h (enum nproc_query): New type.
39207         (num_processors): Add a 'query' argument.
39208         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39209         (num_processors): Add a 'query' argument. Test the value of the
39210         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39211         mingw, count the number of CPUs available for the current process.
39212         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39213         Check for sched_getaffinity and sched_getaffinity_np.
39214         * modules/nproc (Depends-on): Add c-ctype, extensions.
39215         * NEWS: Mention the change.
39216
39217 2009-11-03  Bruno Haible  <bruno@clisp.org>
39218
39219         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39220
39221 2009-11-03  Jim Meyering  <meyering@redhat.com>
39222
39223         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39224         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39225         if it is defined.
39226
39227 2009-11-02  Eric Blake  <ebb9@byu.net>
39228
39229         mktime, timegm: share common declaration
39230         * lib/mktime-internal.h: New file.
39231         * lib/mktime.c: Use it rather than open-coding a declaration.
39232         * lib/timegm.c: Likewise.
39233         * modules/mktime (Files): Ship it.
39234         * modules/timegm (Files): Likewise.
39235         Suggested by Bruno Haible.
39236
39237         test-update-copyright: update test to match script changes
39238         * tests/test-update-copyright.sh: Avoid hard-coding perl
39239         location.  Don't update *.bak created by earlier runs.
39240
39241 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39242             Simon Josefsson  <simon@josefsson.org>
39243             Bruno Haible  <bruno@clisp.org>
39244
39245         Fix link error on Solaris 8.
39246         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39247         also in libnsl. Define also INET_PTON_LIB.
39248         * modules/inet_pton (Link): New section.
39249
39250 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39251             Bruno Haible  <bruno@clisp.org>
39252
39253         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39254         * modules/inet_ntop (Link): New section.
39255         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39256
39257 2009-11-02  Eric Blake  <ebb9@byu.net>
39258
39259         maint: avoid compiler warnings in m4 macros
39260         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39261         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39262
39263 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39264
39265         * m4/pmccabe2html.m4: Remove file.
39266         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39267         function.  Change maintainer.
39268         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39269         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39270         Courtès).
39271
39272 2009-10-31  Eric Blake  <ebb9@byu.net>
39273
39274         fseeko: fix m4 regression
39275         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39276         regression from 2009-10-27.
39277         Reported by Ralf Wildenhues.
39278
39279 2009-10-31  Jim Meyering  <meyering@redhat.com>
39280
39281         inttostr: aesthetics and improved (compile-time) safety
39282         Define inttype_is_signed rather than inttype_is_unsigned,
39283         since the sole use is via "#if inttype_is_signed".
39284         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39285         inttype_is_unsigned.
39286         * lib/offtostr.c (inttype_is_signed): Likewise.
39287         * lib/uinttostr.c (inttype_is_signed): Likewise.
39288         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39289         * lib/inttostr.c (inttostr): Use verify to cross-check the
39290         inttype_is_signed value and the signedness of the actual type.
39291         * modules/inttostr (Depends-on): Add verify.
39292
39293 2009-10-30  Eric Blake  <ebb9@byu.net>
39294
39295         build: avoid compiler warnings
39296         * lib/fchmodat.c (lchmod): Mark unused variables.
39297         * lib/getopt.c (_getopt_initialize): Likewise.
39298         * lib/mktime.c (__mktime_internal): Provide prototype.
39299         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39300         older gcc that do not understand #pragma GCC diagnostic.
39301         * lib/uinttostr.c (inttype_is_unsigned): Define.
39302         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39303
39304 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39305
39306         stat: fix compilation on AIX
39307         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39308         only see struct stat64.
39309
39310 2009-10-30  Eric Blake  <ebb9@byu.net>
39311
39312         exclude: make more robust
39313         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39314         rather than masking a coding bug.
39315         Suggested by Bruno Haible.
39316
39317 2009-10-30  Jim Meyering  <meyering@redhat.com>
39318
39319         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39320         Rather than putting #!/usr/bin/perl on the first line,
39321         start with a variant of what's recommended by "man perlrun" that
39322         invokes the first "perl" program from your shell's search path.
39323         * build-aux/gitlog-to-changelog: Replace #!... as above.
39324         Add a "Local Variables" perl mode setting.
39325         Prompted by a patch from Ludovic Courtès.
39326         Improved by Eric Blake.
39327         * build-aux/useless-if-before-free: Likewise.
39328         * build-aux/announce-gen: Likewise.
39329         * build-aux/update-copyright: Likewise.
39330
39331 2009-10-29  Eric Blake  <ebb9@byu.net>
39332
39333         filenamecat-lgpl: adjust clients
39334         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39335         filenamecat.
39336         * modules/renameat (Depends-on): Likewise.
39337
39338         filenamecat: split into filenamecat-lgpl
39339         * modules/filenamecat-lgpl: New module.
39340         * modules/filenamecat (Files): Move library-safe files into
39341         filenamecat-lgpl.
39342         (Depends-on): Add filenamecat-lgpl.
39343         (configure.ac): Declare witness.
39344         * lib/filenamecat.h (file_name_concat): Only declare when using
39345         GPL module.
39346         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39347         Move...
39348         * lib/filenamecat-lgpl.c: ...into new file.
39349         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39350         (gl_FILE_NAME_CONCAT): Use it.
39351         * MODULES.html.sh (File system functions): Mention new module.
39352
39353         argp: avoid memory leak
39354         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39355         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39356         base_name, since the latter malloc()s and can call exit().
39357         Leak introduced 2006-07-03.
39358
39359         dirname-lgpl: adjust clients that don't need full dirname
39360         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39361         * modules/filenamecat (Depends-on): Likewise.
39362         * modules/linkat (Depends-on): Likewise.
39363         * modules/mkancesdirs (Depends-on): Likewise.
39364         * modules/mkdir (Depends-on): Likewise.
39365         * modules/openat (Depends-on): Likewise.
39366         * modules/savewd (Depends-on): Likewise.
39367         * modules/rename (Depends-on): Likewise.
39368         (License): Relax license.
39369         * modules/mkdir-tests (Depends-on): Drop progname.
39370         (Makefile.am): Delete unneeded LDADD.
39371         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39372
39373         dirname: split into dirname-lgpl
39374         * modules/dirname-lgpl: New module.
39375         * modules/dirname (Files): Move library-safe files into
39376         dirname-lgpl.
39377         (Depends-on): Add dirname-lgpl.
39378         (configure.ac): Declare witness.
39379         * modules/double-slash-root (License): Relax license.
39380         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39381         module.
39382         * lib/dirname.c (dir_len, mdir_name): Move...
39383         * lib/dirname-lgpl.c: ...into new file.
39384         * lib/basename.c (last_component, base_len): Move...
39385         * lib/basename-lgpl.c: ...into new file.
39386         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39387         (gl_DIRNAME): Use it.
39388         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39389         Mention new module.
39390         * modules/dirname-tests (Depends-on): Add progname.
39391         * tests/test-dirname.c (program_name): Delete.
39392
39393         mkdir: make safe for libraries
39394         * modules/mkdir (Depends-on): Drop xalloc.
39395         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
39396         exit.
39397
39398         tests: avoid some compiler warnings
39399         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
39400         literals.
39401         * tests/test-memchr.c (main): Avoid type mismatch.
39402         * tests/test-arpa_inet.c (main): Avoid unused parameters.
39403         * tests/test-base64.c (main): Likewise.
39404         * tests/test-getdelim.c (main): Likewise.
39405         * tests/test-gethostname.c (main): Likewise.
39406         * tests/test-getline.c (main): Likewise.
39407         * tests/test-netinet_in.c (main): Likewise.
39408         * tests/test-select.c (open_server_socket, main): Likewise.
39409         * tests/test-select-stdin.c (main): Likewise.
39410         * tests/test-sockets.c (main): Likewise.
39411         * tests/test-strsignal.c (main): Likewise.
39412         * tests/test-sys_select.c (main): Likewise.
39413         * tests/test-sys_socket.c (main): Likewise.
39414         * tests/test-u64.c (main): Likewise.
39415         * tests/test-xfprintf-posix.c (main): Likewise.
39416         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
39417
39418         sockets: avoid compiler warning
39419         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
39420
39421         maint: detect usage(1) and other suspicious exits
39422         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
39423
39424 2009-10-29  Jim Meyering  <meyering@redhat.com>
39425
39426         timespec: long-to-int truncation could make timespec_cmp malfunction
39427         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
39428         a multiple of 2^32 nanoseconds as no difference.
39429
39430 2009-10-28  Jim Meyering  <meyering@redhat.com>
39431
39432         fprintftime: wrap macro code argument in "do {...} while(0)"
39433         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
39434         cpy macro must be a statement that can be followed by a semicolon.
39435         Now that the else clause contains a comment and is hence longer
39436         than one line, I require curly braces.  That in turn requires
39437         that we wrap this code block in the standard do...while(0).
39438
39439         fprintftime: remove stray semicolon from previous change
39440         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
39441
39442         fprintftime: avoid a warning about ignored fwrite return value
39443         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
39444         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
39445         that is unsafe.
39446         * modules/fprintftime (Depends-on): Add ignore-value.
39447
39448         exclude: avoid an unwarranted warning
39449         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
39450
39451 2009-10-27  Eric Blake  <ebb9@byu.net>
39452
39453         fseek: avoid compilation failure when fflush is replaced
39454         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
39455         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
39456         module is in use.
39457         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
39458         module is not in use; since REPLACE_FSEEK worked otherwise.
39459         (GNULIB_FTELLO): Likewise for ftell.
39460         Reported by Ian Beckwith and others.
39461
39462 2009-10-27  Bruno Haible  <bruno@clisp.org>
39463
39464         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
39465         Reported by Jim Meyering.
39466
39467 2009-10-27  Jim Meyering  <jim@meyering.net>
39468             Bruno Haible  <bruno@clisp.org>
39469
39470         Avoid warning despite dropping the return value of fwrite.
39471         * lib/unicodeio.c: Include ignore-value.h.
39472         (fwrite_success_callback): Explicitly ignore fwrite's return value.
39473         * modules/unicodeio (Depends-on): Add ignore-value.
39474
39475 2009-10-26  Eric Blake  <ebb9@byu.net>
39476
39477         areadlinkat: fix fallback path
39478         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
39479         pointer and zero.
39480
39481 2009-10-22  Pádraig Brady  <P@draigBrady.com>
39482
39483         Use a better IO block size for modern systems
39484         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
39485         * lib/md2.c: Likewise.
39486         * lib/md4.c: Likewise.
39487         * lib/md5.c: Likewise.
39488         * lib/sha1.c: Likewise.
39489         * lib/sha256.c: Likewise.
39490         * lib/sha512.c: Likewise.
39491
39492 2009-10-22  Eric Blake  <ebb9@byu.net>
39493
39494         tests: avoid several compiler warnings
39495         * tests/test-getcwd.c (main): Avoid buffer underflow.
39496         * tests/test-getdate.c (main): String literals are not safe with
39497         putenv, so use setenv.  Declare unused argument.
39498         * modules/getdate-tests (Depends-on): Add setenv.
39499         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
39500         problems with string literals in char *.
39501         * tests/test-hash.c (main): Avoid shadowing declaration.
39502         (insert_new): Treat string literals as char const *.
39503         * tests/test-getopt.h (test_getopt): Likewise.
39504         (getopt_loop): Alter types to minimize casting elsewhere.
39505         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
39506         (test_getopt_long_posix): Likewise.
39507         (do_getopt_long): Add wrapper to minimize casting.
39508         * tests/test-atexit.c (clear_temp_file): Use void.
39509         * tests/test-areadlink-with-size.c (main): Declare unused
39510         arguments.
39511         * tests/test-areadlink.c (main): Likewise.
39512         * tests/test-areadlinkat-with-size.c (main): Likewise.
39513         * tests/test-areadlinkat.c (main): Likewise.
39514         * tests/test-canonicalize-lgpl.c (main): Likewise.
39515         * tests/test-canonicalize.c (main): Likewise.
39516         * tests/test-dirent-safer.c (main): Likewise.
39517         * tests/test-dirname.c (main): Likewise.
39518         * tests/test-dup2.c (main): Likewise.
39519         * tests/test-fchdir.c (main): Likewise.
39520         * tests/test-fcntl-h.c (main): Likewise.
39521         * tests/test-fcntl-safer.c (main): Likewise.
39522         * tests/test-fdopendir.c (main): Likewise.
39523         * tests/test-fdutimensat.c (main): Likewise.
39524         * tests/test-fflush.c (main): Likewise.
39525         * tests/test-filenamecat.c (main): Likewise.
39526         * tests/test-filevercmp.c (main): Likewise.
39527         * tests/test-fopen-safer.c (main): Likewise.
39528         * tests/test-fopen.c (main): Likewise.
39529         * tests/test-fpending.c (main): Likewise.
39530         * tests/test-fpurge.c (main): Likewise.
39531         * tests/test-freading.c (main): Likewise.
39532         * tests/test-fstatat.c (main): Likewise.
39533         * tests/test-fsync.c (main): Likewise.
39534         * tests/test-futimens.c (main): Likewise.
39535         * tests/test-getndelim2.c (main): Likewise.
39536         * tests/test-gettimeofday.c (main): Likewise.
39537         * tests/test-getopt.c (main): Likewise.
39538         * tests/test-i-ring.c (main): Likewise.
39539         * tests/test-inttypes.c (main): Likewise.
39540         * tests/test-link.c (main): Likewise.
39541         * tests/test-lstat.c (main): Likewise.
39542         * tests/test-math.c (main): Likewise.
39543         * tests/test-md5.c (main): Likewise.
39544         * tests/test-memchr2.c (main): Likewise.
39545         * tests/test-memrchr.c (main): Likewise.
39546         * tests/test-mkdir.c (main): Likewise.
39547         * tests/test-mkdirat.c (main): Likewise.
39548         * tests/test-mkfifoat.c (main): Likewise.
39549         * tests/test-open.c (main): Likewise.
39550         * tests/test-openat-safer.c (main): Likewise.
39551         * tests/test-openat.c (main): Likewise.
39552         * tests/test-quotearg.c (main): Likewise.
39553         * tests/test-rawmemchr.c (main): Likewise.
39554         * tests/test-readlink.c (main): Likewise.
39555         * tests/test-remove.c (main): Likewise.
39556         * tests/test-rename.c (main): Likewise.
39557         * tests/test-renameat.c (main): Likewise.
39558         * tests/test-rmdir.c (main): Likewise.
39559         * tests/test-sha1.c (main): Likewise.
39560         * tests/test-signal.c (main): Likewise.
39561         * tests/test-sigaction.c (main): Likewise.
39562         * tests/test-stat.c (main): Likewise.
39563         * tests/test-stat-time.c (main): Likewise.
39564         * tests/test-stddef.c (main): Likewise.
39565         * tests/test-stdint.c (main): Likewise.
39566         * tests/test-stdio.c (main): Likewise.
39567         * tests/test-stdlib.c (main): Likewise.
39568         * tests/test-strchrnul.c (main): Likewise.
39569         * tests/test-strerror.c (main): Likewise.
39570         * tests/test-string.c (main): Likewise.
39571         * tests/test-strtod.c (main): Likewise.
39572         * tests/test-strverscmp.c (main): Likewise.
39573         * tests/test-symlink.c (main): Likewise.
39574         * tests/test-symlinkat.c (main): Likewise.
39575         * tests/test-sys_stat.c (main): Likewise.
39576         * tests/test-sys_time.c (main): Likewise.
39577         * tests/test-time.c (main): Likewise.
39578         * tests/test-unistd.c (main): Likewise.
39579         * tests/test-unlink.c (main): Likewise.
39580         * tests/test-unlinkat.c (main): Likewise.
39581         * tests/test-utimens.c (main): Likewise.
39582         * tests/test-utimensat.c (main): Likewise.
39583         * tests/test-version-etc.c (main): Likewise.
39584         * tests/test-wchar.c (main): Likewise.
39585         * tests/test-wctype.c (main): Likewise.
39586         * tests/test-xprintf-posix.c (main): Likewise.
39587         * tests/test-posixtm.c (main): Likewise.
39588         (STREQ): Delete unused macro.
39589         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39590         shadowed variables.
39591         * tests/test-memchr.c (main): Likewise.
39592
39593 2009-10-21  Eric Blake  <ebb9@byu.net>
39594
39595         areadlinkat: avoid failure on older glibc
39596         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39597         rather than mis-comparing 0 against FUNC_RESULT of char*.
39598
39599 2009-10-21  Bruno Haible  <bruno@clisp.org>
39600
39601         * modules/stpncpy (License): Relicense under LGPLv2+.
39602         Reported by David Lutterkort <lutter@redhat.com>.
39603
39604 2009-10-20  Eric Blake  <ebb9@byu.net>
39605
39606         utimensat: work around Solaris 9 bug
39607         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39608         has trailing slash bugs.
39609         * tests/test-lutimens.h (test_lutimens): Enhance test.
39610         * tests/test-utimens.h (test_utimens): Likewise.
39611         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39612         * doc/posix-functions/utimes.texi (utimes): Likewise.
39613         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39614         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39615         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39616         * doc/posix-functions/futimens.texi (futimens): Likewise.
39617
39618         fdutimensat: new module
39619         * modules/fdutimensat: New file.
39620         * lib/fdutimensat.c (fdutimensat): Likewise.
39621         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39622         * MODULES.html.sh (File system functions): Mention module.
39623         * modules/fdutimensat-tests: New test.
39624         * tests/test-fdutimensat.c: Likewise.
39625
39626         doc: regenerate INSTALL
39627         * doc/INSTALL: Reflect recent autoconf update.
39628         * doc/INSTALL.ISO: Likewise.
39629         * doc/INSTALL.UTF-8: Likewise.
39630
39631 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39632
39633         acl: warn if ACL support is not detected
39634         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39635
39636 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39637
39638         * lib/nproc.h: Add extern "C" block for C++.
39639
39640 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39641             Bruno Haible  <bruno@clisp.org>
39642
39643         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39644         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39645         * doc/posix-functions/isalpha.texi: Likewise.
39646         * doc/posix-functions/isblank.texi: Likewise.
39647         * doc/posix-functions/iscntrl.texi: Likewise.
39648         * doc/posix-functions/isdigit.texi: Likewise.
39649         * doc/posix-functions/isgraph.texi: Likewise.
39650         * doc/posix-functions/islower.texi: Likewise.
39651         * doc/posix-functions/isprint.texi: Likewise.
39652         * doc/posix-functions/ispunct.texi: Likewise.
39653         * doc/posix-functions/isspace.texi: Likewise.
39654         * doc/posix-functions/isupper.texi: Likewise.
39655         * doc/posix-functions/isxdigit.texi: Likewise.
39656
39657 2009-10-18  Bruno Haible  <bruno@clisp.org>
39658
39659         Tests for module 'isblank'.
39660         * modules/isblank-tests: New file.
39661         * tests/test-isblank.c: New file.
39662
39663         New module 'isblank'.
39664         * lib/isblank.c: New file.
39665         * m4/isblank.m4: New file.
39666         * modules/isblank: New file.
39667         * doc/posix-functions/isblank.texi: Mention the new module.
39668
39669 2009-10-18  Bruno Haible  <bruno@clisp.org>
39670
39671         New module 'ctype'.
39672         * lib/ctype.in.h: New file.
39673         * m4/ctype.m4: New file.
39674         * modules/ctype: New file.
39675         * doc/posix-headers/ctype.texi: Mention the new module.
39676
39677 2009-10-18  Jim Meyering  <meyering@redhat.com>
39678
39679         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39680         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39681         right after its initialization, rather than farther down.
39682         Keeping these in close proximity makes it easier to ensure
39683         that each such variable is initialized.  E.g.,
39684
39685             LIB_CLOCK_GETTIME=
39686             AC_SUBST([LIB_CLOCK_GETTIME])
39687
39688         This change also increments these serial numbers.
39689         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39690         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39692
39693 2009-10-18  Bruno Haible  <bruno@clisp.org>
39694
39695         Don't let environment variables perturb build.
39696         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39697         (gl_PREREQ_GETHRXTIME): ... not here.
39698
39699 2009-10-18  Bruno Haible  <bruno@clisp.org>
39700
39701         Avoid symlink attack in localcharset module.
39702         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39703         (O_NOFOLLOW): Define fallback.
39704         (get_charset_aliases): Don't open the file if it is a symbolic link.
39705         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39706         gl_FCNTL_H.
39707         (gl_FCNTL_H): Require it.
39708         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39709         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39710         Reported by Fergal Glynn <fglynn@veracode.com>.
39711
39712 2009-10-18  Bruno Haible  <bruno@clisp.org>
39713
39714         Implement nproc for mingw.
39715         * lib/nproc.c: Include <windows.h>
39716         (num_processors): On native Windows platforms, try GetSystemInfo.
39717
39718 2009-10-18  Bruno Haible  <bruno@clisp.org>
39719
39720         Implement nproc for IRIX.
39721         * lib/nproc.c: Include <sys/sysmp.h>.
39722         (num_processors): On IRIX systems, try sysmp.
39723         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39724
39725 2009-10-18  Bruno Haible  <bruno@clisp.org>
39726
39727         Implement nproc for HP-UX.
39728         * lib/nproc.c: Include <sys/pstat.h>
39729         (num_processors): On HP-UX systems, try pstat_getdynamic.
39730         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39731         pstat_getdynamic.
39732
39733 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39734             Bruno Haible  <bruno@clisp.org>
39735
39736         Implement nproc for NetBSD, OpenBSD.
39737         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39738         (ARRAY_SIZE): New macro.
39739         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39740         * m4/nproc.m4: New file.
39741         * modules/nproc (Files): Add m4/nproc.m4.
39742         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39743         (Makefile.am): Instead, augment lib_SOURCES.
39744
39745 2009-10-18  Bruno Haible  <bruno@clisp.org>
39746
39747         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39748         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39749         sys/param.h.
39750
39751 2009-10-16  Eric Blake  <ebb9@byu.net>
39752
39753         utimensat: new module
39754         * modules/utimensat: New file.
39755         * lib/utimensat.c (utimensat): Likewise.
39756         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39757         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39758         so we can work around Linux bugs.
39759         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39760         * modules/sys_stat (Makefile.am): Substitute them.
39761         * lib/sys_stat.in.h (utimensat): Declare it.
39762         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39763         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39764         * modules/utimensat-tests: New test.
39765         * tests/test-utimensat.c: Likewise.
39766
39767         utimens: let lutimens work on non-symlinks
39768         * lib/utimens.c (lutimens): Fall back to utimens rather than
39769         failing with ENOSYS, when file is not a symlink.
39770         (utimens): Reduce redirection.
39771         * tests/test-lutimens.h (test_lutimens): Update test to cover
39772         non-symlinks.
39773         * tests/test-utimens.h (test_utimens): Update test to cover
39774         symlinks.
39775         * tests/test-utimens.c (main): Update caller.
39776
39777         utimens: cache whether utimensat syscall works
39778         * lib/utimens.c (utimensat_works_really): New cache variable.
39779         (fdutimens, lutimens): Use it to avoid failing syscall.
39780
39781         test-stat-time, test-utimens: improve portability
39782         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39783         ext4 on alpha, and for cygwin.
39784         * tests/test-utimens-common.h: New file.
39785         (nap): Factor delays into single function.
39786         * tests/test-lutimens.h (test_lutimens): Use new header.
39787         * tests/test-futimens.h (test_futimens): Likewise.
39788         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39789         timestamps to occur from same machine, as was done previously for
39790         test_utimens.
39791         * modules/utimens-tests (Files): Ship new file.
39792         * modules/futimens-tests (Files): Likewise.
39793         Reported in part by Jim Meyering.
39794
39795         sys_stat: sort replacement declarations
39796         * lib/sys_stat.in.h: Sort declarations.
39797         * lib/futimens.c (futimens): Fix typo.
39798
39799 2009-10-15  Jim Meyering  <meyering@redhat.com>
39800
39801         don't let environment settings perturb build
39802         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39803         could cause a configure-time and/or build-time malfunction.
39804         Typically, a configure-time function-in-library test is performed
39805         via code like this:
39806
39807           LIB_VAR=
39808           AC_SUBST([LIB_VAR])
39809           prefix_saved_LIBS=$LIBS
39810             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39811                        [test "$ac_cv_search_FUNC" = "none required" ||
39812                         LIB_VAR=$ac_cv_search_FUNC])
39813           LIBS=$prefix_saved_LIBS
39814
39815         However, in each of the files affected by this change, the LIB_VAR=
39816         initialization was omitted.  Thus, when set in the environment, its
39817         value would propagate into generated Makefiles when FUNC is not found
39818         in LIB_NAME.
39819         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39820         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39822
39823 2009-10-14  Eric Blake  <ebb9@byu.net>
39824
39825         fchdir: avoid infinite recursion in mingw
39826         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39827         recursing.
39828
39829         test-stat-time: port to mingw
39830         * tests/test-stat-time.c (force_unlink): Return a value.
39831         (test_ctime) [W32]: Fix compilation error.
39832         (nap): Don't call usleep with too large an argument.  Use
39833         force_unlink.
39834         * doc/pastposix-functions/usleep.texi (usleep): Document the
39835         portability issue.
39836
39837 2009-10-13  Jim Meyering  <meyering@redhat.com>
39838
39839         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39840         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39841         * modules/pipe-filter-ii: Likewise.
39842         * modules/sys_socket-tests: Likewise.
39843         * modules/tsearch-tests: Likewise.
39844         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39845         (check): Depend on it.
39846
39847 2009-10-12  Eric Blake  <ebb9@byu.net>
39848
39849         utimens-tests: port to NFS file systems
39850         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39851         comparisons to avoid spurious failures from timestamp drift
39852         between NFS machines.
39853
39854 2009-10-12  Eric Blake  <ebb9@byu.net>
39855
39856         stat-time-tests: minor cleanups
39857         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39858         * tests/test-stat-time.c (nap): Separate assignment from call.
39859         Suggested by Paolo Bonzini and Bruno Haible.
39860
39861         sys_stat: guarantee struct timespec
39862         * lib/sys_stat.in.h (includes): Always include <time.h>
39863         * modules/sys_stat (Depends-on): Add time.
39864         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39865         mode_t permission values.
39866         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39867         get at subsecond timestamps.
39868
39869 2009-10-10  Eric Blake  <ebb9@byu.net>
39870
39871         futimens: new module
39872         * modules/futimens: New file.
39873         * lib/futimens.c (futimens): Likewise.
39874         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39875         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39876         we can work around Linux bugs.
39877         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39878         * modules/sys_stat (Makefile.am): Substitute them.
39879         * lib/sys_stat.in.h (futimens): Declare it.
39880         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39881         * doc/posix-functions/futimens.texi (futimens): Likewise.
39882         * modules/futimens-tests: New test.
39883         * tests/test-futimens.c: Likewise.
39884
39885         utimens: introduce fdutimens
39886         * lib/utimens.h (fdutimens): New prototype.
39887         * lib/utimens.c (gl_futimens): Move guts...
39888         (fdutimens): ...to new interface.
39889         * tests/test-utimens.c (do_fdutimens): Use it.
39890
39891         utimens: add UTIME_NOW and UTIME_OMIT support
39892         * lib/utimens.c (validate_timespec, update_timespec): New helper
39893         functions.
39894         (gl_futimens, lutimens): Use them.
39895         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39896         stdbool, sys_stat.
39897         (Link): Mention resulting library dependency.
39898         * modules/utimecmp (Link): Likewise.
39899         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39900         (Makefile.am): Pick up library dependency.
39901         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39902         definition.
39903         * tests/test-sys_stat.c: Test the definitions.
39904         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
39905         * NEWS: Document library dependency.
39906
39907         utimecmp: support symlink timestamps
39908         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
39909         hashing when possible.  Use pathconf when available.
39910         (SYSCALL_RESOLUTION): Recognize tighter resolution.
39911         * modules/utimecmp (Depends-on): Add lstat.
39912
39913         utimens: add lutimens interface
39914         * lib/utimens.c (lutimens): New function.
39915         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
39916         * lib/utimens.h (lutimens): Declare new interface.
39917         * tests/test-utimens.c (main): Enhance test.
39918         * tests/test-lutimens.h (test_lutimens): New file.
39919         * modules/utimens-tests (Files): Distribute it.
39920         (Depends-on): Add symlink.
39921         (configure.ac): Check for usleep.
39922
39923         utimens: validate futimens usage
39924         * lib/utimens.c (gl_futimens): Require valid fd up front, using
39925         fewer syscalls on failure later on.  Avoid compiler warning on
39926         mingw.
39927         * modules/utimens (Depends-on): Add dup2.
39928
39929         utimens: add test
39930         * modules/utimens-tests: New test.
39931         * tests/test-utimens.h: New file.
39932         * tests/test-futimens.h: Likewise.
39933         * tests/test-utimens.c: Likewise.
39934
39935         doc: mention timestamp portability issues
39936         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
39937         instead.
39938         * doc/posix-functions/utime.texi (utime): Likewise.
39939         * doc/posix-functions/utimes.texi (utimes): Likewise.
39940         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
39941         instead.
39942         * doc/posix-functions/futimens.texi (futimens): Mention utimens
39943         module.
39944         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39945         Mention weakness with symlink timestamps.
39946         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
39947         to utimensat/futimens instead.
39948         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
39949
39950         test-dup2: enhance test
39951         * tests/test-dup2.c (main): Also check AT_FDCWD.
39952
39953         test-stat-time: avoid more spurious failures
39954         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
39955         xfs; and avoid race if the two timestamps cross quantization edge.
39956
39957         relocatable: prefer 'file system' over 'filesystem'
39958         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
39959         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
39960         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
39961         * doc/relocatable.texi (Enabling Relocatability): Likewise.
39962         * lib/relocatable.c (compute_curr_prefix): Likewise.
39963
39964 2009-10-10  Jim Meyering  <meyering@redhat.com>
39965
39966         stat-time-tests: check for the usleep function
39967         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
39968
39969 2009-10-10  Bruno Haible  <bruno@clisp.org>
39970
39971         * modules/xnanosleep: Put the Link section after the Include section.
39972
39973 2009-10-09  Eric Blake  <ebb9@byu.net>
39974
39975         dup2: work around FreeBSD 6.1 bug
39976         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
39977         * doc/posix-functions/dup2.texi (dup2): Document it.
39978         Reported by Nelson H. F. Beebe and Jim Meyering.
39979
39980         test-stat-time: port to buggy NFS clients
39981         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
39982         (test_ctime): Also skip test if mtime and ctime are skewed.
39983
39984         maint: prefer 'file system' over 'filesystem'
39985         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39986         * doc/posix-functions/lstat.texi (lstat): Likewise.
39987         * lib/file-has-acl.c (file_has_acl): Likewise.
39988         * lib/fwriteerror.c [TEST]: Likewise.
39989         * tests/test-areadlink.h (test_areadlink): Likewise.
39990         * tests/test-areadlinkat-with-size.c (main): Likewise.
39991         * tests/test-areadlinkat.c (main): Likewise.
39992         * tests/test-canonicalize-lgpl.c (main): Likewise.
39993         * tests/test-canonicalize.c (main): Likewise.
39994         * tests/test-fstatat.c (main): Likewise.
39995         * tests/test-linkat.c (main): Likewise.
39996         * tests/test-lstat.h (test_lstat_func): Likewise.
39997         * tests/test-mkdir.h (test_mkdir): Likewise.
39998         * tests/test-readlink.h (test_readlink): Likewise.
39999         * tests/test-remove.c (main): Likewise.
40000         * tests/test-rename.h (test_rename): Likewise.
40001         * tests/test-renameat.c (main): Likewise.
40002         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40003         * tests/test-symlink.h (test_symlink): Likewise.
40004         * tests/test-symlinkat.c (main): Likewise.
40005         * tests/test-unlink.h (test_unlink_func): Likewise.
40006         * tests/test-unlinkat.c (main): Likewise.
40007
40008         maint: make realtime library usage explicit
40009         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40010         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40011         * modules/settime (Link): Likewise.
40012         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40013
40014         test-stat-time: speed up execution
40015         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40016         warning on mingw.
40017         (nap): New helper function.
40018         (prepare_test): Use it to reduce sleep time.
40019         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40020         execution.
40021         * modules/stat-time-tests (configure.ac): Check for usleep.
40022
40023 2009-10-09  Jim Meyering  <meyering@redhat.com>
40024
40025         selinux-h: always use getfilecon wrappers
40026         * lib/getfilecon.c: New file.
40027         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40028         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40029         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40030         (fgetfilecon): Provide a stub.
40031         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40032         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40033         file unconditionally.
40034         When <selinux/selinux.h> is found, arrange to use wrappers.
40035         * modules/selinux-h (Files): Add getfilecon.c.
40036         (Makefile.am): Substitute include-next-related bits
40037         into the now-always-generated selinux/selinux.h file.
40038         * doc/glibc-functions/lgetfilecon.texi: New file.
40039         * doc/glibc-functions/fgetfilecon.texi: New file.
40040         * doc/glibc-functions/getfilecon.texi: New file.
40041         * doc/glibc-functions/getfilecon-desc.texi: New file.
40042         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40043         which to pull in the new files.
40044         * MODULES.html.sh (Misc): Add selinux-h.
40045
40046 2009-10-08  Jim Meyering  <meyering@redhat.com>
40047
40048         unistd: fix comment typo
40049         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40050
40051 2009-10-08  Eric Blake  <ebb9@byu.net>
40052
40053         areadlink: use SIZE_MAX consistently
40054         * modules/areadlink (Depends-on): Add stdint.
40055         * modules/areadlink-with-size (Depends-on): Likewise.
40056         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40057         gives NULL; drop sys/types, since unistd gives size_t; and add
40058         stdint for SIZE_MAX.
40059         (SIZE_MAX): Rely on headers.
40060         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40061         and add stdint.
40062         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40063         (SIZE_MAX): Likewise.
40064         (INITIAL_BUF_SIZE): Turn into enum.
40065         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40066
40067 2009-10-08  Jim Meyering  <meyering@redhat.com>
40068
40069         areadlinkat: avoid compilation failure
40070         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40071         Fix typo in comment.
40072
40073 2009-10-07  Eric Blake  <ebb9@byu.net>
40074
40075         areadlinkat-with-size: new module
40076         * modules/areadlinkat-with-size: New module.
40077         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40078         * lib/areadlink.h (areadlinkat): Declare it.
40079         * MODULES.html.sh (File system functions): Mention it.
40080         * modules/areadlinkat-with-size-tests: New test.
40081         * tests/test-areadlinkat-with-size.c: New file.
40082
40083         xreadlinkat: new module
40084         * modules/xreadlinkat: New module.
40085         * lib/xreadlinkat.c (xreadlinkat): New file.
40086         * lib/xreadlink.h (xreadlinkat): Declare it.
40087         * MODULES.html.sh (File system functions): Mention it.
40088
40089         areadlinkat: new module
40090         * lib/at-func.c (FUNC_FAIL): New define.
40091         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40092         * modules/areadlinkat: New module.
40093         * lib/linkat.c (areadlinkat): Move...
40094         * lib/areadlinkat.c (areadlinkat): ...to new file.
40095         * lib/areadlink.h (areadlinkat): Declare it.
40096         * modules/linkat (Depends-on): Add areadlinkat.
40097         * MODULES.html.sh (File system functions): Mention it.
40098         * modules/areadlinkat-tests: New test.
40099         * tests/test-areadlinkat.c: New file.
40100
40101         areadlink, areadlink-with-size: add tests
40102         * modules/areadlink-tests: New test.
40103         * modules/areadlink-with-size-tests: Likewise.
40104         * tests/test-areadlink.h: New file.
40105         * tests/test-areadlink.c: Likewise.
40106         * tests/test-areadlink-with-size.c: Likewise.
40107
40108         maint: minor cleanups
40109         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40110         _UNUSED_PARAMETER_ instead.
40111         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40112         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40113         * modules/linkat-tests (Files): Distribute test-link.h.
40114
40115         openat, utimens: whitespace cleanup
40116         * lib/openat.c: Prefer space throughout, rather than mix of 8
40117         spaces vs. tabs.
40118         * lib/at-func.c: Likewise.
40119         * lib/utimens.c: Likewise.
40120
40121         openat: avoid using wrong fd
40122         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40123         working directory chooses same fd.
40124         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40125
40126         mkdir, mkdirat: fix cygwin 1.5.x bug
40127         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40128         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40129         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40130         bug.
40131         (gl_PREREQ_MKDIR): Delete unused macro.
40132         * modules/mkdir (Files): Track file rename.
40133         (configure.ac): Update macro name.
40134         * modules/openat (Depends-on): Add mkdir.
40135         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40136
40137         mkdir, mkdirat: add tests
40138         * modules/mkdir-tests: New test.
40139         * tests/test-mkdir.h: New file.
40140         * tests/test-mkdir.c: Likewise.
40141         * tests/test-mkdirat.c: Likewise.
40142         * modules/openat-tests (Files): Add new files.
40143         (Makefile.am): Run new test.
40144
40145 2009-10-06  Eric Blake  <ebb9@byu.net>
40146
40147         doc: tweak *at function documentation
40148         * doc/posix-functions/faccessat.texi (faccessat): Mention
40149         known issue with replacement.
40150         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40151         * doc/posix-functions/linkat.texi (linkat): Likewise.
40152         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40153         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40154         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40155         * doc/posix-functions/renameat.texi (renameat): Likewise.
40156         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40157
40158         openat: fix GNU/Hurd bug in unlinkat
40159         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40160         broken.
40161         * doc/posix-functions/unlink.texi (unlink): Document this.
40162         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40163
40164         fdopendir: fix GNU/Hurd bug
40165         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40166         allowing non-directory fds.
40167         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40168         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40169         * modules/dirent (Makefile.am): Substitute it.
40170         * lib/dirent.in.h (fdopendir): Declare replacement.
40171         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40172         * tests/test-fdopendir.c (main): Test something other than
40173         /dev/null, since on Hurd that behaves like a directory.
40174
40175         test-symlink: port to GNU/Hurd
40176         * tests/test-symlink.h (test_symlink): Relax expected errno.
40177
40178         doc: tweak more cygwin information
40179         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40180         now compatible with glibc.
40181         * doc/posix-functions/getopt.texi (getopt): Likewise.
40182
40183         getopt-gnu: add another test
40184         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40185         guarantee behavior relied on by m4.
40186         * tests/test-getopt.c (main): Use it.
40187         * modules/getopt-posix-tests (Depends-on): Add setenv.
40188         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40189
40190         getopt: fix compilation on darwin
40191         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40192         include.
40193         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40194         Reported by Ludovic Courtès.
40195
40196 2009-10-06  Bruno Haible  <bruno@clisp.org>
40197
40198         * modules/size_max (Description): Discourage its use.
40199         Reported by Simon Josefsson.
40200
40201 2009-10-06  Jim Meyering  <meyering@redhat.com>
40202
40203         linkat: avoid compilation failure
40204         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40205
40206 2009-10-05  Eric Blake  <ebb9@byu.net>
40207
40208         linkat: support Linux 2.6.17
40209         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40210         linkat on Linux, but allow cache variable override.
40211         * lib/linkat.c (rpl_linkat): Define override.
40212         * modules/linkat (Depends-on): Add symlinkat.
40213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40214         * modules/unistd (Makefile.am): Substitute it.
40215         * lib/unistd.in.h (linkat): Declare replacement.
40216         Reported by Pádraig Brady.
40217
40218         quotearg: port test to systems with C.UTF-8 locale
40219         * tests/test-quotearg.c (struct result_strings): Add another
40220         member, differentiating between C.ASCII and C.UTF-8 handling.
40221         (compare_strings): Add parameter.
40222         (main): Adjust all callers.
40223
40224         getopt: avoid clash with FreeBSD _getopt_internal
40225         * lib/getopt.in.h (_getopt_internal): Override the name.
40226         * lib/getopt_int.h (includes): Pick up any overrides.
40227         Reported by Reuben Thomas.
40228
40229         hash: allow C89 compilation
40230         * lib/hash.c (check_tuning): Move declaration before statement.
40231         Reported by Reuben Thomas.
40232
40233 2009-10-05  Karl Berry  <karl@gnu.org>
40234
40235         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40236
40237 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40238             Bruno Haible  <bruno@clisp.org>
40239
40240         * lib/uname.c (uname): Use a table-driven algorithm to compute
40241         Windows NT versions.
40242
40243 2009-10-04  Bruno Haible  <bruno@clisp.org>
40244
40245         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40246         program_invocation_short_name.
40247         * modules/progname (configure.ac): Test for presence of
40248         program_invocation_short_name.
40249         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40250
40251 2009-10-04  Bruno Haible  <bruno@clisp.org>
40252
40253         * lib/progname.c (set_program_name): Fix comment.
40254         Reported by Jim Meyering.
40255
40256 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40257             Bruno Haible  <bruno@clisp.org>
40258
40259         * lib/uname.c: Include <string.h>.
40260         (uname): Do only one call to GetVersionEx in the common case.
40261
40262 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40263             Bruno Haible  <bruno@clisp.org>
40264
40265         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40266         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40267         (uname): Add support for Windows CE and various non-x86 CPU types.
40268
40269 2009-10-03  Bruno Haible  <bruno@clisp.org>
40270
40271         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40272         invocation to tests/configure.ac.
40273         Reported by Ian Beckwith <ianb@erislabs.net>.
40274
40275 2009-10-02  Eric Blake  <ebb9@byu.net>
40276
40277         fchdir: avoid compiler warning
40278         * lib/fchdir.c (canonicalize_file_name)
40279         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40280
40281         test-open: support mingw errno values
40282         * tests/test-open.h (test_open): Relax test.
40283         * tests/test-fopen.h (test_fopen): Likewise.
40284         * tests/test-openat-safer.c (main): Likewise.
40285
40286         open: fix opening directory on mingw
40287         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40288
40289         test-open: on GNU/Hurd, /dev/null is a directory
40290         * tests/test-fopen.h (main): Rename...
40291         (test_fopen): ...to this.  Use a guaranteed non-directory when
40292         confirming open behavior on trailing slash.
40293         * tests/test-openat-safer.c (main): Likewise.
40294         * tests/test-open.h (main): Likewise....
40295         (test_open): ...to this.
40296         * tests/test-fopen.c (main): Adjust caller.
40297         * tests/test-fopen-safer.c (main): Likewise.
40298         * tests/test-open.c (main): Likewise.
40299         * tests/test-fcntl-safer.c (main): Likewise.
40300         Reported by Samuel Thibault.
40301
40302         rename, fchdir: don't ignore chdir failure
40303         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40304         * lib/rename.c (rpl_rename) [W32]: Likewise.
40305         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40306         an empty destination directory if source cannot be renamed,
40307         although there is still possibility for failure.
40308         * doc/posix-functions/rename.texi (rename): Document the race.
40309         Reported by Jim Meyering.
40310
40311         maint: cleanup whitespace in recent commits
40312         * lib/rename.c (rpl_rename): Remove tabs.
40313         * tests/test-link.h (test_link): Likewise.
40314         * lib/fchdir.c (get_name): Likewise.
40315         Reported by Jim Meyering.
40316
40317 2009-10-02  Ben Pfaff  <blp@gnu.org>
40318
40319         relocatable-prog-wrapper: Add missing dependency on
40320         double-slash-root.
40321         * modules/relocatable-prog-wrapper: Add dependency.
40322         Reported by Ian Beckwith <ianb@erislabs.net>.
40323
40324 2009-10-02  Eric Blake  <ebb9@byu.net>
40325
40326         renameat: fix Solaris bugs
40327         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40328         needed fixing.
40329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40330         * modules/stdio (Makefile.am): Substitute it.
40331         * lib/stdio.in.h (renameat): Declare replacement.
40332         * lib/renameat.c (rpl_renameat): Implement fix.
40333
40334         renameat: new module
40335         * modules/renameat: New file.
40336         * lib/renameat.c (renameat): Likewise.
40337         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40339         * modules/stdio (Makefile.am): Substitute them.
40340         * lib/stdio.in.h (renameat): Declare it.
40341         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40342         * doc/posix-functions/renameat.texi (renameat): Likewise.
40343         * modules/renameat-tests: New test.
40344         * tests/test-renameat.c: Likewise.
40345
40346         rename: fix mingw bugs
40347         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40348         directory overwrite bugs.
40349
40350         rename: fix another cygwin 1.5 bug
40351         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40352         checks.
40353         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40354         unnecessary cygwin workarounds.  Also work around bug with moving
40355         full directory onto an empty one.
40356         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40357
40358         rename-dest-slash: merge into rename module
40359         * modules/rename-dest-slash (Status): Mark obsolete.
40360         (Depends-on): Add rename.
40361         (Files): Let rename do it all.
40362         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40363         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40364         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40365         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40366         * lib/rename.c (rpl_rename): Update comments.
40367
40368         rename: fix cygwin 1.5.x bugs
40369         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40370         * lib/rename.c (rpl_rename): Work around them.
40371         * modules/rename (Depends-on): Add same-inode.
40372
40373         rename: fix Solaris 10 bug
40374         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40375         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40376         was the only bug.
40377
40378         rename: fix Solaris 9 bug
40379         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40380         on non-directory.  Avoid calling exit.
40381         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40382         strdup.
40383         * modules/rename-tests (Depends-on): Drop lstat.
40384         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40385         (gl_PREREQ_RENAME): Delete unused macro.
40386
40387         rename-dest-slash: fix NetBSD bug
40388         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40389         links.
40390         * modules/rename-dest-slash (Depends-on): Add same-inode.
40391
40392         rename-tests: new test, exposes several platform bugs
40393         * modules/rename-tests: New file.
40394         * tests/test-rename.h: Likewise.
40395         * tests/test-rename.c: Likewise.
40396         * doc/posix-functions/rename.texi (rename): Improve documentation,
40397         including bugs that will eventually be fixed in gnulib.
40398
40399 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
40400
40401         * lib/uname.c: Include <stdlib.h>
40402         (uname): Assume version info is available.
40403
40404 2009-10-02  Jim Meyering  <meyering@redhat.com>
40405
40406         gnu-web-doc-update: correct --help output
40407         * build-aux/gnu-web-doc-update: Make --help output relevant.
40408
40409         gnu-web-doc-update: add standard options
40410         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
40411
40412         gnu-web-doc-update: New module.
40413         Use this script to automatically update the on-line web documentation
40414         for your GNU project at http://www.gnu.org/software/$pkg/manual/
40415         * modules/gnu-web-doc-update: New file, from coreutils.
40416         * build-aux/gnu-web-doc-update: New script.
40417
40418 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
40419
40420         link: LoadLibrary is not needed.
40421         * lib/link.c: Use GetModuleHandle.
40422
40423 2009-10-01  Eric Blake  <ebb9@byu.net>
40424
40425         getopt: bump serial number
40426         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
40427         change.
40428
40429         tests: tighten link, rmdir, and remove tests
40430         * tests/test-link.h (includes): No need to use <config.h> here.
40431         Clean up if directory hard link was created, otherwise test for
40432         trailing '.'.
40433         * tests/test-linkat.c (main): Simplify.
40434         * tests/test-remove.c (main): Enhance test for trailing '.'.
40435         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40436
40437 2009-10-01  Jim Meyering  <meyering@redhat.com>
40438
40439         maint.mk: requiring "make major" was annoying, for a "minor" release.
40440         What is intended is "stable", to contrast with alpha and beta,
40441         so require "make stable", not "make major".
40442         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
40443         (get_tool_versions): Likewise.
40444         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
40445
40446 2009-09-30  Ben Pfaff  <blp@gnu.org>
40447
40448         Fix broken build of replacement for Windows tmpfile().
40449         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
40450         flags argument added along with the 'mkostemp' module.
40451
40452 2009-09-28  Bruno Haible  <bruno@clisp.org>
40453
40454         Avoid identifier clash with POSIX function 'remove' defined as a macro.
40455         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
40456         to 'remove_elt'.
40457         (gl_list_remove): Update.
40458         * lib/gl_list.c (gl_list_remove): Update.
40459         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
40460         to 'remove_elt'.
40461         (gl_oset_remove): Update.
40462         * lib/gl_list.c (gl_oset_remove): Update.
40463         Reported by Eric Blake.
40464
40465 2009-09-28  Eric Blake  <ebb9@byu.net>
40466
40467         doc: mention yet more cygwin 1.7 status
40468         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
40469         cygwin.
40470         * doc/glibc-functions/execvpe.texi (execvpe): New file.
40471         * doc/gnulib.texi (Glibc unistd.h): Mention it.
40472
40473         argp: fix test failure
40474         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
40475         that are not upper-case.  Pass correct range to tolower.
40476
40477 2009-09-27  Jim Meyering  <meyering@redhat.com>
40478
40479         test-yesno: work around sparc-dash here-document infelicity
40480         Without this change, the literal \177 byte in a here document
40481         would make dash 0.5.5.1-3 access uninitialized memory.
40482         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
40483         Instead, use a marker, "@", and filter through tr to create the desired
40484         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
40485
40486 2009-09-27  Bruno Haible  <bruno@clisp.org>
40487
40488         Disable untested support for new flavours of ACLs on AIX.
40489         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
40490         progress.
40491         * lib/set-mode-acl.c (qset_acl): Likewise.
40492
40493 2008-12-07  Bruno Haible  <bruno@clisp.org>
40494
40495         Add support for new flavours of ACLs on AIX. (Untested.)
40496         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
40497         (file_has_acl): Add support for newer AIX.
40498         * lib/set-mode-acl.c (qset_acl): Likewise.
40499         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
40500         Rainer Tammer <tammer@tammer.net>.
40501
40502 2009-09-26  Eric Blake  <ebb9@byu.net>
40503
40504         argp: fix compilation of getopt
40505         * lib/getopt.in.h (includes): Use different guard than glibc.
40506         Reported by Sergey Poznyakoff.
40507
40508         doc: mention more cygwin 1.7 status
40509         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
40510         bug.
40511         * doc/posix-functions/execl.texi (execl): Likewise.
40512         * doc/posix-functions/execle.texi (execle): Likewise.
40513         * doc/posix-functions/execlp.texi (execlp): Likewise.
40514         * doc/posix-functions/execv.texi (execv): Likewise.
40515         * doc/posix-functions/execve.texi (execve): Likewise.
40516         * doc/posix-functions/execvp.texi (execvp): Likewise.
40517         * doc/glibc-functions/canonicalize_file_name.texi
40518         (canonicalize_file_name): Cygwin 1.7 now provides this.
40519         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
40520         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
40521         on AT_SYMLINK_NOFOLLOW.
40522
40523 2009-09-24  Eric Blake  <ebb9@byu.net>
40524
40525         test-linkat: make test more robust
40526         * tests/test-linkat.c (main): Avoid collision with EEXIST.
40527
40528         getopt: fix inclusion guards for cygwin
40529         * modules/getopt-posix (Depends-on): Add include-next.
40530         (Makefile.am): Substitute more items in replacement header.
40531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
40532         <getopt.h>.
40533         * lib/getopt.in.h (includes): Use split inclusion guard, and
40534         prefer <getopt.h> over include <unistd.h> when one is present.
40535         (option): Also override name of 'struct option'.
40536
40537         same-inode: revert prior change; it is not yet ready
40538         * NEWS: Undo mention of this change.
40539         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40540         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40541         * lib/cycle-check.c (cycle_check): Likewise.
40542         * lib/same.c (same_name): Likewise.
40543         * lib/at-func2.c (at_func2): Likewise.
40544
40545 2009-09-23  Eric Blake  <ebb9@byu.net>
40546
40547         linkat: new module
40548         * modules/linkat: New file.
40549         * lib/at-func2.c (at_func2): Likewise.
40550         * lib/linkat.c (linkat): Likewise.
40551         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40552         * lib/openat-priv.h (at_func2): Add declaration.
40553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40554         * modules/unistd (Makefile.am): Substitute them.
40555         * lib/unistd.in.h (linkat): Declare it.
40556         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40557         * doc/posix-functions/linkat.texi (linkat): Likewise.
40558         * doc/posix-functions/link.texi (link): Tweak wording.
40559         * tests/test-link.c (main): Move guts...
40560         * tests/test-link.h (test_link): ...into new file.
40561         * modules/linkat-tests: New test.
40562         * tests/test-linkat.c: Likewise.
40563         * modules/link-tests (Files): Ship new file.
40564         (Depends-on): Add stdbool.
40565
40566         dirname: add library-safe mdir_name
40567         * lib/dirname.h (mdir_name): New prototype.
40568         * lib/dirname.c (dir_name): Move guts...
40569         (mdir_name): ...to new function that avoids xalloc_die.
40570
40571         fchdir: another mingw fix
40572         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40573         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40574         on mingw (where it has not yet been ported), and make it optional
40575         elsewhere.
40576         (_gl_register_fd): Use it.
40577
40578         same-inode: make SAME_INODE tri-state, to port to mingw
40579         * NEWS: Mention this change.
40580         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40581         st_ino always being 0.
40582         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40583         * lib/cycle-check.c (cycle_check): Likewise.
40584         * lib/same.c (same_name): Likewise.
40585
40586         lstat: avoid mingw compilation error
40587         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40588         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40589         lstat ourselves.
40590         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40591         was adequate.
40592         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40593         the checks for lstat.
40594         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40595
40596         link: fix test failure on Solaris 9
40597         * lib/link.c (rpl_link): Don't assume link will catch bogus
40598         trailing slash on source.
40599
40600         test-symlinkat: enhance test
40601         * tests/test-readlink.c (main): Move guts...
40602         * tests/test-readlink.h (test_readlink): ...into new file.
40603         * tests/test-symlink.c (main): Move guts...
40604         * tests/test-symlink.h (test_symlink): ...into new file.
40605         * tests/test-symlinkat.c (main): Use new files for further
40606         coverage.
40607         (do_symlink, do_readlink): New helper functions.
40608         * modules/symlink-tests (Files): Ship new file.
40609         (Depends-on): Add stdbool.
40610         * modules/readlink-tests (Files): Ship new file.
40611         (Depends-on): Add stdbool.
40612         * modules/symlinkat-tests (Files): Use new files.
40613
40614 2009-09-23  Eric Blake  <ebb9@byu.net>
40615
40616         readlink: document portability issue with symlink length
40617         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40618         systems have bogus st_size on symlinks, and mention the
40619         areadlink-with-size module.
40620         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40621         * doc/posix-functions/readlink.texi (readlink): Mention the
40622         areadlink module, and ERANGE failure.
40623         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40624         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40625
40626         readlink: fix Solaris 9 bug with trailing slash
40627         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40628         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40629         * doc/posix-functions/readlink.texi (readlink): Document this.
40630         * modules/readlink-tests: New test.
40631         * tests/test-readlink.c: Likewise.
40632
40633         readlink: fix cygwin 1.5.x bug with return type
40634         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40635         * lib/unistd.in.h (readlink): Use ssize_t.
40636         * lib/readlink.c (readlink): Likewise.
40637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40638         * modules/unistd (Makefile.am): Substitute it.
40639         * lib/unistd.in.h (readlink): Declare replacement.
40640         * doc/posix-functions/readlink.texi (readlink): Document this.
40641
40642         symlink: use throughout gnulib
40643         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40644         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40645         symlink is not used.
40646         * modules/symlinkat (Depends-on): Add symlink.
40647         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40648         * modules/canonicalize-tests (Depends-on): Likewise.
40649         * modules/lstat-tests (Depends-on): Likewise.
40650         * modules/openat-tests (Depends-on): Likewise.
40651         * modules/remove-tests (Depends-on): Likewise.
40652         * modules/rmdir-tests (Depends-on): Likewise.
40653         * modules/unlink-tests (Depends-on): Likewise.
40654         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40655         * tests/test-canonicalize.c (symlink): Likewise.
40656         * tests/test-fstatat.c (symlink): Likewise.
40657         * tests/test-lstat.c (symlink): Likewise.
40658         * tests/test-remove.c (symlink): Likewise.
40659         * tests/test-rmdir.c (symlink): Likewise.
40660         * tests/test-unlink.c (symlink): Likewise.
40661         * tests/test-unlinkat.c (symlink): Likewise.
40662
40663         symlink: new module, for Solaris 9 bug
40664         * modules/symlink: New file.
40665         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40666         * lib/symlink.c: Likewise.
40667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40668         * modules/unistd (Makefile.am): Substitute them.
40669         * lib/unistd.in.h (symlink): Declare replacement.
40670         * MODULES.html.sh (File system functions): Mention it.
40671         * doc/posix-functions/symlink.texi (symlink): Likewise.
40672         * modules/symlink-tests: New test.
40673         * tests/test-symlink.c: Likewise.
40674
40675 2009-09-23  Bruno Haible  <bruno@clisp.org>
40676
40677         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40678         when needed.
40679         Test case: gnulib-tool --import --with-tests atexit inttypes.
40680         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40681
40682 2009-09-23  Bruno Haible  <bruno@clisp.org>
40683
40684         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40685         subcommand, not in a subshell.
40686
40687 2009-09-22  Eric Blake  <ebb9@byu.net>
40688
40689         unistd: sort replacement declarations
40690         * lib/unistd.in.h: Sort declarations.
40691
40692         open, openat: minor optimization
40693         * lib/open.c (open): If open succeeded, len is non-zero.
40694         * lib/openat.c (rpl_openat): Likewise.
40695
40696         link-follow: ensure correct result
40697         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40698         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40699         distinguish between possible failures.
40700
40701 2009-09-21  Eric Blake  <ebb9@byu.net>
40702
40703         fts: avoid compiler warning
40704         * lib/fts.c (dirent_inode_sort_may_be_useful)
40705         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40706
40707 2009-09-19  Bruno Haible  <bruno@clisp.org>
40708
40709         * lib/progreloc.c (canonicalize_file_name): New declaration.
40710
40711 2009-09-19  Eric Blake  <ebb9@byu.net>
40712
40713         link: fix quoting
40714         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40715
40716         openat: fix openat bugs on Solaris 9
40717         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40718         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40719         * modules/openat (Depends-on): Add open.
40720         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40721         * modules/fcntl-h (Makefile.am): Substitute it.
40722         * lib/fcntl.in.h (openat): Declare replacement.
40723         * doc/posix-functions/openat.texi (openat): Document this.
40724
40725         openat: move fstatat and unlinkat into correct files
40726         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40727         compiled.
40728         * lib/openat.c (fstatat, unlinkat): Move...
40729         * lib/fstatat.c (fstatat): ...into correct files.
40730         * lib/unlinkat.c (unlinkat): Likewise.
40731
40732         openat: fix unlinkat bugs on Solaris 9
40733         * lib/unlinkat.c (unlinkat): New file.
40734         * modules/openat (Depends-on): Add unlink.
40735         (Files): Distribute it.
40736         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40737         trailing slash behavior is broken.
40738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40739         * modules/unistd (Makefile.am): Substitute it.
40740         * lib/unistd.in.h (unlinkat): Declare replacement.
40741         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40742
40743         openat: fix fstatat bugs on Solaris 9
40744         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40745         stat.
40746         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40747
40748         test-unlinkat: enhance test, to expose Solaris 9 bug
40749         * tests/test-unlink.c (main): Factor guts...
40750         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40751         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40752         * tests/test-rmdir.c (main): Adjust caller.
40753         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40754         (unlinker): New helper function.
40755         (rmdirat): Enhance check.
40756         * modules/rmdir-tests (Depends-on): Add stdbool.
40757         * modules/unlink-tests (Depends-on): Likewise.
40758         (Files): Add test-unlink.h.
40759         * modules/openat-tests (Files): Likewise.
40760         (Depends-on): Add unlinkdir.
40761
40762         test-fstatat: new test, to expose Solaris 9 bugs
40763         * tests/test-stat.c (main): Factor guts...
40764         * tests/test-stat.h (test_stat_func): ...into new file.
40765         * tests/test-lstat.c (main): Factor guts...
40766         * tests/test-lstat.h (test_lstat_func): ...into new file.
40767         * tests/test-fstatat.c: New file.
40768         * modules/stat-tests (Files): Add test-stat.h.
40769         * modules/lstat-tests (Files): Add test-lstat.h.
40770         (Depends-on): Add stdbool.
40771         * modules/openat-tests (Depends-on): Add pathmax.
40772         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40773         (Makefile.am): Run new test.
40774
40775         remove: new module, for mingw and Solaris 9 bugs
40776         * modules/remove: New file.
40777         * lib/remove.c: Likewise.
40778         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40780         * modules/stdio (Makefile.am): Use them.
40781         * lib/stdio.in.h (remove): Declare replacement.
40782         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40783         * doc/posix-functions/remove.texi (remove): Likewise.
40784         * modules/remove-tests: New test.
40785         * tests/test-remove.c: Likewise.
40786
40787         unlink: new module, for Solaris 9 bug
40788         * modules/unlink: New file.
40789         * lib/unlink.c: Likewise.
40790         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40792         * modules/unistd (Makefile.am): Use them.
40793         * lib/unistd.in.h (stat): Declare replacement.
40794         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40795         * doc/posix-functions/unlink.texi (unlink): Likewise.
40796         * modules/unlink-tests: New test.
40797         * tests/test-unlink.c: Likewise.
40798
40799         lstat: fix Solaris 9 bug
40800         * lib/lstat.c (lstat): Also check for trailing slash on
40801         non-symlink, non-directories.  Use stat module to simplify logic.
40802         * doc/posix-functions/lstat.texi (lstat): Document it.
40803         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40804         (configure.ac): Check for symlink.
40805         * tests/test-lstat.c (main): Add more tests.
40806
40807         stat: add as dependency to other modules
40808         * modules/chown (Depends-on): Add stat.
40809         * modules/euidaccess (Depends-on): Likewise.
40810         * modules/fchdir (Depends-on): Likewise.
40811         * modules/isdir (Depends-on): Likewise.
40812         * modules/link (Depends-on): Likewise.
40813         * modules/lstat (Depends-on): Likewise.
40814         * modules/mkdir-p (Depends-on): Likewise.
40815         * modules/modechange (Depends-on): Likewise.
40816         * modules/open (Depends-on): Likewise.
40817         * modules/readlink (Depends-on): Likewise.
40818         * modules/same (Depends-on): Likewise.
40819
40820         stat: fix Solaris 9 bug
40821         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40822         slash.
40823         * lib/stat.c (rpl_stat): Work around it.
40824         * doc/posix-functions/stat.texi (stat): Update documentation.
40825
40826         stat: new module, for mingw bug
40827         * modules/stat: New file.
40828         * lib/stat.c: Likewise.
40829         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40830         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40831         * modules/sys_stat (Makefile.am): Use them.
40832         * lib/sys_stat.in.h (stat): Declare replacement.
40833         * lib/openat.c (fstatat): Deal with lstat and stat being function
40834         macros.
40835         * modules/openat (Depends-on): Add inline.
40836         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40837         * doc/posix-functions/stat.texi (stat): Likewise.
40838         * modules/stat-tests: New test.
40839         * tests/test-stat.c: Likewise.
40840
40841 2009-09-19  Jim Meyering  <meyering@redhat.com>
40842
40843         syntax-check: detect unnecessary inclusion of canonicalize.h
40844         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40845
40846 2009-09-19  Eric Blake  <ebb9@byu.net>
40847
40848         canonicalize-lgpl: adjust clients to use correct header
40849         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40850         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40851         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40852         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40853         * lib/progreloc.c (includes): Likewise.
40854
40855 2009-09-19  Jim Meyering  <meyering@redhat.com>
40856
40857         test-posixtm.c: correct a comment
40858         * tests/test-posixtm.c: Correct first-line comment.
40859         Spotted by Eric Blake.
40860
40861 2009-09-16  Jim Meyering  <meyering@redhat.com>
40862
40863         posixtm-tests: make T const-correct; add a test case
40864         * tests/test-posixtm.c (T): Declare const.
40865         Add a test for -(2^31+1).
40866         Remove useless can-succeed-only-in-2002 test.
40867
40868         posixtm-tests: adjust the sole failing test
40869         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40870         expected output matches what mktime now produces.  Cross-checked via
40871         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40872
40873         posixtm: move #ifdef'd tests into a new module
40874         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40875         * tests/test-posixtm.c: ... this new file.
40876         * modules/posixtm-tests: New module.
40877
40878 2009-09-19  Eric Blake  <ebb9@byu.net>
40879
40880         openat: simplify use of at-func.c
40881         * lib/at-func.c (includes): Include prerequisites here, to
40882         simplify requirements on client files.
40883         * lib/openat-priv.h: Add double-inclusion guard.
40884         * lib/faccessat.c (includes): Simplify.
40885         * lib/fchmodat.c (includes): Likewise.
40886         * lib/fchownat.c (includes): Likewise.
40887         * lib/mkdirat.c (includes): Likewise.
40888         * lib/mkfifoat.c (includes): Likewise.
40889         * lib/symlinkat.c (includes): Likewise.
40890
40891         openat: allow return of fd 0
40892         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40893         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40894         unistd-safer.
40895         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40896         <fcntl.h>; this module does not leak fds.
40897         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40898         must be allowed to return 0, leaving openat_safer to add the
40899         safety.
40900         (openat_permissive): Avoid writing to just-opened fd 2 if
40901         restoring the current directory fails.
40902         * lib/openat-die.c (openat_restore_fail): Add comment.
40903         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
40904         (save_cwd): Guarantee safe fd, but without use of open_safer.
40905         * tests/test-openat.c: New test.
40906         * modules/openat-tests (Files, Makefile.am): Distribute and build
40907         new file.
40908
40909         relocatable-prog-wrapper: fix build
40910         * modules/relocatable-prog-wrapper (Files): Update name of
40911         canonicalize m4 file, broken on 2009-09-17.
40912         Reported by emad hajjar <aleppos@hotmail.com>.
40913
40914 2009-09-19  Bruno Haible  <bruno@clisp.org>
40915
40916         * lib/safe-alloc.h: Use the standard header with GPL copyright.
40917         * lib/safe-alloc.c: Likewise.
40918         Reported by Ian Beckwith <ianb@erislabs.net>.
40919
40920 2009-09-18  Bruno Haible  <bruno@clisp.org>
40921
40922         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
40923         Reported by <erobles@sensacd.com.mx>.
40924
40925 2009-09-17  Eric Blake  <ebb9@byu.net>
40926
40927         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
40928         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
40929         slashes when checking if last component is missing.
40930         * tests/test-canonicalize.c (main): Test this.
40931
40932         canonicalize, canonicalize-lgpl: honor // if distinct from /
40933         * modules/canonicalize (Files): Add double-slash-root.m4.
40934         * modules/canonicalize-lgpl (Files): Likewise.
40935         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40936         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
40937         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
40938         fallback definition.
40939         (canonicalize_filename_mode): Use it to protect //.
40940         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
40941         (__realpath): Likewise.
40942         * tests/test-canonicalize.c (main): Test this.
40943         * tests/test-canonicalize-lgpl.c (main): Likewise.
40944         * modules/canonicalize-tests (Depends-on): Add same-inode.
40945         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40946
40947         canonicalize-lgpl: fix glibc bug with trailing slash
40948         * m4/canonicalize-lgpl.m4: Move contents...
40949         * m4/canonicalize.m4: ...here.
40950         (gl_CANONICALIZE_LGPL): Factor realpath check...
40951         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
40952         glibc 2.3.5 bug, fixed 2005-04-27.
40953         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
40954         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
40955         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
40956         * modules/canonicalize-lgpl (Files): Manage file rename.
40957         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40958         * modules/stdlib (Makefile.am): Substitute witness.
40959         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
40960         is needed.
40961         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
40962         replacement is required.
40963         * lib/canonicalize.c (canonicalize_file_name): Likewise.
40964         * doc/glibc-functions/canonicalize_file_name.texi
40965         (canonicalize_file_name): Document this.
40966         * doc/posix-functions/realpath.texi (realpath): Likewise.
40967
40968         canonicalize-lgpl: reject non-directory with trailing slash
40969         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
40970         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
40971         catches failures in glibc 2.3.5.
40972         * tests/test-canonicalize.c (main): Likewise.
40973
40974         canonicalize-lgpl: use native realpath if it works
40975         * lib/canonicalize-lgpl.c (realpath): Guard with
40976         FUNC_REALPATH_WORKS.
40977         * lib/stdlib.in.h (realpath): Make declaration optional based on
40978         HAVE_REALPATH.
40979         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
40980         native realpath works.
40981         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40982         * modules/stdlib (Makefile.am): Substitute witness.
40983
40984         canonicalize, canonicalize-lgpl: use <stdlib.h>
40985         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
40986         (Include): Mention <stdlib.h>.
40987         (configure.ac): Mention functions we provide.
40988         * modules/canonicalize (configure.ac): Likewise.
40989         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
40990         realpath if canonicalize_file_name is missing.
40991         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
40992         * modules/stdlib (Makefile.am): Substitute witnesses.
40993         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
40994         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
40995         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
40996         * NEWS: Document this.
40997         * doc/glibc-functions/canonicalize_file_name.texi
40998         (canonicalize_file_name): Likewise.
40999         * doc/posix-functions/realpath.texi (realpath): Likewise.
41000         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41001
41002         test-canonicalize: consolidate into single C program
41003         * tests/test-canonicalize.sh: Delete; move setup into...
41004         * tests/test-canonicalize.c (main): ...the program, making it
41005         easier to run in debugger.  Add some tests.
41006         * modules/canonicalize-tests (Files): Remove unused file.
41007         (Depends-on): Add progname.
41008         (configure.ac, Makefile.am): Simplify.
41009
41010         test-canonicalize-lgpl: consolidate into single C program
41011         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41012         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41013         easier to run in debugger.  Add some tests.
41014         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41015         (configure.ac, Makefile.am): Simplify.
41016
41017         canonicalize: avoid resolvepath
41018         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41019         unnecessary checks.
41020         * lib/canonicalize.c (includes): Simplify.
41021         (canonicalize_file_name): Drop resolvepath implementation.
41022         * modules/canonicalize (Depends-on): Drop filenamecat.
41023
41024         canonicalize: don't lose errno
41025         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41026         over calls to free.
41027
41028         canonicalize: simplify errno handling
41029         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41030         assignment.
41031
41032         canonicalize, canonicalize-lgpl: update module dependencies
41033         * modules/canonicalize (Depends-on): Add extensions, lstat,
41034         pathmax, stdlib.
41035         (Files): Drop pathmax.h.
41036         (configure.ac): Adjust macro name.
41037         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41038         lstat, stdlib, sys_stat.
41039         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41040         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41041         extensions.
41042         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41043         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41044         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41045         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41046         declaration, if available.
41047         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41048         we can rely on the readlink module.
41049         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41050         (includes): Use <unistd.h> unconditionally.
41051
41052 2009-09-17  Eric Blake  <ebb9@byu.net>
41053
41054         maint: make Include sections of modules consistent
41055         * modules/alloca: Use only header name; no need to list #include.
41056         * modules/alloca-opt: Likewise.
41057         * modules/arpa_inet: Likewise.
41058         * modules/canon-host: Likewise.
41059         * modules/configmake: Likewise.
41060         * modules/dirent: Likewise.
41061         * modules/eealloc: Likewise.
41062         * modules/environ: Likewise.
41063         * modules/fchdir: Likewise.
41064         * modules/fcntl: Likewise.
41065         * modules/fcntl-h: Likewise.
41066         * modules/gethrxtime: Likewise.
41067         * modules/gettime: Likewise.
41068         * modules/ignore-value: Likewise.
41069         * modules/inet_ntop: Likewise.
41070         * modules/inet_pton: Likewise.
41071         * modules/inttypes: Likewise.
41072         * modules/isnand-nolibm: Likewise.
41073         * modules/isnanf-nolibm: Likewise.
41074         * modules/mbchar: Likewise.
41075         * modules/mbfile: Likewise.
41076         * modules/mbiter: Likewise.
41077         * modules/mbuiter: Likewise.
41078         * modules/netdb: Likewise.
41079         * modules/netinet_in: Likewise.
41080         * modules/nproc: Likewise.
41081         * modules/pagealign_alloc: Likewise.
41082         * modules/poll: Likewise.
41083         * modules/printf-frexp: Likewise.
41084         * modules/pthread: Likewise.
41085         * modules/putenv: Likewise.
41086         * modules/random_r: Likewise.
41087         * modules/relocatable-prog: Likewise.
41088         * modules/search: Likewise.
41089         * modules/select: Likewise.
41090         * modules/selinux-h: Likewise.
41091         * modules/settime: Likewise.
41092         * modules/signal: Likewise.
41093         * modules/size_max: Likewise.
41094         * modules/socklen: Likewise.
41095         * modules/ssize_t: Likewise.
41096         * modules/stdarg: Likewise.
41097         * modules/stdbool: Likewise.
41098         * modules/stddef: Likewise.
41099         * modules/stdint: Likewise.
41100         * modules/stdio: Likewise.
41101         * modules/stdlib: Likewise.
41102         * modules/string: Likewise.
41103         * modules/strings: Likewise.
41104         * modules/sys_file: Likewise.
41105         * modules/sys_ioctl: Likewise.
41106         * modules/sys_select: Likewise.
41107         * modules/sys_socket: Likewise.
41108         * modules/sys_stat: Likewise.
41109         * modules/sys_time: Likewise.
41110         * modules/sys_times: Likewise.
41111         * modules/sys_utsname: Likewise.
41112         * modules/sys_wait: Likewise.
41113         * modules/sysexits: Likewise.
41114         * modules/time: Likewise.
41115         * modules/times: Likewise.
41116         * modules/tmpfile: Likewise.
41117         * modules/trim: Likewise.
41118         * modules/unistd: Likewise.
41119         * modules/wchar: Likewise.
41120         * modules/wctype: Likewise.
41121
41122 2009-09-17  Bruno Haible  <bruno@clisp.org>
41123
41124         Make getdate.y compile on QNX and NetBSD 5 / i386.
41125         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41126         TIME_T_FITS_IN_LONG_INT.
41127         * lib/getdate.y (long_time_t): New type.
41128         (relative_time): Change type of 'seconds' field to long_time_t.
41129         (get_date): Update types of local variables. Check against overflow
41130         during conversion from long_time_t to time_t.
41131         Reported by Matt Kraai <kraai@ftbfs.org>
41132         and Hasso Tepper <hasso@netbsd.org>.
41133
41134 2009-09-17  Bruno Haible  <bruno@clisp.org>
41135
41136         * modules/COPYING: Update copyright years.
41137         * modules/README: Likeiwse.
41138         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41139         Reported by Ian Beckwith <ianb@erislabs.net>.
41140
41141 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41142
41143         * users.txt: Update references for gnuit package.
41144
41145 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41146
41147         * m4/getdelim.m4: Fix typo in copyright line.
41148
41149 2009-09-17  Bruno Haible  <bruno@clisp.org>
41150
41151         * lib/atoll.c: Use the standard header with GPL copyright.
41152         * lib/argz.in.h: Likewise.
41153         * lib/glob.c: Likewise.
41154         * lib/glob-libc.h: Likewise.
41155         * lib/random_r.c: Likewise.
41156         * lib/siglist.h: Likewise.
41157         * lib/strsignal.c: Likewise.
41158         Reported by Ian Beckwith <ianb@erislabs.net>.
41159
41160 2009-09-17  Eric Blake  <ebb9@byu.net>
41161
41162         rmdir: ensure correct dependency order
41163         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41164
41165 2009-09-17  Bruno Haible  <bruno@clisp.org>
41166
41167         Disable assertion that fails on NetBSD 5 / i386.
41168         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41169         Reported by Sam Steingold <sds@gnu.org>
41170         and Hasso Tepper <hasso@netbsd.org>.
41171
41172 2009-09-16  Eric Blake  <ebb9@byu.net>
41173
41174         unlinkdir: port to mingw
41175         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41176         on which no one can unlink a directory.
41177
41178         stdlib: sort witness names
41179         * modules/stdlib (Makefile.am): Sort replacements.
41180         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41181         * lib/stdlib.in.h: Likewise.
41182
41183         parse-duration-tests: avoid link failure
41184         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41185         LIBINTL.
41186         Reported by Tom G. Christensen.
41187
41188         openat-tests: ensure unlinkat behaves like rmdir
41189         * tests/test-rmdir.c (main): Factor guts...
41190         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41191         * modules/rmdir-tests (Files): Ship new file.
41192         * modules/openat-tests: New test.
41193         * tests/test-unlinkat.c: Likewise.
41194
41195         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41196         * modules/rmdir-errno (Status, Notice): Now obsolete.
41197
41198         rmdir: work around cygwin 1.5.x and mingw bugs
41199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41200         * lib/rmdir.c (rmdir): Work around it.
41201         * modules/rmdir (Status, Notice): No longer obsolete.
41202         (Files): Add dos.m4.
41203         (Depends-on): Add unistd.
41204         (configure.ac): Set witnesses.
41205         (License): Relax to LGPLv2+.
41206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41207         * modules/unistd (Makefile.am): Substitute witnesses.
41208         * lib/unistd.in.h (rmdir): Declare replacement.
41209         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41210         * modules/rmdir-tests: New tests.
41211         * tests/test-rmdir.c: Likewise.
41212
41213 2009-09-15  Eric Blake  <ebb9@byu.net>
41214
41215         fchdir: improve use of replacement functions
41216         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41217         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41218         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41219         REPLACE_CLOSEDIR.
41220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41221         * modules/sys_stat (Makefile.am): Substitute correct witness.
41222         * modules/dirent (Makefile.am): Likewise.
41223         * modules/unistd (Makefile.am): Likewise.
41224         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41225         * lib/unistd.in.h (dup): Likewise.
41226         * lib/sys_stat.in.h (fstat): Likewise.
41227
41228         maint: ignore gnulib-tool temp files
41229         * .gitignore: Ignore files created during gnulib-tool --test.
41230
41231 2009-09-13  Jim Meyering  <meyering@redhat.com>
41232
41233         posixtm: don't reject a time that specify "60" as the number of seconds
41234         * lib/posixtm.c (posixtime): The code to reject invalid dates
41235         would also reject a time specified with the .60 suffix.
41236         But POSIX allows that, in order to accommodate leap seconds.
41237         So don't reject it.
41238         (main): Adjust tests accordingly.
41239         * modules/posixtm (Depends-on): Add stpcpy.
41240
41241 2009-09-11  Jim Meyering  <meyering@redhat.com>
41242
41243         announce-gen: include [$release_type] in emitted Subject:
41244         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41245         e.g., [stable] in the emitted Subject: line.
41246
41247 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41248
41249         Remove obsolete macros from several modules.
41250         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41251         obsolete Autoconf macros with their modern counterparts.
41252         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41253         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41254         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41255         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41256         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41257         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41258         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41259         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41260         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41261         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41262         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41263         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41264         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41265         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41266         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41267         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41268         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41269         * m4/time_r.m4 (gl_TIME_R): Likewise.
41270         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41271         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41272         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41273
41274         Fix copyright header in build-aux scripts.
41275         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41276         recommendation.
41277         * build-aux/ncftpput-ftp: Likewise.
41278         * build-aux/update-copyright: Likewise.
41279
41280 2009-09-09  Eric Blake  <ebb9@byu.net>
41281
41282         test-link: allow Linux choice of errno
41283         * tests/test-link.c (main): Relax test for alternate error.
41284
41285         strndup: fix improper m4 caching
41286         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41287         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41288         (gl_PREREQ_STRNDUP): Delete.
41289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41290         * modules/string (Makefile.am): Substitute it.
41291         * lib/string.in.h (strndup): Modernize prototype.
41292
41293         getcwd: port to mingw
41294         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41295         different from the POSIX assumptions made throughout the getcwd
41296         module; fortunately, the mingw getcwd does not need replacement.
41297         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41298         * modules/getcwd-tests: New test.
41299         * tests/test-getcwd.c: Likewise.
41300
41301         link: fix platform bugs
41302         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41303         * lib/link.c (link): Work around them.  Fix related mingw bug.
41304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41305         * modules/unistd (Makefile.am): Substitute it.
41306         * lib/unistd.in.h (link): Declare replacement.
41307         * doc/posix-functions/link.texi (link): Document this.
41308         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41309
41310         test-link: consolidate into single C program, test more cases
41311         * tests/test-link.sh: Delete.
41312         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41313         at least Cygwin and Solaris.
41314         * modules/link-tests (Files): Remove unused file.
41315         (Depends-on): Add errno, sys_stat.
41316         (Makefile.am): Simplify.
41317
41318 2009-09-08  Bruno Haible  <bruno@clisp.org>
41319
41320         Work around towlower, towupper bug on mingw.
41321         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41322         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41323         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41324         * doc/posix-functions/towupper.texi: Likewise.
41325         Reported by Eric Blake.
41326
41327 2009-09-08  Jim Meyering  <meyering@redhat.com>
41328
41329         build: don't try to run autoheader if we don't use it
41330         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41331         is not used in configure.ac.
41332
41333 2009-09-08  Eric Blake  <ebb9@byu.net>
41334
41335         euidaccess: fix compilation error
41336         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41337
41338         rawmemchr: relax license
41339         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41340         okay.
41341         Reported by Jim Meyering.
41342
41343         mkfifoat: new module
41344         * modules/mkfifoat: New file.
41345         * lib/mkfifoat.c: Likewise.
41346         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41347         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41348         * modules/sys_stat (Makefile.am): Use them.
41349         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41350         * MODULES.html.sh (File system functions): Mention module.
41351         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41352         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41353         * modules/mkfifoat-tests: New test.
41354         * tests/test-mkfifoat.c: Likewise.
41355
41356         strchrnul: relax license
41357         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41358         okay.
41359         Reported by Jim Meyering.
41360
41361 2009-09-08  Eric Blake  <ebb9@byu.net>
41362
41363         fstatat: fix compilation on Solaris
41364         * lib/fstatat.c (includes): Add fcntl.h.
41365         Reported by Pádraig Brady.
41366
41367 2009-09-07  Eric Blake  <ebb9@byu.net>
41368
41369         rename: modernize replacement
41370         * modules/rename (Depends-on): Add stdio.
41371         (configure.ac): Declare witness.
41372         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41373         stdio take care of replacement.
41374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41375         * modules/stdio (Makefile.am): Substitute them.
41376         * lib/stdio.in.h (rename): Declare replacement.
41377         * lib/rename.c (includes): Allow cross-compilation to non-windows
41378         machines.
41379         * doc/posix-functions/rename.texi (rename): Improve
41380         documentation.
41381
41382         stdio: sort witness names
41383         * modules/stdio (Makefile.am): Sort replacements.
41384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41385         * lib/stdio.in.h: Likewise.
41386
41387         getcwd: minor cleanups
41388         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41389         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41390
41391         openat: provide more convenience names
41392         * modules/faccessat (configure.ac): Add C witness.
41393         * lib/unistd.in.h (readlinkat): Fix typo.
41394         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
41395         convenience wrappers.
41396         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
41397         wrappers in syntax checks.
41398
41399 2009-09-06  Eric Blake  <ebb9@byu.net>
41400
41401         doc: fix comments in recent patches
41402         * lib/faccessat.c: Mention correct function.
41403         * lib/fchmodat.c: Likewise.
41404         * lib/fchownat.c: Likewise.
41405         * lib/symlinkat.c: Likewise.
41406         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
41407         constants.
41408
41409         faccessat, symlinkat: continue cleanup of previous patch
41410         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
41411         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41412         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
41413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
41414         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
41415         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
41416         set.
41417
41418 2009-09-06  Bruno Haible  <bruno@clisp.org>
41419
41420         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
41421         (fstatat): Declare if GNULIB_FSTATAT is set.
41422         (mkdirat): Declare if GNULIB_MKDIRAT is set.
41423         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
41424         (unlinkat): Declare if GNULIB_UNLINKAT is set.
41425         * modules/fcntl-h (Files): Remove m4/openat.m4.
41426         * modules/sys_stat (Files): Remove m4/openat.m4.
41427         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
41428         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
41429         * modules/unistd (Files): Remove m4/openat.m4.
41430         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
41431         GNULIB_OPENAT.
41432         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
41433         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
41434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
41435         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
41436         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
41437         gl_OPENAT_DEFAULTS.
41438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
41439         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
41440         Don't require gl_OPENAT_DEFAULTS.
41441         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
41442         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
41443         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
41444         (gl_OPENAT_DEFAULTS): Remove macro.
41445
41446 2009-09-06  Bruno Haible  <bruno@clisp.org>
41447
41448         * modules/openat (configure.ac): Remove unneeded witness.
41449
41450 2009-09-06  Bruno Haible  <bruno@clisp.org>
41451
41452         Set errno to ENOSYS when a function is entirely unsupported.
41453         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
41454         EOPNOTSUPP.
41455         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41456         * modules/chown (Depends-on): Remove errno.
41457
41458 2009-09-06  Bruno Haible  <bruno@clisp.org>
41459
41460         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
41461
41462 2009-09-06  Bruno Haible  <bruno@clisp.org>
41463
41464         * lib/sys_stat.in.h: Fix preprocessor command indentation.
41465
41466 2009-09-06  Ben Pfaff  <blp@gnu.org>
41467             Bruno Haible  <bruno@clisp.org>
41468
41469         Work around a glibc bug in strtok_r.
41470         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
41471         Undefine if UNDEFINE_STRTOK_R is set.
41472         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
41473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41474         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
41475         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
41476         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
41477         UNDEFINE_STRTOK_R.
41478         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
41479
41480 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41481
41482         exclude: minor fix
41483         * lib/exclude.c: Include wctype.h
41484
41485 2009-09-06  Akim Demaille  <demaille@gostai.com>
41486
41487         bootstrap: improve error message
41488         * build-aux/bootstrap (find_tool): Upon failure, report the list
41489         of candidates.
41490         Honor the initial value of the envvar.
41491
41492 2009-09-05  Eric Blake  <ebb9@byu.net>
41493
41494         symlinkat: new module
41495         * modules/symlinkat: New file.
41496         * lib/symlinkat.c: Likewise.
41497         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
41498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41499         * modules/unistd (Makefile.am): Use them.
41500         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
41501         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
41502         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
41503         * MODULES.html.sh (File system functions): Mention module.
41504         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41505         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41506         * modules/symlinkat-tests: New test.
41507         * tests/test-symlinkat.c: Likewise.
41508
41509         test-openat-safer: add more checks
41510         * tests/test-openat-safer.c (main): Check more code paths.
41511
41512 2009-09-05  Jim Meyering  <meyering@redhat.com>
41513
41514         syntax-check: detect unnecessary inclusion of openat.h
41515         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
41516
41517 2009-09-05  Bruno Haible  <bruno@clisp.org>
41518
41519         Support towlower, towupper.
41520         * doc/posix-functions/towlower.texi: Mention module wctype.
41521         * doc/posix-functions/towupper.texi: Likewise.
41522         * lib/wctype.in.h (towlower, towupper): New functions.
41523         * tests/test-wctype.c: Include stdio.h, stdlib.h.
41524         (ASSERT): New macro.
41525         (e): New variable.
41526         (main): Test also towlower, towupper. Test WEOF argument.
41527         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41528
41529 2009-09-05  Bruno Haible  <bruno@clisp.org>
41530
41531         Fix conversion behaviour when the input is invalid.
41532         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41533         mark occurring in first pass of indirect conversion.
41534         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41535         input.
41536         Found by clang's static analyzer.
41537
41538 2009-09-05  Bruno Haible  <bruno@clisp.org>
41539
41540         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41541         where direct conversion is possible.
41542
41543 2009-09-04  Eric Blake  <ebb9@byu.net>
41544
41545         openat: fail with ENOENT on empty name
41546         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41547         buffer.
41548
41549         link-follow: fix logic bug in prior patch
41550         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41551         reversed sense of yes and no in prior patch.  Avoid confusing
41552         compilation failure with desired semantics.
41553
41554         link-follow: accomodate mingw and cross-compilation
41555         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41556         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41557         cross-compilation results to -1, to make linkat easier to
41558         implement when cross-compiling.  Trivially support mingw.
41559         * modules/link-follow (configure.ac): Call new name.
41560         * NEWS: Mention this.
41561
41562 2009-09-03  Eric Blake  <ebb9@byu.net>
41563
41564         faccessat: compile replacement
41565         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41566         needed.
41567
41568         fts: fix compilation error
41569         * lib/fts.c (includes): Re-add "openat.h", for
41570         openat_needs_fchdir.
41571
41572         faccessat: new module
41573         * modules/faccessat: New file.
41574         * lib/faccessat.c: Likewise.
41575         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41577         * modules/unistd (Makefile.am): Use it.
41578         * lib/unistd.in.h (faccessat): Declare it.
41579         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41580         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41581         * MODULES.html.sh (File system functions): Mention it.
41582         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41583         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41584
41585         euidaccess: prefer POSIX over non-standard implementation
41586         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41587         * lib/euidaccess.c (euidaccess): Use it if available.
41588
41589         openat: make template easier to use
41590         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41591         AT_FUNC_F2 to be undefined.
41592         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41593         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41594         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41595         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41596         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41597         Likewise.
41598         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41599         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41600         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41601         Likewise.
41602
41603         openat: declare in POSIX headers
41604         * NEWS: Mention this.
41605         * modules/openat (configure.ac): Declare witnesses.
41606         (Depends-on): Add fcntl-h, sys_stat, unistd.
41607         (Include): Mention correct headers.
41608         * modules/fcntl-h (Depends-on): Add link-warning.
41609         (Files): Add openat.m4.
41610         (Makefile.am): Substitute witnesses.
41611         * modules/sys_stat (Files, Makefile.am): Likewise.
41612         * modules/unistd (Files, Makefile.am): Likewise.
41613         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41614         (gl_OPENAT_DEFAULTS): New macro.
41615         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41617         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41618         (SYS_STAT_H): Remove unused variable.
41619         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41620         * lib/fcntl--.h (includes): Remove unneeded header.
41621         * lib/openat-safer.c (includes): Likewise.
41622         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41623         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41624         appropriate headers.
41625         (__OPENAT_PREFIX): Delete.
41626         * lib/fcntl.in.h (openat): Provide declaration.
41627         (AT_FDCWD): Fix Solaris bug.
41628         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41629         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41630         * lib/fchmodat.c (includes):  Adjust to find declaration.
41631         * lib/fchownat.c (includes): Likewise.
41632         * lib/mkdirat.c (includes): Likewise.
41633         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41634         still visible.
41635
41636 2009-09-02  Eric Blake  <ebb9@byu.net>
41637
41638         errno: use consistently
41639         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41640         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41641         * lib/canonicalize.c (ELOOP): Likewise.
41642         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41643         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41644         * lib/lchown.c (EOPNOTSUPP): Likewise.
41645         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41646         * lib/savewd.c (ESTALE): Likewise.
41647         * lib/settime.c (ENOSYS): Likewise.
41648         * lib/utimens.c (ENOSYS): Likewise.
41649         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41650         * lib/chdir-safer.c (ELOOP): Likewise.
41651         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41652         * modules/c-stack (Depends-on): Add errno.
41653         * modules/canonicalize (Depends-on): Likewise.
41654         * modules/chdir-safer (Depends-on): Likewise.
41655         * modules/fdopendir (Depends-on): Likewise.
41656         * modules/inet_ntop (Depends-on): Likewise.
41657         * modules/inet_pton (Depends-on): Likewise.
41658         * modules/lchown (Depends-on): Likewise.
41659         * modules/openat (Depends-on): Likewise.
41660         * modules/savewd (Depends-on): Likewise.
41661         * modules/settime (Depends-on): Likewise.
41662         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41663
41664         fts: avoid leaking fds
41665         * modules/fts (Depends-on): Add cloexec.
41666         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41667         flag.
41668
41669         fts: make directory fds more robust
41670         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41671         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41672
41673         backupfile, chdir-long, fts, savedir: make safer
41674         * lib/backupfile.c (includes): Use "dirent--.h", since
41675         numbered_backup can write to stderr during readdir.
41676         * lib/savedir.c (includes): Likewise.
41677         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41678         emulation can write to stderr on failure.
41679         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41680         * lib/getcwd.c: Document why opendir_safer is unused.
41681         * lib/glob.c: Likewise.
41682         * lib/scandir.c: Likewise.
41683         * lib/openat-proc.c: Likewise, for open_safer.
41684         * modules/backupfile (Depends-on): Add dirent-safer.
41685         * modules/savedir (Depends-on): Likewise.
41686         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41687         * modules/chdir-long (Depends-on): Add openat-safer.
41688
41689         openat-safer: new module
41690         * modules/openat-safer: New file.
41691         * lib/openat-safer.c: Likewise.
41692         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41693         * lib/fcntl-safer.h (openat_safer): Declare.
41694         * lib/fcntl--.h (openat): Override.
41695         * MODULES.html.sh (File descriptor based I/O): Mention it.
41696         * lib/openat.h: Add double-inclusion guards.
41697         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41698         "fcntl--.h", so we can implement openat.
41699         * modules/openat-safer-tests: New test.
41700         * tests/test-openat-safer.c: New file.
41701
41702         dirent-safer: new module
41703         * modules/dirent-safer: New file.
41704         * lib/dirent--.h: Likewise.
41705         * lib/dirent-safer.h: Likewise.
41706         * lib/opendir-safer.c: Likewise.
41707         * m4/dirent-safer.m4: Likewise.
41708         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41709         * modules/dirent-safer-tests: New test.
41710         * tests/test-dirent-safer.c: New file.
41711         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41712
41713         fdopendir: optimize on mingw
41714         * lib/unistd.in.h (_gl_directory_name): New prototype.
41715         * lib/fchdir.c (_gl_directory_name): Implement it.
41716         (fchdir): Use it to simplify implementation.
41717         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41718         fchdir, when available, to avoid calling [f]chdir().
41719
41720         fdopendir: split into its own module
41721         * lib/openat.c (fdopendir): Move...
41722         * lib/fdopendir.c: ...into new file.
41723         * modules/fdopendir: New module.
41724         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41725         * modules/openat (Depends-on): Add fdopendir.
41726         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41727         fdopendir here.
41728         * modules/savedir (Depends-on): Only need fdopendir, not full
41729         openat.
41730         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41731         * lib/openat.h (fdopendir): Drop prototype.
41732         * lib/dirent.in.h (fdopendir): Provide prototype.
41733         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41734         * modules/dirent (Makefile.am): Substitute them.
41735         * MODULES.html.sh (File system functions): Mention it.
41736         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41737         * modules/fdopendir-tests: New file.
41738         * tests/test-fdopendir.c: Likewise.
41739
41740         fchdir: use more consistent macro convention
41741         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41742         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41743         REPLACE_FCHDIR, rather than relying on config.h macros.
41744         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41745         inside a single make-time REPLACE_FCHDIR block, rather than using
41746         the config.h FCHDIR_REPLACEMENT.
41747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41748         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41749         Manage fstat replacement.
41750         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41751         REPLACE_FCHDIR.
41752         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41753         (Makefile.am): Substitute REPLACE_FCHDIR.
41754         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41755         FCHDIR_REPLACEMENT.
41756         * lib/dup-safer.c (dup_safer): Likewise.
41757         * lib/dup2.c (rpl_dup2): Likewise.
41758         * lib/dup3.c (rpl_dup3): Likewise.
41759         * lib/open.c (rpl_open): Likewise.
41760
41761         fchdir: simplify error handling, and support dup3
41762         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41763         stdbool, malloc-posix, realloc-posix.
41764         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41765         (ensure_dirs_slot): Return false on allocation failure.
41766         (rpl_dup2): Delete.
41767         (_gl_register_dup): New function.
41768         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41769         (_gl_register_fd): Close fd on allocation failure.
41770         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41771         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41772         prototype.
41773         (rpl_dup2_fchdir): Delete prototype.
41774         * lib/open.c (open): Update caller.
41775         * lib/dup2.c (dup2): Track fchdir metadata.
41776         * lib/dup3.c (dup3): Likewise.
41777         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41778         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41779
41780 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41781
41782         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41783         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41784         don't pass arguments to AC_OUTPUT.
41785
41786 2009-09-02  Bruno Haible  <bruno@clisp.org>
41787
41788         * modules/mkdtemp (License): Relicense under LGPLv2+.
41789         Reported by Paolo Bonzini.
41790
41791 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41792
41793         Replace uses of obsolete autoconf macros in Jim's modules.
41794         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41795         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41796         can evoke a warning from autoconf when run with -Wobsolete
41797         enabled.  They were declared obsolete for good reasons (see
41798         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41799         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41800         should not continue using the deprecated macros.
41801         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41802         obsolete Autoconf macros with modern counterparts.
41803         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41804         * m4/dos.m4 (gl_AC_DOS): Likewise.
41805         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41806         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41807         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41808         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41809         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41810         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41811         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41812         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41813         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41814         Likewise.
41815         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41816         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41817         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41818         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41819         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41820         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41821
41822 2009-09-01  Eric Blake  <ebb9@byu.net>
41823
41824         fchdir: fix off-by-one bug in previous patch
41825         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41826         (_gl_unregister_fd): Delete useless if.
41827
41828 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41829
41830         maint.mk: sort the list of syntax-check rules
41831         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41832         easier to get a sense of progress when the rules are run sequentially
41833         and take a long time.
41834
41835 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41836
41837         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41838         * modules/netinet_in: Likewise.
41839         * modules/sys_file: Likewise.
41840         * modules/sys_ioctl: Likewise.
41841         * modules/sys_select: Likewise.
41842         * modules/sys_socket: Likewise.
41843         * modules/sys_stat: Likewise.
41844         * modules/sys_time: Likewise.
41845         * modules/sys_times: Likewise.
41846         * modules/sys_utsname: Likewise.
41847         * modules/sys_wait: Likewise.
41848
41849 2009-09-01  Jim Meyering  <meyering@redhat.com>
41850
41851         fts: help ensure that return values are not ignored
41852         * lib/fts_.h (__GNUC_PREREQ): Define.
41853         (__attribute_warn_unused_result__): Define.
41854         (fts_children, fts_close, fts_open, fts_read): Declare with
41855         __attribute_warn_unused_result__.
41856
41857         fts: fts_close now fails also when closing a dir file descriptor fails
41858         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41859         and propagate to caller, along with errno.
41860
41861         announce-gen: correct formatting in --help output
41862         * build-aux/announce-gen (usage): Move the one-line description in
41863         --help output "up", to where it belongs, just after Usage:.
41864
41865 2009-08-31  Eric Blake  <ebb9@byu.net>
41866
41867         fchdir: port to mingw
41868         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41869         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41870         opened, then use a substitute.
41871         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41872         replacement.
41873         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41874         (_gl_register_fd): No need to check stat if open already filters
41875         all directories.
41876         (fchdir): Fix error condition to match POSIX.
41877         * modules/fchdir (Depends-on): Add sys_stat.
41878         * doc/posix-functions/open.texi (open): Document the limitation.
41879         * modules/fchdir-tests: New file.
41880         * tests/test-fchdir.c: Likewise.
41881
41882         canonicalize: allow cross-testing from cygwin to mingw
41883         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41884         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41885         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41886         Likewise.
41887         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41888         target does not support symlinks.
41889         * tests/test-canonicalize-lgpl.sh: Likewise.
41890
41891         chown: avoid compilation warning on mingw
41892         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41893         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41894         mingw.
41895         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41896         * modules/chown (Depends-on): Add errno.
41897
41898 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41899
41900         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41901         command.
41902
41903 2009-08-31  Jim Meyering  <meyering@redhat.com>
41904
41905         canonicalize: remove useless initialization
41906         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
41907         initialization of local, "end".
41908
41909 2009-08-30  Bruno Haible  <bruno@clisp.org>
41910
41911         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
41912         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
41913         ENOSYS.
41914
41915 2009-08-30  Bruno Haible  <bruno@clisp.org>
41916
41917         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
41918         /usr/xpg4/bin/tr when it exists.
41919         * tests/test-pipe-filter-gi1.sh: Likewise.
41920
41921 2009-08-30  Bruno Haible  <bruno@clisp.org>
41922
41923         Work around deficient /usr/bin/id program on Solaris.
41924         * tests/test-file-has-acl.sh (ID): New variable.
41925         * tests/test-set-mode-acl.sh (ID): Likewise.
41926         * tests/test-copy-acl.sh (ID): Likewise.
41927         * tests/test-copy-file.sh (ID): Likewise.
41928
41929 2009-08-30  Bruno Haible  <bruno@clisp.org>
41930
41931         New module 'xstriconveh'.
41932         * lib/xstriconveh.h: New file.
41933         * lib/xstriconveh.c: New file.
41934         * modules/xstriconveh: New file.
41935
41936 2009-08-30  Bruno Haible  <bruno@clisp.org>
41937
41938         Make it easier to use mem_cd_iconveh.
41939         * lib/striconveh.h (iconveh_t): New type.
41940         (iconveh_open, iconveh_close): New declarations.
41941         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41942         with a single 'const iconveh_t *' argument.
41943         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
41944         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41945         with a single 'const iconveh_t *' argument.
41946         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
41947         * tests/test-striconveh.c (main): Update.
41948         * NEWS: Mention the change.
41949
41950 2009-08-30  Bruno Haible  <bruno@clisp.org>
41951
41952         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
41953         problem.
41954
41955 2009-08-30  Bruno Haible  <bruno@clisp.org>
41956
41957         Work around iconv_open problem on Solaris.
41958         * lib/iconv_open-solaris.gperf: New file.
41959         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
41960         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
41961         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
41962         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
41963         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
41964         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
41965
41966 2009-08-29  Jim Meyering  <meyering@redhat.com>
41967
41968         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
41969         * top/maint.mk (cvs-check): Remove target; it was just an alias
41970         to the better-named vc-diff-check.
41971         (maintainer-distcheck): Remove rule.  It was used only from
41972         the (alpha/beta/major) target, and all of its commands but one
41973         were coreutils-specific.
41974         (vc-dist): Remove rule.
41975         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
41976         Run vc-diff-check, not vc-dist.
41977         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
41978
41979 2009-08-27  Bruno Haible  <bruno@clisp.org>
41980
41981         * tests/test-bitrotate.c (main): Remove test that uses a shift count
41982         of 0.
41983
41984 2009-08-27  Bruno Haible  <bruno@clisp.org>
41985
41986         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
41987         compilers.
41988         * doc/func.texi: Document the SunPRO C bug.
41989
41990 2009-08-27  Bruno Haible  <bruno@clisp.org>
41991
41992         Fix link error on Solaris.
41993         * tests/test-parse-duration.c (xstrdup): Remove function.
41994
41995 2009-08-26  Pádraig Brady  <P@draigbrady.com>
41996
41997         ignore-value: handle pointer types, too
41998         * lib/ignore-value.h (__attribute__): Remove definition.
41999         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42000         of a more concise and more-often effective "(void) i" statement.
42001         (ignore_ptr): New function to suppress warnings from functions that
42002         return pointers, and to make it explicit that one function doesn't
42003         handle all cases.
42004
42005 2009-08-25  Bruno Haible  <bruno@clisp.org>
42006
42007         dup2: work around a Linux bug.
42008         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42009         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42010         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42011         Reported by Simon Josefsson.
42012
42013 2009-08-25  Jim Meyering  <meyering@redhat.com>
42014
42015         libguestfs uses gnulib
42016         * users.txt: Add libguestfs.
42017
42018 2009-08-24  Eric Blake  <ebb9@byu.net>
42019
42020         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42021         * lib/pipe2.c (includes): Add binary-io.h.
42022         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42023
42024 2009-08-24  Bruno Haible  <bruno@clisp.org>
42025
42026         Tolerate declared but missing accept4 syscall.
42027         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42028         available.
42029         * lib/sys_socket.in.h (accept4): If the function is already present,
42030         override it.
42031         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42032         * modules/accept4 (Makefile.am): Compile accept4.c always.
42033         Reported by Paolo Bonzini and Eric Blake.
42034
42035 2009-08-23  Bruno Haible  <bruno@clisp.org>
42036
42037         New module 'accept4'.
42038         * lib/sys_socket.in.h (accept4): New declaration.
42039         * lib/accept4.c: New file.
42040         * m4/accept4.m4: New file.
42041         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42042         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42043         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42044         HAVE_ACCEPT4.
42045         * modules/accept4: New file.
42046         * doc/glibc-functions/accept4.texi: Mention the new module.
42047
42048 2009-08-24  Jim Meyering  <meyering@redhat.com>
42049
42050         progname: also set global program_invocation_name, when possible
42051         Before this change, a libtool-enabled program that calls glibc's
42052         error function would report the program name as
42053         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42054         * modules/progname (configure.ac): Check for a declaration of
42055         program_invocation_name.
42056         * lib/progname.c:  Include <errno.h>.
42057         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42058         Set program_invocation_name.
42059
42060 2009-08-23  Bruno Haible  <bruno@clisp.org>
42061
42062         * lib/dup3.c: Include <string.h>.
42063
42064 2009-08-23  Bruno Haible  <bruno@clisp.org>
42065
42066         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42067         * lib/pipe2.c (pipe2): Likewise.
42068         Suggested by Eric Blake.
42069
42070 2009-08-23  Bruno Haible  <bruno@clisp.org>
42071
42072         Tolerate declared but missing dup3 syscall.
42073         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42074         * lib/unistd.in.h (dup3): If the function is already present,
42075         override it.
42076         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42077         * modules/dup3 (Makefile.am): Compile dup3.c always.
42078         Reported by Paolo Bonzini.
42079
42080 2009-08-23  Bruno Haible  <bruno@clisp.org>
42081
42082         Tolerate declared but missing pipe2 syscall.
42083         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42084         available.
42085         * lib/unistd.in.h (pipe2): If the function is already present,
42086         override it.
42087         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42088         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42089         Reported by Paolo Bonzini.
42090
42091 2009-08-23  Bruno Haible  <bruno@clisp.org>
42092
42093         * lib/pipe2.c (pipe2): Move #ifs inside function.
42094
42095 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42096
42097         quotearg: document limitations of quote_these_too
42098         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42099         those limitations are created.
42100         * lib/quotearg.h (set_char_quoting): Document that digits and
42101         letters that are special after backslash are not permitted.
42102         (quotearg_char): Cross-reference set_char_quoting documentation.
42103
42104 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42105
42106         quotearg: implement custom_quoting_style
42107         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42108         right_quote fields.
42109         (set_custom_quoting): New public function.
42110         (quotearg_buffer_restyled): Add left_quote and right_quote
42111         arguments, handle them very much like locale quoting, and update
42112         all uses.
42113         (quotearg_n_custom): New public function.
42114         (quotearg_n_custom_mem): New public function.
42115         (quotearg_custom): New public function.
42116         (quotearg_custom_mem): New public function.
42117         * lib/quotearg.h: Prototype and document new public functions.
42118         (enum quoting_style): For escape_quoting_style and
42119         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42120         ignored even though they're otherwise like c_quoting_style.
42121         Add custom_quoting_style member and document with comparison to
42122         clocale_quoting_style.
42123         * tests/test-quotearg.c (custom_quotes): New array.
42124         (custom_results): New array.
42125         (main): Extend to test custom quoting.
42126
42127 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42128
42129         quotearg: fix right quote escaping when it's in quote_these_too
42130         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42131         quote, be sure to prepend only one backslash.
42132         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42133         (main): Test it.
42134
42135 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42136
42137         quotearg-tests: test escaping of embedded locale quotes
42138         * tests/test-quotearg.c (struct result_strings): Add member for
42139         new input.
42140         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42141         (inputs): Add new input.
42142         (results_g): Add expected results.
42143         (flag_results): Likewise.
42144         (locale_results): Likewise.
42145         (compare_strings): Check those.
42146
42147 2009-08-23  Bruno Haible  <bruno@clisp.org>
42148
42149         Tests for module 'dup3'.
42150         * modules/dup3-tests: New file.
42151         * tests/test-dup3.c: New file.
42152
42153         New module 'dup3'.
42154         * lib/unistd.in.h (dup3): New declaration.
42155         * lib/dup3.c: New file.
42156         * m4/dup3.m4: New file.
42157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42158         HAVE_DUP3.
42159         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42160         * modules/dup3: New file.
42161         * doc/glibc-functions/dup3.texi: Mention the new module.
42162
42163 2009-08-23  Bruno Haible  <bruno@clisp.org>
42164
42165         Tweak the dup2 test.
42166         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42167         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42168         the test file is still empty. Fix argument order of lseek.
42169
42170 2009-08-23  Bruno Haible  <bruno@clisp.org>
42171
42172         Avoid test link errors when the modules getopt-gnu, gettext are used.
42173         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42174         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42175
42176 2009-08-23  Bruno Haible  <bruno@clisp.org>
42177
42178         Fix getdtablesize() on mingw.
42179         * lib/getdtablesize.c (getdtablesize): Implement differently.
42180         * lib/unistd.in.h (getdtablesize): Improve comment.
42181
42182 2009-08-23  Bruno Haible  <bruno@clisp.org>
42183
42184         New module 'mkostemp'.
42185         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42186         * lib/stdlib.in.h (mksotemp): New declaration.
42187         * lib/mkostemp.c: New file, from glibc with modifications.
42188         * lib/tempname.h (GT_FILE): Remove outdated comment.
42189         (gen_tempname): Add flags argument.
42190         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42191         (__GT_FILE): Map to 1.
42192         (small_open, large_open): Remove macros.
42193         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42194         * lib/mkstemp.c (mkstemp): Update.
42195         * lib/mkdtemp.c (mkdtemp): Likewise.
42196         * m4/mkostemp.m4: New file.
42197         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42198         HAVE_MKOSTEMP.
42199         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42200         HAVE_MKOSTEMP.
42201         * modules/mkostemp: New file, based on modules/mkstemp.
42202         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42203         * NEWS: Mention the change.
42204
42205 2009-08-23  Bruno Haible  <bruno@clisp.org>
42206
42207         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42208         Reported by Eric Blake.
42209
42210 2009-08-23  Bruno Haible  <bruno@clisp.org>
42211
42212         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42213         Reported by Eric Blake.
42214
42215 2009-08-23  Bruno Haible  <bruno@clisp.org>
42216
42217         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42218         * modules/pipe2 (Depends-on): Likewise.
42219
42220 2009-08-23  Eric Blake  <ebb9@byu.net>
42221
42222         fcntl-h: add O_TTY_INIT support
42223         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42224         * tests/test-fcntl-h.c (o): Test it.
42225         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42226
42227         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42228         * modules/fcntl: Move <fcntl.h> header replacement...
42229         * modules/fcntl-h: ...to new name, so as not to collide with
42230         like-named function.
42231         * tests/test-fcntl.c: Rename...
42232         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42233         * modules/fcntl-tests: Rename...
42234         * modules/fcntl-h-tests: ...to this.  Update test file name.
42235         * modules/chdir-long (Depends-on): Update clients.
42236         * modules/chdir-safer (Depends-on): Likewise.
42237         * modules/fcntl-safer (Depends-on): Likewise.
42238         * modules/fts (Depends-on): Likewise.
42239         * modules/mkancesdirs (Depends-on): Likewise.
42240         * modules/mkdir-p (Depends-on): Likewise.
42241         * modules/open (Depends-on): Likewise.
42242         * modules/savewd (Depends-on): Likewise.
42243         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42244         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42245
42246 2009-08-22  Bruno Haible  <bruno@clisp.org>
42247
42248         * modules/binary-io (License): Relicense under LGPL.
42249         * modules/pipe2 (License): Likewise.
42250
42251 2009-08-22  Bruno Haible  <bruno@clisp.org>
42252
42253         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42254         return value.
42255         * lib/pipe-filter-gi.c (filter_init): Likewise.
42256         Reported by Eric Blake.
42257
42258 2009-08-22  Bruno Haible  <bruno@clisp.org>
42259
42260         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42261         * modules/pipe (Depends-on): Add pipe2.
42262
42263 2009-08-22  Bruno Haible  <bruno@clisp.org>
42264
42265         Tests for module 'pipe2'.
42266         * modules/pipe2-tests: New file.
42267         * tests/test-pipe2.c: New file.
42268
42269         New module 'pipe2'.
42270         * lib/unistd.in.h (pipe2): New declaration.
42271         * lib/pipe2.c: New file.
42272         * m4/pipe2.m4: New file.
42273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42274         HAVE_PIPE2.
42275         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42276         * modules/pipe2: New file.
42277         * doc/glibc-functions/pipe2.texi: Mention the new module.
42278
42279 2009-08-22  Bruno Haible  <bruno@clisp.org>
42280
42281         Reference some new glibc functions.
42282         * doc/glibc-functions/accept4.texi: New file.
42283         * doc/glibc-functions/dup3.texi: New file.
42284         * doc/glibc-functions/mkostemp.texi: New file.
42285         * doc/glibc-functions/pipe2.texi: New file.
42286         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42287         (Glibc sys/socket.h): Refer to accept4.
42288         (Glibc unistd.h): Refer to dup3, pipe2.
42289         Reported by Eric Blake.
42290
42291 2009-08-22  Jim Meyering  <meyering@redhat.com>
42292             Bruno Haible  <bruno@clisp.org>
42293
42294         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42295         This makes it so packages using automake-1.11's silent-rules option
42296         can print e.g., a single "GEN    configmake.h" line, rather than
42297         the 30+ statements that perform the job.  If you want to see the
42298         actual commands, you can still run "make V=1".
42299         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42300         so that make output is abbreviated when those variables are defined
42301         appropriately.
42302         * modules/argz: Likewise.
42303         * modules/arpa_inet: Likewise.
42304         * modules/byteswap: Likewise.
42305         * modules/configmake: Likewise.
42306         * modules/dirent: Likewise.
42307         * modules/errno: Likewise.
42308         * modules/fcntl: Likewise.
42309         * modules/float: Likewise.
42310         * modules/fnmatch: Likewise.
42311         * modules/getopt-posix: Likewise.
42312         * modules/glob: Likewise.
42313         * modules/iconv_open: Likewise.
42314         * modules/inttypes: Likewise.
42315         * modules/localcharset: Likewise.
42316         * modules/locale: Likewise.
42317         * modules/math: Likewise.
42318         * modules/netdb: Likewise.
42319         * modules/netinet_in: Likewise.
42320         * modules/poll: Likewise.
42321         * modules/posix_spawnp-tests: Likewise.
42322         * modules/sched: Likewise.
42323         * modules/search: Likewise.
42324         * modules/selinux-h: Likewise.
42325         * modules/signal: Likewise.
42326         * modules/spawn: Likewise.
42327         * modules/stdarg: Likewise.
42328         * modules/stdbool: Likewise.
42329         * modules/stddef: Likewise.
42330         * modules/stdint: Likewise.
42331         * modules/stdio: Likewise.
42332         * modules/stdlib: Likewise.
42333         * modules/string: Likewise.
42334         * modules/strings: Likewise.
42335         * modules/sys_file: Likewise.
42336         * modules/sys_ioctl: Likewise.
42337         * modules/sys_select: Likewise.
42338         * modules/sys_socket: Likewise.
42339         * modules/sys_stat: Likewise.
42340         * modules/sys_time: Likewise.
42341         * modules/sys_times: Likewise.
42342         * modules/sys_utsname: Likewise.
42343         * modules/sys_wait: Likewise.
42344         * modules/sysexits: Likewise.
42345         * modules/time: Likewise.
42346         * modules/unistd: Likewise.
42347         * modules/wchar: Likewise.
42348         * modules/wctype: Likewise.
42349
42350 2009-08-22  Jim Meyering  <meyering@redhat.com>
42351
42352         announce-gen: detect write failure
42353         * build-aux/announce-gen: Add Coda at end.
42354         Remove equivalent-but-more-verbose block at top.
42355
42356 2009-08-19  Akim Demaille  <demaille@gostai.com>
42357
42358         bootstrap: --help to stdout.
42359         * bootstrap (usage): Don't send --help to stderr.
42360         Use a here doc instead of a long string.
42361
42362 2009-08-21  Eric Blake  <ebb9@byu.net>
42363
42364         test-popen-safer: split from test-popen
42365         * tests/test-popen.c (main): Move...
42366         * tests/test-popen.h: ...into new file.
42367         * tests/test-popen-safer2.c: New file.
42368         * modules/popen-tests (Files): Add test-popen.h.
42369         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42370         Suggested by Bruno Haible.
42371
42372         test-fcntl-safer: split from test-open
42373         * tests/test-open.c (main): Move...
42374         * tests/test-open.h: ...into new file.
42375         * tests/test-fcntl-safer.c: New file.
42376         * modules/open-tests (Files): Add test-open.h.
42377         * modules/fcntl-safer-tests: New file.
42378         Suggested by Bruno Haible.
42379
42380         test-fopen-safer: split from test-fopen
42381         * tests/test-fopen.c (main): Move...
42382         * tests/test-fopen.h: ...into new file.
42383         * tests/test-fopen-safer.c: New file.
42384         * modules/fopen-tests (Files): Add test-fopen.h.
42385         * modules/fopen-safer-tests: New file.
42386         Suggested by Bruno Haible.
42387
42388 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42389
42390         popen-safer: test O_CLOEXEC at run-time.
42391         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42392
42393 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42394
42395         fcntl: move more flags to the header
42396         * lib/cloexec.c: Do not define FD_CLOEXEC here.
42397         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
42398         * lib/fcntl.in.h: Do both things here.
42399
42400 2009-08-21  Jim Meyering  <meyering@redhat.com>
42401
42402         consistently remove $@-t before redirecting to it
42403         * modules/argz: Remove $@-t and $@ before redirecting to the former.
42404         * modules/alloca-opt: Likewise.
42405         * modules/byteswap: Likewise.
42406         * modules/fnmatch: Likewise.
42407         * modules/getopt-posix: Likewise.
42408         * modules/glob: Likewise.
42409         * modules/poll: Likewise.
42410         * modules/posix_spawnp-tests: Likewise.
42411         * modules/sys_socket: Likewise.
42412         * modules/sysexits: Likewise.
42413
42414 2009-08-21  Eric Blake  <ebb9@byu.net>
42415
42416         popen: simplify access to original popen
42417         * lib/popen.c (rpl_popen): No need to worry about popen being a
42418         macro.
42419         Reported by Bruno Haible.
42420
42421 2009-08-20  Eric Blake  <ebb9@byu.net>
42422
42423         build: avoid some compiler warnings
42424         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
42425         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
42426         type.
42427         (new_exclude_segment, excluded_file_pattern_p)
42428         (excluded_file_name_p): Reduce scope.
42429         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
42430         old-style declaration.
42431
42432 2009-08-20  Simon Josefsson  <simon@josefsson.org>
42433
42434         * tests/test-exclude1.sh: Handle Windows EOL.
42435         * tests/test-exclude2.sh: Likewise.
42436         * tests/test-exclude3.sh: Likewise.
42437         * tests/test-exclude4.sh: Likewise.
42438         * tests/test-exclude5.sh: Likewise.
42439         * tests/test-exclude6.sh: Likewise.
42440         * tests/test-exclude7.sh: Likewise.
42441
42442 2009-08-19  Akim Demaille  <demaille@gostai.com>
42443
42444         bootstrap: find sha1sum when named gsha1sum.
42445         * bootstrap (find_tool): New.
42446         ($SHA1SUM): New.
42447         Use it.
42448
42449 2009-08-20  Jim Meyering  <meyering@redhat.com>
42450
42451         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
42452         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
42453         expression that converts "." in a file name to "\." in the resulting
42454         regexp.  Start with a dummy statement, so that prior shell variable
42455         definitions are expanded portably.  Reported by Simon Josefsson.
42456
42457 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
42458
42459         Fix polling for writeability of a screen buffer.
42460         * lib/poll.c: Distinguish input and screen buffers for the
42461         Win32 implementation.
42462         * lib/select.c: Likewise.
42463
42464 2009-08-19  Eric Blake  <ebb9@byu.net>
42465
42466         popen-safer: prevent popen from clobbering std descriptors
42467         * modules/popen-safer: New file.
42468         * lib/popen-safer.c: Likewise.
42469         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
42470         * lib/stdio--.h (popen): Provide override.
42471         * lib/stdio-safer.h (popen_safer): Provide declaration.
42472         * tests/test-popen.c (includes): Partially test this.
42473         * modules/popen-safer-tests: New file, for more tests.
42474         * tests/test-popen-safer.c: Likewise.
42475         * MODULES.html.sh (file stream based Input/Output): Mention it.
42476
42477         tests: test some of the *-safer modules
42478         * modules/fopen-safer (Depends-on): Add fopen.
42479         * modules/fcntl-safer (Depends-on): Add fcntl.
42480         * modules/stdlib-safer (Depends-on): Add stdlib.
42481         (configure.ac): Set indicator.
42482         * modules/unistd-safer (configure.ac): Likewise.
42483         * modules/tmpfile-safer (configure.ac): Likewise.
42484         (Depends-on): Add tmpfile.
42485         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
42486         active.
42487         * tests/test-fopen.c (includes): Test safer versions when they are
42488         in use.
42489         * tests/test-open.c (includes): Likewise.
42490
42491         popen: fix cygwin 1.5 bug when stdin closed
42492         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
42493         * modules/popen: New file.
42494         * modules/popen-tests: Likewise.
42495         * tests/test-popen.c: Likewise.
42496         * m4/popen.m4: Likewise.
42497         * lib/popen.c: Likewise.
42498         * lib/stdio.in.h (popen): New declaration.
42499         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
42500         * modules/stdio (Makefile.am): Likewise.
42501         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
42502
42503 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
42504
42505         maint.mk: give full control over update-copyright exclusions
42506         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
42507         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
42508         (update-copyright): Don't force inclusion of top-level
42509         ChangeLog.  Don't force exclusion of all COPYING files, but make
42510         them the default exclusion instead.
42511
42512 2009-08-16  Bruno Haible  <bruno@clisp.org>
42513
42514         Fix test failures on Solaris 10.
42515         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
42516         tests when Solaris iconv() is used.
42517         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42518         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42519         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42520         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42521         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42522
42523 2009-08-16  Bruno Haible  <bruno@clisp.org>
42524
42525         Fix test failures on Solaris 10.
42526         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
42527         'tr' program and pass it as first argument.
42528         * tests/test-pipe-filter-gi1.sh: Likewise.
42529         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
42530         program as first argument.
42531         * tests/test-pipe-filter-gi1.c (main): Likewise.
42532
42533 2009-08-16  Eric Blake  <ebb9@byu.net>
42534
42535         fpurge: fix previous commits
42536         * modules/fpurge (Makefile.am): Make replacement conditional,
42537         partially reverting 2007-04-29 change; missed in previous
42538         attempt.
42539         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42540         is missing.
42541
42542 2009-08-16  Bruno Haible  <bruno@clisp.org>
42543
42544         Clarify fpurge's effect on the file position.
42545         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42546         * tests/test-fpurge.c (main): Make a second pass for checking the file
42547         position.
42548
42549 2009-08-16  Bruno Haible  <bruno@clisp.org>
42550
42551         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42552         declaration of fpurge is missing.
42553         * tests/test-fpurge.c (main): Check that the file has not more contents
42554         than expected. Close the file before removing it.
42555
42556 2009-08-15  Eric Blake  <ebb9@byu.net>
42557
42558         fpurge: don't wrap working cygwin implementation
42559         * lib/fpurge.c (fpurge): Fix comment typo.
42560         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42561         1.7 to avoid replacement.
42562         * tests/test-fpurge.c (main): Enhance test.
42563
42564 2009-08-15  Eric Blake  <ebb9@byu.net>
42565         and Jim Meyering  <meyering@redhat.com>
42566
42567         test-update-copyright: skip if perl is insufficient
42568         * tests/test-update-copyright.sh: Failure to run maintainer tool
42569         should not cause testsuite failure on cygwin 1.5.
42570
42571 2009-08-14  Eric Blake  <ebb9@byu.net>
42572
42573         doc: mention more functions added in cygwin 1.7.0
42574         * doc/posix-headers/limits.texi (limits.h): Update for recent
42575         cygwin additions.
42576         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42577         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42578         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42579         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42580         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42581
42582 2009-08-14  Eric Blake  <ebb9@byu.net>
42583
42584         maint.mk: simplify update-copyright rule
42585         * top/maint.mk (update-copyright-local): Delete, and document how
42586         to do it in cfg.mk instead.
42587         (update-copyright-exclude-regexp): Delete, and document how to do
42588         it in .x-update-copyright instead.
42589         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42590         exclude ChangeLog.
42591
42592 2009-08-14  Bruno Haible  <bruno@clisp.org>
42593
42594         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42595
42596 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42597
42598         maint.mk: support update-copyright-env
42599         * top/maint.mk (update-copyright-env): Define place-holder.
42600         (update-copyright): Expand $(update-copyright-env) before
42601         invoking update-copyright.
42602
42603 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42604
42605         update-copyright: implement forced reformatting
42606         * build-aux/update-copyright: Implement and document
42607         UPDATE_COPYRIGHT_FORCE.
42608         * tests/test-update-copyright.sh: Test it.
42609
42610 2009-08-14  Eric Blake  <ebb9@byu.net>
42611         and Bruno Haible  <bruno@clisp.org>
42612
42613         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42614         * tests/test-locale.c: Revert previous patch related to NULL.
42615         * tests/test-stdio.c: Likewise.
42616         * tests/test-stdlib.c: Likewise.
42617         * tests/test-string.c: Likewise.
42618         * tests/test-unistd.c: Likewise.
42619         * modules/time-tests (Depends-on): Add verify.
42620         * modules/wchar-tests (Depends-on): Likewise.
42621         * tests/test-time.c: Test for NULL compliance.
42622         * tests/test-wchar.c: Likewise.
42623         * modules/locale (Depends-on): Add stddef.
42624         * modules/stdio (Depends-on): Likewise.
42625         * modules/stdlib (Depends-on): Likewise.
42626         * modules/string (Depends-on): Likewise.
42627         * modules/time (Depends-on): Likewise.
42628         * modules/unistd (Depends-on): Likewise.
42629         * modules/wchar (Depends-on): Likewise.
42630         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42631         * lib/stdlib.in.h (includes): Likewise.
42632         * lib/string.in.h (includes): Likewise.
42633         * lib/time.in.h (includes): Likewise.
42634         * lib/unistd.in.h (includes): Likewise.
42635         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42636         replaced.
42637         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42638         * m4/stddef_h.m4: New file.
42639         * modules/stddef: Likewise.
42640         * lib/stddef.in.h: Likewise.
42641         * modules/stddef-tests: Likewise.
42642         * tests/test-stddef.c: Likewise.
42643         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42644         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42645         * doc/posix-headers/locale.texi (locale.h): Likewise.
42646         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42647         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42648         * doc/posix-headers/string.texi (string.h): Likewise.
42649         * doc/posix-headers/time.texi (time.h): Likewise.
42650         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42651         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42652
42653 2009-08-14  Eric Blake  <ebb9@byu.net>
42654
42655         doc: improve git diff of texinfo files
42656         * .gitattributes: Add rule for *.texi files, with hint on how to
42657         use it.
42658         Copied from m4, and based on a report by Bruno Haible.
42659
42660 2009-08-14  Bruno Haible  <bruno@clisp.org>
42661
42662         Disable multithread support by default on Cygwin 1.5.x for real.
42663         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42664
42665 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42666
42667         update-copyright: much ado about intervals
42668         * build-aux/update-copyright: Implement and document
42669         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42670         of copyright year intervals.
42671         Also, document UPDATE_COPYRIGHT_YEAR.
42672         * tests/test-update-copyright.sh: Test it.
42673
42674         update-copyright: convert 2-digit to 4-digit years
42675         * build-aux/update-copyright: Implement and document.
42676         * tests/test-update-copyright.sh: Update.
42677
42678 2009-08-14  Jim Meyering  <meyering@redhat.com>
42679
42680         test-exclude: avoid coreutils "make check" failure
42681         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42682         just as in test-argmatch.c.
42683
42684 2009-08-13  Eric Blake  <ebb9@byu.net>
42685
42686         test-dup2: fix bad assumption
42687         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42688         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42689
42690         test-version-etc: fix CRLF portability issue
42691         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42692         recognize \r.
42693         * tests/test-argp-version-etc-1.sh: Likewise.
42694
42695         getopt: update client modules
42696         * modules/argp (Depends-on): Use getopt-gnu.
42697         * modules/git-merge-changelog (Depends-on): Likewise.
42698         * modules/long-options (Depends-on): Likewise.
42699         * modules/xstrtol (Depends-on): Likewise.
42700
42701 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42702
42703         * tests/test-version-etc.sh: Don't fail on different
42704         project/version.  Don't fail on CRLF differences.  Rewrite to use
42705         multiple -e instead of multiple sed forks, suggested by Eric Blake
42706         <ebb9@byu.net>.
42707         * tests/test-argp-version-etc-1.sh: Likewise.
42708
42709 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42710
42711         * tests/test-version-etc.sh: Don't fail on different
42712         project/version.
42713
42714 2009-08-12  Bruno Haible  <bruno@clisp.org>
42715
42716         Tests for modules 'getopt-posix', 'getopt-gnu'.
42717         * modules/getopt-posix-tests: New file.
42718         * tests/test-getopt.c: New file.
42719         * tests/test-getopt.h: New file.
42720         * tests/test-getopt_long.h: New file.
42721
42722         New modules 'getopt-posix', 'getopt-gnu'.
42723         * modules/getopt-gnu: New file, renamed from modules/getopt.
42724         * modules/getopt-posix: New file.
42725         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42726         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42727         (gl_GETOPT): Remove macro.
42728         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42729         Disable the test against BSD systems that declare optreset. Test
42730         against mingw bug. Test against lack of support of optional arguments
42731         on many platforms.
42732         * doc/glibc-headers/getopt.texi: Update module name and list of
42733         relevant platforms.
42734         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42735         'getopt-gnu' and more portability problems.
42736         * NEWS: Mention the changes.
42737
42738 2009-08-12  Bruno Haible  <bruno@clisp.org>
42739
42740         Ensure that optarg etc. get declared by <unistd.h>.
42741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42742         AC_USE_SYSTEM_EXTENSIONS.
42743         * modules/getopt (Depends-on): Add 'extensions'.
42744
42745 2009-08-12  Bruno Haible  <bruno@clisp.org>
42746
42747         Avoid test link errors.
42748         * modules/pipe-filter-ii-tests (Makefile.am): Define
42749         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42750         * modules/pipe-filter-gi-tests (Makefile.am): Define
42751         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42752         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42753
42754 2009-08-12  Bruno Haible  <bruno@clisp.org>
42755
42756         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42757         gl_GETOPT_SUBSTITUTE before.
42758         (gl_GETOPT): Use it.
42759         * m4/argp.m4 (gl_ARGP): Update.
42760         Reported by Sergey Poznyakoff.
42761
42762         * m4/getopt.m4: Reorder macros.
42763         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42764         (gl_GETOPT_SUBSTITUTE): Remove macro.
42765
42766 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42767
42768         Minor improvement in gitlog-to-changelog
42769
42770         * build-aux/gitlog-to-changelog: New option `--format' makes
42771         output format string configurable.
42772
42773 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42774
42775         Optimize exclude: use hash tables for non-wildcard patterns.
42776
42777         * lib/exclude.c: Include hash.h and mbuiter.h
42778         (struct exclude_pattern, exclude_segment): New data types.
42779         (struct exclude): Rewrite.
42780         (fnmatch_pattern_has_wildcards): New function.
42781         (new_exclude_segment, free_exclude_segment): New functions.
42782         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42783         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42784         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42785         * modules/exclude: Depend on hash and mbuiter.
42786
42787         * modules/exclude-tests: New file.
42788         * tests/test-exclude.c: New file.
42789         * tests/test-exclude1.sh: New file.
42790         * tests/test-exclude2.sh: New file.
42791         * tests/test-exclude3.sh: New file.
42792         * tests/test-exclude4.sh: New file.
42793         * tests/test-exclude5.sh: New file.
42794         * tests/test-exclude6.sh: New file.
42795         * tests/test-exclude7.sh: New file.
42796
42797 2009-08-12  Bruno Haible  <bruno@clisp.org>
42798
42799         Ensure that getopt() gets declared by <unistd.h>.
42800         * lib/unistd.in.h: Conditionally include getopt.h.
42801         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42802         Set GNULIB_UNISTD_H_GETOPT.
42803         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42804         GNULIB_UNISTD_H_GETOPT.
42805         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42806
42807 2009-08-12  Bruno Haible  <bruno@clisp.org>
42808
42809         Clarify logic.
42810         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42811         gl_replace_getopt instead of GETOPT_H.
42812
42813 2009-08-12  Bruno Haible  <bruno@clisp.org>
42814
42815         * m4/getopt.m4: Add comments.
42816
42817 2009-08-12  Bruno Haible  <bruno@clisp.org>
42818
42819         Disable multithread support by default on Cygwin 1.5.x.
42820         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42821         set gl_use_threads=no if not specified otherwise.
42822
42823 2009-08-11  Bruno Haible  <bruno@clisp.org>
42824
42825         Avoid compilation error on NetBSD 5.0.
42826         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42827         * tests/test-stdio.c: Likewise.
42828         * tests/test-stdlib.c: Likewise.
42829         * tests/test-string.c: Likewise.
42830         * tests/test-unistd.c: Likewise.
42831         Reported by Greg Troxel <gdt@ir.bbn.com>
42832         at <https://savannah.gnu.org/support/?106973>.
42833
42834 2009-08-11  Bruno Haible  <bruno@clisp.org>
42835
42836         * modules/dup2-tests (Depends-on): Remove close.
42837
42838         Undo 2009-07-19 commit.
42839         * modules/acl-tests (Depends-on): Remove close.
42840         * modules/binary-io-tests (Depends-on): Likewise.
42841         * modules/closein-tests (Depends-on): Likewise.
42842         * modules/flock-tests (Depends-on): Likewise.
42843         * modules/fsync-tests (Depends-on): Likewise.
42844         * modules/lseek-tests (Depends-on): Likewise.
42845         * modules/pipe-tests (Depends-on): Likewise.
42846         * modules/posix_spawn-tests (Depends-on): Likewise.
42847         * modules/posix_spawnp-tests (Depends-on): Likewise.
42848         * modules/stat-time-tests (Depends-on): Likewise.
42849         * modules/yesno-tests (Depends-on): Likewise.
42850
42851 2009-08-10  Bruno Haible  <bruno@clisp.org>
42852
42853         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42854
42855 2009-08-10  Bruno Haible  <bruno@clisp.org>
42856
42857         Fix a gcc warning.
42858         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42859
42860 2009-08-10  Bruno Haible  <bruno@clisp.org>
42861
42862         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42863         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42864         not only the first time.
42865         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42866         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42867         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42868         is 1, not only the the first time.
42869
42870 2009-08-10  Bruno Haible  <bruno@clisp.org>
42871
42872         Make it possible to use module 'gethostname' without module 'close'.
42873         * lib/unistd.in.h (close): Evoke a link error only if
42874         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42876         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42877         * modules/unistd (Makefile.am): Substitute
42878         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42879         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42880         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42881         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42882         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42883         * modules/sys_ioctl (Makefile.am): Substitute
42884         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42885         * modules/socket (configure.ac): On native Windows, set
42886         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42887         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42888         Reported by Sam Steingold <sds@gnu.org>.
42889
42890 2009-08-10  Bruno Haible  <bruno@clisp.org>
42891
42892         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42893         * modules/ioctl (configure.ac): Likewise.
42894
42895 2009-08-10  Bruno Haible  <bruno@clisp.org>
42896
42897         Avoid collision between gnulib wrapper and libintl wrapper.
42898         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42899         already defined in intl/printf.c.
42900         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42901         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42902
42903 2009-08-09  Bruno Haible  <bruno@clisp.org>
42904
42905         Make <sys/select.h> really self-contained, also on Solaris 10.
42906         * lib/sys_select.in.h: Include <string.h>.
42907         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
42908         Solaris 10 problem.
42909         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
42910         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
42911         Reported by Jim Meyering.
42912
42913 2009-08-09  Bruno Haible  <bruno@clisp.org>
42914
42915         Avoid warnings from 'aclocal' that are due to a use of macro name
42916         AM_XGETTEXT_OPTION that is not defined in automake.
42917         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
42918         automake.
42919         * modules/error (configure.ac): Likewise.
42920         * modules/propername (configure.ac): Likewise.
42921         * modules/vasprintf (configure.ac): Likewise.
42922         * modules/verror (configure.ac): Likewise.
42923         * modules/xprintf (configure.ac): Likewise.
42924         * modules/xvasprintf (configure.ac): Likewise.
42925
42926 2009-08-08  Bruno Haible  <bruno@clisp.org>
42927
42928         Avoid compilation error in C++ mode.
42929         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
42930         Reported by Sam Steingold <sds@gnu.org>.
42931
42932 2009-08-08  Bruno Haible  <bruno@clisp.org>
42933
42934         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
42935         for the various Unix platforms.
42936         * doc/posix-headers/limits.texi: Update platforms list regarding
42937         HOST_NAME_MAX.
42938         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42939
42940 2009-08-07  Jim Meyering  <meyering@redhat.com>
42941
42942         selinux-at: fix typo in a comment
42943         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
42944         Spotted by Paolo Bonzini.
42945
42946         selinux-at: remove redundant m4 code, add documentation
42947         * modules/selinux-at (configure.ac): Remove redundant code.
42948         LIB_SELINUX is already set via the dependent module, selinux-h.
42949         (Include): Add quotes around selinux-at.h.
42950         * lib/selinux-at.h: Add documentation.
42951         Reported by Bruno Haible in
42952         http://marc.info/?l=gnulib-bug&m=124958988300749
42953
42954 2009-08-07  Bruno Haible  <bruno@clisp.org>
42955
42956         Avoid link error on MacOS X 10.3 and 10.4.
42957         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
42958         on non-ELF systems.
42959         * lib/argp-pv.c (argp_program_version): Likewise.
42960         Reported by Simon Josefsson.
42961
42962 2009-08-07  Simon Josefsson  <simon@josefsson.org>
42963
42964         * tests/test-version-etc.sh: Use $EXEEXT.
42965
42966 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
42967
42968         update-copyright: update documentation to point to maint.mk
42969         * build-aux/update-copyright: Here.
42970
42971 2009-08-06  Jim Meyering  <meyering@redhat.com>
42972
42973         maint.mk: support update-copyright-local
42974         * top/maint.mk (update-copyright-local): Define place-holder.
42975         (update-copyright): Depend on $(update-copyright-local).
42976
42977 2009-08-06  Jim Meyering  <meyering@redhat.com>
42978
42979         selinux-at: new module
42980         Initially written for coreutils, this module will soon be
42981         used by findutils, too.
42982         * MODULES.html.sh [Misc]: Add selinux-at.
42983         * lib/selinux-at.h: New file, from coreutils.
42984         * lib/selinux-at.c: Likewise.
42985         * modules/selinux-at: Likewise.
42986         (License): Change from LGPL to GPL, since it depends
42987         on the GPL'd openat module.
42988
42989         doc: update README
42990         * README: Remove references to cogito.
42991         Remove cvs-repo-updating instructions from 2007.
42992         Don't imply that CVS is better if you have limited disk space.
42993
42994 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42995
42996         update-copyright: support C-style comments
42997         * build-aux/update-copyright: Implement and document.
42998         * tests/test-update-copyright.sh: Test.
42999
43000 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43001
43002         update-copyright: support omitted "(C)"
43003         * build-aux/update-copyright: Implement and document.  Also,
43004         allow variable whitespace before "(C)".
43005         * tests/test-update-copyright.sh: Test.
43006
43007 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43008
43009         update-copyright: don't trip on non-FSF copyright statements
43010         * build-aux/update-copyright: Fix so that the first correctly
43011         formatted FSF copyright statement is recognized no matter what
43012         appears before it.  Update documentation.
43013         * tests/test-update-copyright.sh: Test that.
43014
43015 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43016
43017         update-copyright: clean up code a little
43018         * build-aux/update-copyright: Append "_re" to the name of any
43019         variable holding a regular expression.
43020         Replace "old" and "new" with "stmt" in variable names.
43021         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43022         handled correctly.
43023         Format code more consistently.
43024
43025 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43026
43027         update-copyright-tests: improve portability
43028         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43029         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43030
43031 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43032
43033         update-copyright: support @copyright{} and &copy;
43034         * build-aux/update-copyright: Implement and document.
43035         * tests/test-update-copyright.sh: Test.
43036
43037 2009-08-04  Jim Meyering  <meyering@redhat.com>
43038
43039         update-copyright-tests: correctly test EOL=\r\n handling
43040         * tests/test-update-copyright.sh: Put \r at the end of some lines
43041         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43042
43043         maint.mk: make update-copyright exclusion list more configurable
43044         * top/maint.mk (update-copyright): Default to excluding COPYING,
43045         but allow an override, in case someone does want to update that file.
43046
43047         maint.mk: don't update copyright date in COPYING
43048         * top/maint.mk (update-copyright): Exclude COPYING.
43049
43050         maint.mk: add a copyright-updating rule
43051         * top/maint.mk (update-copyright): New rule.
43052         Derived from coreutils/Makefile.am.
43053
43054         update-copyright: rename some variables
43055         * build-aux/update-copyright: Rename a few variables for clarity.
43056         Tweak syntax.  List Joel E. Denny as coauthor.
43057
43058 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43059
43060         update-copyright: fix bug for 2-digit last year and add tests
43061         * build-aux/update-copyright: Fix bug.
43062         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43063         specified.
43064         * modules/update-copyright-tests: New
43065         * tests/test-update-copyright.sh: New.
43066
43067 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43068
43069         update-copyright: handle leading tabs in line prefix
43070         * build-aux/update-copyright: Count leading tabs as 8 spaces
43071         when computing margin.  This helps with the formatting of
43072         ChangeLogs, for example.
43073         Fix documentation a little.
43074
43075 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43076
43077         update-copyright: support EOL=\r\n
43078         * build-aux/update-copyright: Implement that.
43079
43080 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43081
43082         update-copyright: automatically format copyright statements
43083         * build-aux/update-copyright: Implement that.
43084         Also, be a little more predictable and safer by always failing
43085         when the full copyright format is not perfectly recognized as an
43086         unbroken whole.  Discussed at
43087         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43088         Rewrite documentation.
43089
43090 2009-08-03  Bruno Haible  <bruno@clisp.org>
43091
43092         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43093
43094 2009-08-02  Bruno Haible  <bruno@clisp.org>
43095
43096         Tests for module 'uname'.
43097         * modules/uname-tests: New file.
43098         * tests/test-uname.c: New file.
43099
43100         New module 'uname'.
43101         * lib/uname.c: New file.
43102         * m4/uname.m4: New file.
43103         * modules/uname: New file.
43104         * doc/posix-functions/uname.texi: Mention the new module.
43105
43106 2009-08-02  Bruno Haible  <bruno@clisp.org>
43107
43108         Tests for module 'sys_utsname'.
43109         * modules/sys_utsname-tests: New file.
43110         * tests/test-sys_utsname.c: New file.
43111
43112         New module 'sys_utsname'.
43113         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43114         * m4/sys_utsname_h.m4: New file.
43115         * modules/sys_utsname: New file.
43116         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43117
43118 2009-08-02  Bruno Haible  <bruno@clisp.org>
43119
43120         Implicitly initialize the sockets library.
43121         * lib/gethostname.c: Include sockets.h.
43122         (rpl_gethostname): Invoke gl_sockets_startup.
43123         * lib/socket.c: Include sockets.h.
43124         (rpl_socket): Invoke gl_sockets_startup.
43125         * modules/gethostname (Depends-on): Add sockets.
43126         * modules/socket (Depends-on): Likewise.
43127         * tests/test-poll.c: Don't include sockets.h.
43128         (main): Don't invoke gl_sockets_startup.
43129         * tests/test-select.c: Don't include sockets.h.
43130         (main): Don't invoke gl_sockets_startup.
43131
43132 2009-08-02  Bruno Haible  <bruno@clisp.org>
43133
43134         Allow multiple calls to gl_sockets_startup.
43135         * lib/sockets.c (initialized_sockets_version): New variable.
43136         (gl_sockets_startup): Do nothing if already called for this or a higher
43137         version.
43138         (gl_sockets_cleanup): Reset initialized_sockets_version.
43139
43140 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43141
43142         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43143         different project/version.
43144
43145 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43146             Bruno Haible  <bruno@clisp.org>
43147
43148         Tests for module 'pipe-filter-gi'.
43149         * modules/pipe-filter-gi-tests: New file.
43150         * tests/test-pipe-filter-gi1.sh: New file.
43151         * tests/test-pipe-filter-gi1.c: New file.
43152         * tests/test-pipe-filter-gi2.sh: New file.
43153         * tests/test-pipe-filter-gi2-main.c: New file.
43154         * tests/test-pipe-filter-gi2-child.c: New file.
43155
43156         New module 'pipe-filter-gi'.
43157         * lib/pipe-filter-gi.c: New file.
43158         * modules/pipe-filter-gi: New file.
43159
43160 2009-08-02  Bruno Haible  <bruno@clisp.org>
43161             Paolo Bonzini  <bonzini@gnu.org>
43162
43163         Tests for module 'pipe-filter-ii'.
43164         * modules/pipe-filter-ii-tests: New file.
43165         * tests/test-pipe-filter-ii1.sh: New file.
43166         * tests/test-pipe-filter-ii1.c: New file.
43167         * tests/test-pipe-filter-ii2.sh: New file.
43168         * tests/test-pipe-filter-ii2-main.c: New file.
43169         * tests/test-pipe-filter-ii2-child.c: New file.
43170
43171         New module 'pipe-filter-ii'.
43172         * lib/pipe-filter.h: New file.
43173         * lib/pipe-filter-ii.c: New file.
43174         * lib/pipe-filter-aux.h: New file.
43175         * modules/pipe-filter-ii: New file.
43176
43177 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43178
43179         * lib/gc-libgcrypt.c: Change copyright to FSF.
43180         * lib/gc-gnulib.c: Likewise.
43181
43182 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43183
43184         * lib/gethostname.c: Include limits.h.
43185
43186 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43187             Bruno Haible  <bruno@clisp.org>
43188
43189         Ensure HOST_NAME_MAX as part of the gethostname module.
43190         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43191         define also HOST_NAME_MAX.
43192         * tests/test-gethostname.c: Include <limits.h>.
43193         (main): Check also HOST_NAME_MAX.
43194         * doc/posix-headers/limits.texi: Document the mingw problem.
43195
43196 2009-08-02  Bruno Haible  <bruno@clisp.org>
43197
43198         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43199         Add comments.
43200
43201 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43202
43203         * lib/gethostname.c: Add Windows wrapper.
43204         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43205         * modules/gethostname: Depend on sys_socket & errno, for also
43206         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43207         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43208
43209 2009-07-31  Jim Meyering  <meyering@redhat.com>
43210
43211         getloadavg: fix symbol name in comment
43212         * lib/getloadavg.c: Correct a typo I introduced when adding
43213         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43214         Matt Kraai spotted the problem.
43215
43216 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43217
43218         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43219         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43220         code also if ! defined N_NAME_POINTER.
43221         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43222         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43223         but the n_name member is a 12-byte array.
43224
43225 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43226
43227         update-copyright: generalize comment handling
43228         * build-aux/update-copyright: Handle copyright statements
43229         within more comment styles.
43230         Document usage.
43231         Report any file with an external copyright holder or parse failure.
43232
43233 2009-07-29  Jim Meyering  <meyering@redhat.com>
43234
43235         mktime: correct setting of REPLACE_MKTIME
43236         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43237
43238         update-copyright: new module
43239         * modules/update-copyright: New file.
43240         * build-aux/update-copyright: New file.
43241         * MODULES.html.sh (maint+release support): Add update-copyright.
43242
43243 2009-07-27  Bruno Haible  <bruno@clisp.org>
43244
43245         Fix compilation error when <ctime> is used and mktime is replaced.
43246         * lib/time.in.h (mktime): New declaration.
43247         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43248         REPLACE_MKTIME instead of defining mktime in config.h.
43249         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43250         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43251         Reported by Ross McFarland <rwmcfa1@neces.com>.
43252
43253 2009-07-27  Bruno Haible  <bruno@clisp.org>
43254
43255         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43256         Reported by Matt Kraai <mkraai@beckman.com>.
43257
43258 2009-07-25  Jim Meyering  <meyering@redhat.com>
43259
43260         maint.mk: avoid warnings about missing files
43261         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43262         diagnostic when .prev-version does not exist.
43263         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43264         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43265         nonexistent cfg.mk.
43266         Suggestions from Simon Josefsson.
43267
43268 2009-07-25  Bruno Haible  <bruno@clisp.org>
43269
43270         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43271         defined as macros. Needed on QNX 6.4.1.
43272         Reported by Matt Kraai <mkraai@beckman.com>.
43273
43274 2009-07-23  Jim Meyering  <meyering@redhat.com>
43275
43276         maint.mk: invoke "make dist" with a working value of XZ_OPT
43277         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43278
43279 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43280
43281         Make fseeko.c compile on QNX.
43282         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43283
43284 2009-07-22  Peter Simons  <simons@cryp.to>
43285
43286         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43287         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43288         * lib/md4.h: Likewise.
43289         * lib/md5.h: Likewise.
43290         * lib/sha1.h: Likewise.
43291         * lib/sha256.h: Likewise.
43292         * lib/sha512.h: Likewise.
43293
43294         tests-sha1: don't assign literal string to 'char *' variable
43295         * tests/test-sha1.c (main): Declare locals with "const" to match
43296         attributes of the right hand side.
43297
43298 2009-07-21  Eric Blake  <ebb9@byu.net>
43299
43300         dup2: fix more mingw problems
43301         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43302         fd to itself.
43303         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43304         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43305         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43306         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43307         care of mingw bugs.
43308
43309 2009-07-21  Jim Meyering  <meyering@redhat.com>
43310
43311         vc-list-files: avoid failure when /bin/sh is dash
43312         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43313         On some Debian based systems, /bin/sh is a symlink to dash, and running
43314         this command would omit the "/" following each 'tests' prefix:
43315           dash -x build-aux/vc-list-files -C . tests
43316         That is because bash and dash work differently:
43317           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43318           bash ok
43319           dash odd
43320
43321 2009-07-21  Eric Blake  <ebb9@byu.net>
43322
43323         dup2-tests: test previous patch
43324         * modules/dup2-tests: New file.
43325         * tests/test-dup2.c: Likewise.
43326         * tests/test-open.c (main): Avoid unspecified behavior.
43327         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43328         test.
43329
43330         dup2: work around mingw and cygwin 1.5 bug
43331         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43333         * modules/unistd (Makefile.am): Substitute it.
43334         * lib/unistd.in.h (dup2): Declare the replacement.
43335         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43336         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43337         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43338         * modules/execute (Depends-on): Add dup2.
43339         * modules/fseterr (Depends-on): Likewise.
43340         * modules/pipe (Depends-on): Likewise.
43341         * modules/posix_spawn-internal (Depends-on): Likewise.
43342
43343 2009-07-21  Bruno Haible  <bruno@clisp.org>
43344
43345         * modules/.gitattributes: New file.
43346
43347 2009-07-20  Bruno Haible  <bruno@clisp.org>
43348
43349         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43350         (main): Use it.
43351
43352 2009-07-20  Eric Blake  <ebb9@byu.net>
43353
43354         test-pipe: make a bit more robust.
43355         * tests/test-pipe.c (myerr): Allow error messages regardless of
43356         what we do to stderr.
43357         (test_pipe): Rearrange to avoid deadlock.
43358         (child_main): Try a larger read, to ensure we avoided deadlock.
43359         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43360         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43361         if misused.
43362
43363 2009-07-19  Jim Meyering  <meyering@redhat.com>
43364
43365         fts: avoid false-positive cycle-detection
43366         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43367         for each new command line argument.
43368
43369 2009-07-19  Bruno Haible  <bruno@clisp.org>
43370
43371         Fix build error on mingw with the modules sys_select and unistd.
43372         * modules/acl-tests (Depends-on): Add close.
43373         * modules/binary-io-tests (Depends-on): Likewise.
43374         * modules/closein-tests (Depends-on): Likewise.
43375         * modules/flock-tests (Depends-on): Likewise.
43376         * modules/fsync-tests (Depends-on): Likewise.
43377         * modules/lseek-tests (Depends-on): Likewise.
43378         * modules/pipe-tests (Depends-on): Likewise.
43379         * modules/posix_spawn-tests (Depends-on): Likewise.
43380         * modules/posix_spawnp-tests (Depends-on): Likewise.
43381         * modules/stat-time-tests (Depends-on): Likewise.
43382         * modules/yesno-tests (Depends-on): Likewise.
43383
43384 2009-07-19  Bruno Haible  <bruno@clisp.org>
43385
43386         Unify conditionals.
43387         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43388         macros, not at the compiler macros.
43389         * lib/pipe.c: Likewise.
43390         * lib/execute.c: Likewise.
43391         * lib/spawni.c: Likewise.
43392
43393 2009-07-19  Bruno Haible  <bruno@clisp.org>
43394
43395         Fix handling of closed stdin/stdout/stderr on mingw.
43396         * lib/w32spawn.h: Include unistd.h.
43397         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
43398         file descriptor with O_NOINHERIT flag.
43399         (fd_safer_noinherit): New function, based on fd-safer.c.
43400         (dup_safer_noinherit): New function, based on dup-safer.c.
43401         (undup_safer_noinherit): New function.
43402         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
43403         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
43404         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
43405         instead of fd_safer.
43406         * tests/test-pipe.c: Include <windows.h>.
43407         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
43408         result.
43409
43410         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
43411         from main.
43412         (test_pipe): Pass an extra argument for disambiguation.
43413         (main): Invoke parent_main or child_main.
43414
43415         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
43416         consistently.
43417
43418 2009-07-18  Eric Blake  <ebb9@byu.net>
43419
43420         test-pipe: fix mingw build
43421         * tests/test-pipe.c (main): Avoid fcntl on mingw.
43422
43423 2009-07-18  Bruno Haible  <bruno@clisp.org>
43424
43425         * modules/pipe-tests (Makefile.am): Fix typo.
43426
43427 2009-07-18  Eric Blake  <ebb9@byu.net>
43428
43429         error: fix mingw build
43430         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
43431         Reported by Bruno Haible.
43432
43433         error: avoid undefined use of stdout
43434         * lib/error.c (error, error_at_line): Check that fd 1 is open
43435         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
43436         is handling faults and the close_stdout module wants to report the
43437         detection of closed stdout as an error.
43438
43439 2009-07-17  Eric Blake  <ebb9@byu.net>
43440
43441         pipe: be robust in face of closed fds
43442         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
43443         should cause child to misbehave.
43444         * modules/pipe-tests: New module.
43445         * tests/test-pipe.c: New file.
43446         * tests/test-pipe.sh: New file.
43447         Reported by Akim Demaille.
43448
43449 2009-07-14  Bruno Haible  <bruno@clisp.org>
43450
43451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
43452         Reported by anonymous kc.
43453
43454 2009-07-07  Jim Meyering  <meyering@redhat.com>
43455
43456         maint.mk: don't look for translatable strings in *.m4 or *.mk
43457         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
43458         when searching for translatable strings.
43459
43460 2009-07-05  Jim Meyering  <meyering@redhat.com>
43461
43462         remove superfluous parentheses in STREQ definition
43463         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
43464         * lib/getugroups.c (STREQ): Likewise.
43465         * lib/fnmatch.c (STREQ): Likewise.
43466         Spotted by Bruno Haible.
43467
43468 2009-07-04  Jim Meyering  <meyering@redhat.com>
43469
43470         argv-iter: new module
43471         * MODULES.html.sh: Add argv-iter.
43472         * lib/argv-iter.c, lib/argv-iter.h: New files.
43473         * modules/argv-iter: New file.
43474         * modules/argv-iter-tests: New file.
43475         * tests/test-argv-iter.c: Test it.
43476
43477 2009-07-04  Bruno Haible  <bruno@clisp.org>
43478
43479         Fix assertion.
43480         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
43481         contains more exact copies of a given entry than file2, leave the extra
43482         copies unpaired rather than aborting.
43483         Reported by Eric Blake.
43484
43485 2009-07-02  Bruno Haible  <bruno@clisp.org>
43486
43487         Speedup git-merge-changelog for git cherry-pick.
43488         * lib/git-merge-changelog.c (struct entries_mapping): New type.
43489         (entries_mapping_get): New function, extracted from compute_mapping.
43490         (entries_mapping_reverse_get): New function.
43491         (compute_mapping): Add a 'full' argument. Return the result in a
43492         'struct entries_mapping'.
43493         (main): Update. Access the mappings through entries_mapping_get.
43494         Reported by Eric Blake.
43495
43496 2009-07-02  Bruno Haible  <bruno@clisp.org>
43497
43498         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
43499         best_i.
43500
43501 2009-07-02  Bruno Haible  <bruno@clisp.org>
43502
43503         Speed up approximate search for matching ChangeLog entries.
43504         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
43505         argument. Call fstrcmp_bounded instead of fstrcmp.
43506         (compute_mapping, try_split_merged_entry, main): Update callers.
43507
43508 2009-07-02  Bruno Haible  <bruno@clisp.org>
43509
43510         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
43511
43512 2009-06-30  Bruno Haible  <bruno@clisp.org>
43513
43514         Reduce the number of uc_is_cased calls.
43515         * lib/unicase.h (casing_suffix_context_t): Add
43516         'first_char_except_ignorable' field.
43517         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
43518         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
43519         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
43520         Update initializer.
43521         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
43522         case-ignorable characters.
43523         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
43524         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
43525         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
43526         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
43527         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
43528
43529 2009-06-30  Bruno Haible  <bruno@clisp.org>
43530
43531         Tests for module 'unicase/ignorable'.
43532         * modules/unicase/ignorable-tests: New file.
43533         * tests/unicase/test-ignorable.c: New file, generated by
43534         gen-uni-tables.
43535
43536         Tests for module 'unicase/cased'.
43537         * modules/unicase/cased-tests: New file.
43538         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43539         * tests/unicase/test-predicate-part1.h: New file, derived from
43540         tests/unictype/test-predicate-part1.h.
43541         * tests/unicase/test-predicate-part2.h: New file, same as
43542         tests/unictype/test-predicate-part2.h.
43543
43544         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43545         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43546         (output_casing_properties): New function.
43547         (main): Call it.
43548         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43549         * lib/unicase/cased.c: Include unictype/bitmap.h.
43550         (uc_is_cased): Define through a bitmap lookup.
43551         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43552         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43553         (uc_is_case_ignorable): Define through a bitmap lookup.
43554         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43555         lib/unictype/bitmap.h.
43556         (Depends-on): Add inline. Clean up.
43557         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43558         lib/unictype/bitmap.h.
43559         (Depends-on): Add inline. Clean up.
43560         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43561         recognition.
43562         * tests/unicase/test-u16-tolower.c (main): Likewise.
43563         * tests/unicase/test-u32-tolower.c (main): Likewise.
43564
43565 2009-06-30  Bruno Haible  <bruno@clisp.org>
43566
43567         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43568         * lib/unicase/u16-casemap.c: Likewise.
43569         * lib/unicase/u32-casemap.c: Likewise.
43570
43571 2009-06-29  Bruno Haible  <bruno@clisp.org>
43572
43573         Define u32_casefold as a wrapper around u32_ct_casefold.
43574         * lib/unicase/u32-casefold.c: Update.
43575         * modules/unicase/u32-casefold (Depends-on): Add
43576         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43577         unicase/empty-suffix-context. Clean up.
43578
43579         Define u16_casefold as a wrapper around u16_ct_casefold.
43580         * lib/unicase/u16-casefold.c: Update.
43581         * modules/unicase/u16-casefold (Depends-on): Add
43582         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43583         unicase/empty-suffix-context. Clean up.
43584
43585         Define u8_casefold as a wrapper around u8_ct_casefold.
43586         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43587         * lib/unicase/u8-casefold.c: Update.
43588         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43589         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43590
43591         Define u32_totitle as a wrapper around u32_ct_totitle.
43592         * lib/unicase/u32-totitle.c: Update.
43593         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43594         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43595
43596         Define u16_totitle as a wrapper around u16_ct_totitle.
43597         * lib/unicase/u16-totitle.c: Update.
43598         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43599         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43600
43601         Define u8_totitle as a wrapper around u8_ct_totitle.
43602         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43603         functions.
43604         (FUNC): Delegate to U_CT_TOTITLE.
43605         * lib/unicase/u8-totitle.c: Update.
43606         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43607         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43608
43609         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43610         invocation.
43611         * modules/unicase/u32-tolower (Depends-on): Add
43612         unicase/empty-prefix-context, unicase/empty-suffix-context.
43613
43614         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43615         invocation.
43616         * modules/unicase/u16-tolower (Depends-on): Add
43617         unicase/empty-prefix-context, unicase/empty-suffix-context.
43618
43619         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43620         * modules/unicase/u8-tolower (Depends-on): Add
43621         unicase/empty-prefix-context, unicase/empty-suffix-context.
43622
43623         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43624         invocation.
43625         * modules/unicase/u32-toupper (Depends-on): Add
43626         unicase/empty-prefix-context, unicase/empty-suffix-context.
43627
43628         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43629         invocation.
43630         * modules/unicase/u16-toupper (Depends-on): Add
43631         unicase/empty-prefix-context, unicase/empty-suffix-context.
43632
43633         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43634         * modules/unicase/u8-toupper (Depends-on): Add
43635         unicase/empty-prefix-context, unicase/empty-suffix-context.
43636
43637         New module 'unicase/u32-ct-casefold'.
43638         * lib/unicase/u32-ct-casefold.c: New file.
43639         * modules/unicase/u32-ct-casefold: New file.
43640
43641         New module 'unicase/u16-ct-casefold'.
43642         * lib/unicase/u16-ct-casefold.c: New file.
43643         * modules/unicase/u16-ct-casefold: New file.
43644
43645         New module 'unicase/u8-ct-casefold'.
43646         * lib/unicase/u8-ct-casefold.c: New file.
43647         * lib/unicase/u-ct-casefold.h: New file, derived from
43648         lib/unicase/u-casefold.h.
43649         * modules/unicase/u8-ct-casefold: New file.
43650
43651         New module 'unicase/u32-ct-totitle'.
43652         * lib/unicase/u32-ct-totitle.c: New file.
43653         * modules/unicase/u32-ct-totitle: New file.
43654
43655         New module 'unicase/u16-ct-totitle'.
43656         * lib/unicase/u16-ct-totitle.c: New file.
43657         * modules/unicase/u16-ct-totitle: New file.
43658
43659         New module 'unicase/u8-ct-totitle'.
43660         * lib/unicase/u8-ct-totitle.c: New file.
43661         * lib/unicase/u-ct-totitle.h: New file, derived from
43662         lib/unicase/u-totitle.h.
43663         * modules/unicase/u8-ct-totitle: New file.
43664
43665         New module 'unicase/u32-ct-tolower'.
43666         * lib/unicase/u32-ct-tolower.c: New file.
43667         * modules/unicase/u32-ct-tolower: New file.
43668
43669         New module 'unicase/u16-ct-tolower'.
43670         * lib/unicase/u16-ct-tolower.c: New file.
43671         * modules/unicase/u16-ct-tolower: New file.
43672
43673         New module 'unicase/u8-ct-tolower'.
43674         * lib/unicase/u8-ct-tolower.c: New file.
43675         * modules/unicase/u8-ct-tolower: New file.
43676
43677         New module 'unicase/u32-ct-toupper'.
43678         * lib/unicase/u32-ct-toupper.c: New file.
43679         * modules/unicase/u32-ct-toupper: New file.
43680
43681         New module 'unicase/u16-ct-toupper'.
43682         * lib/unicase/u16-ct-toupper.c: New file.
43683         * modules/unicase/u16-ct-toupper: New file.
43684
43685         New module 'unicase/u8-ct-toupper'.
43686         * lib/unicase/u8-ct-toupper.c: New file.
43687         * modules/unicase/u8-ct-toupper: New file.
43688
43689         Add context arguments to u*_casemap functions.
43690         * lib/unicase/unicasemap.h: Include unicase.h.
43691         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43692         suffix_context arguments.
43693         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43694         functions.
43695         (FUNC): Add prefix_context and suffix_context arguments. Use
43696         uc_is_cased and uc_is_case_ignorable.
43697         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43698         * lib/unicase/u16-casemap.c: Likewise.
43699         * lib/unicase/u32-casemap.c: Likewise.
43700         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43701         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43702         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43703         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43704         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43705         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43706
43707         New module 'unicase/u32-suffix-context'.
43708         * lib/unicase/u32-suffix-context.c: New file.
43709         * modules/unicase/u32-suffix-context: New file.
43710
43711         New module 'unicase/u16-suffix-context'.
43712         * lib/unicase/u16-suffix-context.c: New file.
43713         * modules/unicase/u16-suffix-context: New file.
43714
43715         New module 'unicase/u8-suffix-context'.
43716         * lib/unicase/u8-suffix-context.c: New file.
43717         * lib/unicase/u-suffix-context.h: New file.
43718         * modules/unicase/u8-suffix-context: New file.
43719
43720         New module 'unicase/empty-suffix-context'.
43721         * lib/unicase/empty-suffix-context.c: New file.
43722         * modules/unicase/empty-suffix-context: New file.
43723
43724         New module 'unicase/u32-prefix-context'.
43725         * lib/unicase/u32-prefix-context.c: New file.
43726         * modules/unicase/u32-prefix-context: New file.
43727
43728         New module 'unicase/u16-prefix-context'.
43729         * lib/unicase/u16-prefix-context.c: New file.
43730         * modules/unicase/u16-prefix-context: New file.
43731
43732         New module 'unicase/u8-prefix-context'.
43733         * lib/unicase/u8-prefix-context.c: New file.
43734         * lib/unicase/u-prefix-context.h: New file.
43735         * lib/unicase/context.h: New file.
43736         * modules/unicase/u8-prefix-context: New file.
43737
43738         New module 'unicase/empty-prefix-context'.
43739         * lib/unicase/empty-prefix-context.c: New file.
43740         * modules/unicase/empty-prefix-context: New file.
43741
43742         New module 'unicase/ignorable'.
43743         * lib/unicase/ignorable.c: New file.
43744         * modules/unicase/ignorable: New file.
43745
43746         New module 'unicase/cased'.
43747         * lib/unicase/caseprop.h: New file.
43748         * lib/unicase/cased.c: New file.
43749         * modules/unicase/cased: New file.
43750
43751         New functions for case mapping of substrings.
43752         * lib/unicase.h (casing_prefix_context_t): New type.
43753         (unicase_empty_prefix_context): New variable.
43754         (u8_casing_prefix_context, u16_casing_prefix_context,
43755         u32_casing_prefix_context, u8_casing_prefixes_context,
43756         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43757         declarations.
43758         (casing_suffix_context_t): New type.
43759         (unicase_empty_suffix_context): New variable.
43760         (u8_casing_suffix_context, u16_casing_suffix_context,
43761         u32_casing_suffix_context, u8_casing_suffixes_context,
43762         u16_casing_suffixes_context, u32_casing_suffixes_context,
43763         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43764         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43765         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43766         declarations.
43767
43768 2009-06-28  Jim Meyering  <meyering@redhat.com>
43769
43770         boostrap: indent only with spaces
43771         * build-aux/bootstrap: Indent only with spaces, never TABs.
43772
43773         bootstrap: split long lines
43774         * build-aux/bootstrap: Keep line length < 80.
43775
43776         bootstrap: sync from coreutils
43777         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43778         just as autoreconf does.  Verify a list of prerequisite
43779         package-name,version-number pairs if defined in bootstrap.conf.
43780         Refer to README-prereq, if prerequisites are not satisfied.
43781
43782 2009-06-27  Eric Blake  <ebb9@byu.net>
43783
43784         tests: add test for bogus NULL definition
43785         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43786         * tests/test-stdlib.c: Likewise.
43787         * tests/test-string.c: Likewise.
43788         * tests/test-locale.c: Likewise.
43789         * tests/test-unistd.c: Likewise.
43790         * modules/stdio-tests (Depends-on): Add verify.
43791         * modules/stdlib-tests (Depends-on): Likewise.
43792         * modules/string-tests (Depends-on): Likewise.
43793         * modules/locale-tests (Depends-on): Likewise.
43794         * modules/unistd-tests (Depends-on): Likewise.
43795
43796 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43797
43798         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43799         self-explaining comment.
43800         * m4/selinux-selinux-h: Update serial.
43801         (gl_LIBSELINUX): New macro, adding a warning for missing development
43802         packages to code extracted from...
43803         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43804         Add warning for missing development packages here, too.
43805
43806 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43807
43808         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43809
43810 2009-06-25  Eric Blake  <ebb9@byu.net>
43811
43812         version-etc: fix regression
43813         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43814         gcc.
43815         (version_etc): Use it, to catch bugs with trailing NULL.
43816         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43817         (version_etc_va): Fix logic bug.
43818         * modules/version-etc-tests: Add test.
43819         * tests/test-version-etc.c: New file.
43820         * tests/test-version-etc.sh: Likewise.
43821
43822 2009-06-25  Sam Steingold  <sds@gnu.org>
43823
43824         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43825         mbtowc declaration.
43826
43827 2009-06-25  Eric Blake  <ebb9@byu.net>
43828
43829         fpurge: migrate into <stdio.h>
43830         * lib/fpurge.h: Delete...
43831         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43832         * lib/fpurge.c (fpurge): Change declaring header.
43833         * modules/fpurge (Files): Drop deleted file.
43834         (Depends-on): Add stdio.
43835         (configure.ac): Set witness.
43836         * modules/stdio (Makefile.am): Support fpurge macros.
43837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43838         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43839         * lib/fflush.c: Update client.
43840         * tests/test-fpurge.c: Likewise.
43841         * NEWS: Mention the change.
43842
43843 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43844
43845         * lib/argp-version-etc.c (program_authors): Add const
43846         qualifier.
43847         * lib/version-etc.c: Fix typos in the comments.
43848         * modules/argp-version-etc: Depends on version-etc.
43849
43850 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43851
43852         argp-version-etc: new module.
43853
43854         * lib/argp-version-etc.c: New file.
43855         * lib/argp-version-etc.h: New file.
43856         * modules/argp-version-etc: New file.
43857         * modules/argp-version-etc-tests: New file.
43858         * tests/test-argp-version-etc.c: New test.
43859         * tests/test-argp-version-etc-1.sh: New test.
43860
43861 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43862
43863         Provide additional interfaces and documentation for version-etc
43864         module.
43865
43866         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43867         interfaces.
43868         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43869         prototypes.
43870
43871 2009-06-24  Bruno Haible  <bruno@clisp.org>
43872
43873         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43874         HAVE_LIB${NAME} macro.
43875         Reported by Sam Steingold <sds@gnu.org>.
43876
43877 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43878
43879         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43880         needed.
43881
43882 2009-06-21  Bruno Haible  <bruno@clisp.org>
43883
43884         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43885         work.
43886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43887         together with LIB${NAME}, LTLIB${NAME}.
43888         Reported by Sam Steingold <sds@gnu.org>.
43889
43890 2009-06-20  Jim Meyering  <meyering@redhat.com>
43891
43892         tests: make sc_require_test_exit_idiom more generic
43893         * top/maint.mk (Exit_witness_file): New overridable variable.
43894         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43895         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43896
43897 2009-06-19  Jim Meyering  <meyering@redhat.com>
43898
43899         hash: reverse order of src/dst parameters in an internal interface
43900         * lib/hash.c (transfer_entries): Reverse order of parameters to
43901         put DST before SRC.  Adjust callers.
43902
43903         tests: test-hash: avoid wholesale duplication
43904         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
43905         Instead, use a loop and add a single conditional.
43906
43907         tests: test-hash: allow seed selection via a command line argument
43908         * tests/test-hash.c (get_seed): New function.
43909         (main): Use it.
43910
43911 2009-06-19  Eric Blake  <ebb9@byu.net>
43912
43913         hash: avoid memory leak on allocation failure
43914         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
43915         failure.  Factor repeated algorithm...
43916         (transfer_entries): ...into new helper routine.
43917         (hash_delete): React to hash_rehash return value.
43918
43919         hash: reduce memory pressure in hash_rehash no-op case
43920         * lib/hash.c (next_prime): Avoid overflow.
43921         (hash_initialize): Factor bucket size computation...
43922         (compute_bucket_size): ...into new helper function.
43923         (hash_rehash): Use new function and open coding to reduce memory
43924         pressure, and avoid a memory leak in USE_OBSTACK code.
43925         Reported by Jim Meyering.
43926
43927 2009-06-18  Eric Blake  <ebb9@byu.net>
43928
43929         hash: make rotation more obvious
43930         * modules/hash (Depends-on): Add bitrotate and stdint.
43931         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
43932         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
43933         (SIZE_MAX): Rely on headers for definition.
43934         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
43935         (raw_hasher): Use rotr_sz.
43936         Suggested by Jim Meyering.
43937
43938         hash: fix memory leak in last patch
43939         * lib/hash.c (hash_rehash): Avoid memory leak.
43940
43941         hash: avoid no-op rehashing
43942         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
43943
43944         hash: provide default callback functions
43945         * lib/hash.c (raw_hasher, raw_comparator): New functions.
43946         (hash_initialize): Use them as defaults.
43947         * tests/test-hash.c (main): Test this.
43948
43949         hash: minor optimization
43950         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
43951         when possible.
43952         (hash_initialize): Document this promise.
43953         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
43954         * tests/test-hash.c (hash_compare_strings): Test this.
43955
43956 2009-06-18  Bruno Haible  <bruno@clisp.org>
43957
43958         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
43959         going to be replaced anyway.
43960
43961 2009-06-18  Bruno Haible  <bruno@clisp.org>
43962
43963         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
43964         in one place.
43965         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
43966         be replaced anyway.
43967
43968 2009-06-18  Eric Blake  <ebb9@byu.net>
43969
43970         hash: check for resize before insertion
43971         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
43972         threshold before insertion, so that a pathological hash_rehash
43973         that fills every bucket can still trigger another rehash.
43974
43975 2009-06-18  Jim Meyering  <meyering@redhat.com>
43976
43977         hash-tests: add a loop around the small tests
43978         * tests/test-hash.c (main): Repeat small tests with selected
43979         small initial table sizes.
43980
43981 2009-06-17  Eric Blake  <ebb9@byu.net>
43982
43983         hash: minor cleanups
43984         * lib/hash.h (hash_entry): Make opaque, by moving...
43985         * lib/hash.c (hash_entry): ...here.
43986         (hash_insert): Clarify restrictions on what can be inserted.
43987         (hash_get_next): Clarify when it is safe to remove an element
43988         during traversal.
43989         (check_tuning): Skip verification when tuning is known safe.
43990         (hash_initialize): Clarify restrictions on tuning.
43991
43992 2009-06-17  Jim Meyering  <jim@meyering.net>
43993         and Eric Blake  <ebb9@byu.net>
43994
43995         hash-tests: new module
43996         * modules/hash-tests: New file.
43997         * tests/test-hash.c: New file.
43998
43999 2009-06-17  Eric Blake  <ebb9@byu.net>
44000
44001         strstr-simple: document new module
44002         * MODULES.html.sh: Document new module.
44003
44004         strstr, strcasestr: replace on platforms with broken memchr
44005         * modules/strstr: Split into...
44006         * modules/strstr-simple: ...new module that does not care about
44007         performance, but does care about glibc bug.
44008         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44009         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44010         if platform memchr is broken, per Debian bug 521737.
44011         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44012         memchr.
44013         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44014         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44015         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44016         * modules/mountlist (Depends-on): Add strstr-simple.
44017         * modules/gen-uni-tables (Depends-on): Likewise.
44018         * modules/argz (Depends-on): Add strstr.
44019
44020 2009-06-17  Bruno Haible  <bruno@clisp.org>
44021
44022         * modules/posix_spawn-internal (Depends-on): Add errno.
44023
44024 2009-06-17  Bruno Haible  <bruno@clisp.org>
44025
44026         Define missing ESTALE on Interix 3.5.
44027         * lib/errno.in.h (ESTALE): Assign a value if missing.
44028         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44029         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44030         missing.
44031         * doc/posix-headers/errno.texi: Mention the Interix bug.
44032         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44033
44034 2009-06-15  Eric Blake  <ebb9@byu.net>
44035
44036         memchr, memchr2: add valgrind exception
44037         * lib/memchr.valgrind: New file.
44038         * lib/memchr2.valgrind: New file.
44039         * modules/memchr (Files): Distribute valgrind file.
44040         * modules/memchr2 (Files): Likewise.
44041
44042         docs: memchr is no longer obsolete
44043         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44044         * lib/string.in.h (memchr): Simplify logic.
44045
44046 2009-06-14  Jim Meyering  <meyering@redhat.com>
44047
44048         link-follow: fix the "checking..." message to not mention trailing slash
44049         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44050         never considered trailing slashes.
44051
44052 2009-06-14  Bruno Haible  <bruno@clisp.org>
44053
44054         * m4/memchr.m4: Mention also the bug on IA-64.
44055         * doc/posix-functions/memchr.texi: Likewise.
44056
44057 2009-06-12  Eric Blake  <ebb9@byu.net>
44058
44059         memchr: detect broken x86_64 and alpha implementations
44060         * modules/memchr-tests (Depends-on): Move mmap detection...
44061         * modules/memchr (Depends-on): ...here.
44062         (configure.ac): Set indicator.
44063         * lib/string.in.h (memchr): Declare replacement.
44064         * modules/string (Makefile.am): Trigger replacement.
44065         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44066         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44067         bugs.
44068         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44069         * modules/getpagesize (License): Relax license.
44070
44071 2009-06-11  Bruno Haible  <bruno@clisp.org>
44072
44073         * lib/idpriv.h: Add more references.
44074
44075 2009-06-08  Bruno Haible  <bruno@clisp.org>
44076
44077         Tests for module 'idpriv-droptemp'.
44078         * modules/idpriv-droptemp-tests: New file.
44079         * tests/test-idpriv-droptemp.sh: New file.
44080         * tests/test-idpriv-droptemp.su.sh: New file.
44081         * tests/test-idpriv-droptemp.c: New file.
44082
44083         New module 'idpriv-droptemp'.
44084         * lib/idpriv-droptemp.c: New file.
44085         * modules/idpriv-droptemp: New file.
44086
44087 2009-06-08  Bruno Haible  <bruno@clisp.org>
44088
44089         Tests for module 'idpriv-drop'.
44090         * modules/idpriv-drop-tests: New file.
44091         * tests/test-idpriv-drop.sh: New file.
44092         * tests/test-idpriv-drop.su.sh: New file.
44093         * tests/test-idpriv-drop.c: New file.
44094
44095         New module 'idpriv-drop'.
44096         * lib/idpriv.h: New file.
44097         * lib-idpriv-drop.c: New file.
44098         * m4/idpriv.m4: New file.
44099         * modules/idpriv-drop: New file.
44100
44101 2009-06-08  Bruno Haible  <bruno@clisp.org>
44102
44103         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44104         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44105         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44106         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44107         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44108         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44109         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44110
44111 2009-06-08  Eric Blake  <ebb9@byu.net>
44112
44113         test-strstr: use memory fence, when possible
44114         * tests/test-strstr.c (main): Use memory fence, in order to be
44115         more likely to trigger Debian bug 521737.
44116         * modules/strstr-tests (Files): Pull in additional files.
44117
44118         memchr: no longer obsolete, for wider field testing
44119         * modules/memchr (Status, Notice): Delete, this module is no
44120         longer obsolete.
44121         * modules/vasnprintf (Depends-on): Add memchr.
44122
44123 2009-06-07  Jim Meyering  <meyering@redhat.com>
44124
44125         hash: declare some functions with the warn_unused_result attribute
44126         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44127
44128 2009-06-07  Bruno Haible  <bruno@clisp.org>
44129
44130         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44131         Reported by Eric Blake.
44132
44133 2009-06-06  Eric Blake  <ebb9@byu.net>
44134
44135         test-alignof: fix typo with long double
44136         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44137         compiler error.
44138
44139 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44140
44141         Escape non-texinfo { and }s.
44142         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44143         markup error.
44144
44145 2009-06-04  Jim Meyering  <meyering@redhat.com>
44146
44147         gitlog-to-changelog: don't infloop on an empty commit log
44148         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44149         Reported by Boris Petersen <transacid@centerim.org>.
44150
44151 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44152
44153         version-etc: extend for packagers
44154         Add three new configure options, intended for packagers:
44155           --with-packager="packager name"
44156           --with-packager-version="packager-specific version"
44157           --with-packager-bug-reports="packager bug reporting"
44158         An example with coreutils:
44159           $ ./configure \
44160             --with-packager=Gentoo \
44161             --with-packager-bug-report=http://bugs.gentoo.org/ \
44162             --with-packager-version="patchset 1.6"
44163           $ ./src/ls --version | head -n2
44164           ls (GNU coreutils) 7.1-dirty
44165           Packaged by Gentoo (patchset 1.6)
44166         Note that the bug reporting info via --help doesn't show up because
44167         coreutils uses its own custom emit_bug_reporting_address() implementation
44168         in src/system.h.  If it didn't, it'd look like:
44169           $ ./src/ls --help | tail -n4
44170           Report bugs to <bug-coreutils@gnu.org>.
44171           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44172           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44173           General help using GNU software: <http://www.gnu.org/gethelp/>.
44174         * lib/version-etc.c: Print new information, if provided.
44175         * m4/version-etc.m4: New file.
44176         * modules/version-etc (Files): Add m4/version-etc.m4.
44177         (configure.ac): Add gl_VERSION_ETC.
44178
44179 2009-05-31  Bruno Haible  <bruno@clisp.org>
44180
44181         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44182         and 'int64_t'.
44183         * modules/alignof-tests (Dependencies): Add stdint.
44184         Reported by Eric Blake.
44185
44186 2009-05-31  Bruno Haible  <bruno@clisp.org>
44187
44188         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44189         restriction due to compiler bugs.
44190         Reported by Eric Blake.
44191
44192 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44193             Bruno Haible  <bruno@clisp.org>
44194
44195         Fix test-alignof failure.
44196         * lib/alignof.h (alignof_slot): New macro.
44197         (alignof_type): New macro, with the same semantics as the previous
44198         'alignof'.
44199         (alignof): Alias to alignof_slot.
44200         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44201         check that the results are usable as constant expressions.
44202
44203 2009-05-31  Bruno Haible  <bruno@clisp.org>
44204
44205         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44206         * tests/test-memchr.c (main): Check that memchr does not read past the
44207         first occurrence of the byte.
44208         * tests/test-strstr.c (main): Update comment.
44209         Suggested by Eric Blake.
44210
44211 2009-05-30  Bruno Haible  <bruno@clisp.org>
44212
44213         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44214         detail how to use dumpbin.
44215         Reported by David Byron <dbyron@dbyron.com>.
44216
44217 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44218
44219         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44220
44221 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44222
44223         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44224
44225 2009-05-28  Bruno Haible  <bruno@clisp.org>
44226
44227         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44228         build-aux/ files.
44229
44230 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44231
44232         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44233
44234 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44235
44236         * gnulib-tool (sed_transform_main_lib_file)
44237         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44238         regexps.
44239
44240 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44241
44242         * tests/test-strstr.c: Add another self-test.
44243         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44244         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44245
44246 2009-05-23  Bruno Haible  <bruno@clisp.org>
44247
44248         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44249         change.
44250
44251 2009-05-21  Bruno Haible  <bruno@clisp.org>
44252
44253         Simplify use of mode_t varargs.
44254         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44255         uses 'mode_t' or 'int'.
44256         * lib/openat.c (openat): Likewise.
44257         * lib/open-safer.c (open_safer): Likewise.
44258         * m4/mode_t.m4: New file.
44259         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44260         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44261         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44262         * modules/open (Files): Add m4/mode_t.m4.
44263         * modules/openat (Files): Likewise.
44264         * modules/fcntl-safer (Files): Likewise.
44265         Suggested by Eric Blake.
44266
44267 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44268
44269         * doc/glibc-functions/fallocate.texi: New file.
44270         * doc/gnulib.texi: Include it.
44271
44272 2009-05-21  Eric Blake  <ebb9@byu.net>
44273             Bruno Haible  <bruno@clisp.org>
44274
44275         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44276         invocations.
44277         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44278
44279 2009-05-21  Eric Blake  <ebb9@byu.net>
44280             Bruno Haible  <bruno@clisp.org>
44281
44282         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44283         include_next. Fix of 2008-11-20 commit.
44284         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44285         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44286         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44287         NEXT_MATH_H.
44288         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44289         instead of NEXT_MATH_H.
44290
44291 2009-05-21  Bruno Haible  <bruno@clisp.org>
44292
44293         Avoid redefinition warnings for SIZE_MAX.
44294         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44295         Reported by Simon Josefsson.
44296
44297 2009-05-21  Bruno Haible  <bruno@clisp.org>
44298
44299         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44300         AC_CACHE_VAL.
44301
44302 2009-05-20  Bruno Haible  <bruno@clisp.org>
44303
44304         Make zeroptr.h work on mingw.
44305         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44306         mprotect.
44307         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44308         * modules/memchr2-tests (configure.ac): Likewise.
44309         * modules/memcmp-tests (configure.ac): Likewise.
44310         * modules/memmem-tests (configure.ac): Likewise.
44311         * modules/memrchr-tests (configure.ac): Likewise.
44312         Reported by Simon Josefsson.
44313
44314 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44315
44316         * tests/test-glob.c: Include string.h for strcmp prototype.
44317
44318 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44319
44320         * modules/getdelim (Depends-on): Add explicit stdint, although it
44321         was implicitly already pulled in via realloc-posix.
44322         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44323
44324 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44325
44326         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44327         G. Christensen" <tgc@jupiterrise.com>.
44328         * m4/sys_socket_h.m4: Check for sa_family_t.
44329         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44330         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44331         * tests/test-sys_socket.c: Check that sa_family_t works.
44332
44333 2009-05-18  Eric Blake  <ebb9@byu.net>
44334
44335         maint.mk: allow gnulib_dir in VPATH build
44336         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44337
44338 2009-05-15  Jim Meyering  <meyering@redhat.com>
44339
44340         maint.mk: Give gnulib_dir a default definition.
44341         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44342         Thus, most packages no longer need to specify this variable in cfg.mk
44343
44344 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44345
44346         rename.m4: fix typos that would make non-mingw cross-configure fail
44347         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44348
44349 2009-05-13  Eric Blake  <ebb9@byu.net>
44350
44351         mmap-anon: avoid out-of-order autoconf expansion
44352         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44353         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44354         * modules/memchr-tests (Depends-on): Add extensions.
44355         * modules/memchr2-tests (Depends-on): Add extensions.
44356         * modules/memcmp-tests (Depends-on): Add extensions.
44357         * modules/memmem-tests (Depends-on): Add extensions.
44358         * modules/memrchr-tests (Depends-on): Add extensions.
44359
44360 2009-05-13  Bruno Haible  <bruno@clisp.org>
44361
44362         Make some tests ISO C 99 compliant.
44363         * tests/zerosize-ptr.h: New file.
44364         * tests/test-memchr.c: Include zerosize-ptr.h.
44365         (main): Use a zero-size object pointer instead of NULL.
44366         * tests/test-memchr2.c: Include zerosize-ptr.h.
44367         (main): Use a zero-size object pointer instead of NULL.
44368         * tests/test-memcmp.c: Include zerosize-ptr.h.
44369         (main): Use a zero-size object pointer instead of NULL.
44370         * tests/test-memmem.c: Include zerosize-ptr.h.
44371         (main): Use a zero-size object pointer instead of NULL.
44372         * tests/test-memrchr.c: Include zerosize-ptr.h.
44373         (main): Use a zero-size object pointer instead of NULL.
44374         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44375         m4/mmap-anon.m4.
44376         (Depends-on): Add getpagesize.
44377         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44378         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44379         m4/mmap-anon.m4.
44380         (Depends-on): Add getpagesize.
44381         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44382         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44383         m4/mmap-anon.m4.
44384         (Depends-on): Add getpagesize.
44385         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44386         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44387         m4/mmap-anon.m4.
44388         (Depends-on): Add getpagesize.
44389         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44390         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44391         m4/mmap-anon.m4.
44392         (Depends-on): Add getpagesize.
44393         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44394
44395 2009-05-12  Bruno Haible  <bruno@clisp.org>
44396
44397         Tests for module 'alignof'.
44398         * modules/alignof-tests: New file.
44399         * tests/test-alignof.c: New file.
44400
44401 2009-05-12  Bruno Haible  <bruno@clisp.org>
44402
44403         Fix alignof macro.
44404         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
44405         vendor compilers that are always correct.
44406
44407 2009-05-12  Bruno Haible  <bruno@clisp.org>
44408
44409         Make the MAP_ANONYMOUS detection work on HP-UX 11.
44410         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
44411         not whether its fully works.
44412
44413 2009-05-12  Bruno Haible  <bruno@clisp.org>
44414
44415         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
44416
44417 2009-05-12  Jim Meyering  <meyering@redhat.com>
44418
44419         * top/maint.mk: Adjust backslash alignment.
44420
44421 2009-05-11  Simon Josefsson  <simon@josefsson.org>
44422
44423         * top/maint.mk: Make $(srcdir)/build-aux configurable.
44424
44425 2009-05-11  Eric Blake  <ebb9@byu.net>
44426
44427         argp: avoid undefined behavior
44428         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
44429         macros.
44430
44431 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44432
44433         * tests/test-vc-list-files-git.sh: Do git config of user.email and
44434         user.name to prevent git commit from complaining.
44435
44436 2009-05-10  Bruno Haible  <bruno@clisp.org>
44437
44438         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
44439         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
44440         it rewrites every file name only once.
44441         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
44442
44443 2009-05-08  Bruno Haible  <bruno@clisp.org>
44444
44445         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
44446         instead of 'max'.
44447
44448 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44449
44450         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
44451         sockaddr_storage test.
44452
44453 2009-05-07  Simon Josefsson  <simon@josefsson.org>
44454
44455         * modules/sys_socket (Makefile.am): Substitute
44456         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
44457         * m4/sys_socket_h.m4: Check for sockaddr_storage.
44458         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
44459         * tests/test-sys_socket.c: Check sockaddr_storage.
44460
44461 2009-05-08  Bruno Haible  <bruno@clisp.org>
44462
44463         New module 'alignof'.
44464         * lib/alignof.h: New file.
44465         * modules/alignof: New file.
44466
44467 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44468             Bruno Haible  <bruno@clisp.org>
44469
44470         Fix test-file-has-acl on FreeBSD.
44471         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
44472         mask is implicitly added.
44473         * tests/test-file-has-acl.c: Include <signal.h>.
44474         (main): Terminate the test after 5 seconds.
44475         * modules/acl-tests (configure.ac): Check for alarm function.
44476
44477 2009-05-04  Bruno Haible  <bruno@clisp.org>
44478
44479         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
44480         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
44481         * modules/errno (configure.ac): Drop AC_REQUIRE.
44482         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
44483         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
44484
44485 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44486
44487         * modules/glob-tests: New module.
44488         * tests/test-glob.c: Add.
44489
44490 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44491
44492         * modules/fnmatch-tests: New module.
44493         * tests/test-fnmatch.c: Add.
44494
44495 2009-05-04  Eric Blake  <ebb9@byu.net>
44496
44497         maint: make the new no-submodule-changes rule VPATH-safe
44498         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
44499
44500 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44501             Bruno Haible  <bruno@clisp.org>
44502
44503         acl: Fix infinite loop on FreeBSD.
44504         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
44505         of return value from acl_get_entry.
44506         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
44507         Likewise.
44508
44509 2009-05-03  Bruno Haible  <bruno@clisp.org>
44510
44511         * lib/acl-internal.h (acl_entries): Clarify return value.
44512         * lib/acl_entries.c (acl_entries): Likewise.
44513
44514 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44515
44516         Bug fix in acl module.
44517         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
44518
44519 2009-05-03  Bruno Haible  <bruno@clisp.org>
44520
44521         Create gperf-generated file in the source dir, not in the build dir.
44522         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
44523         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
44524         * modules/unicase/locale-language (unicase/locale-languages.h):
44525         Likewise.
44526         * modules/unicase/special-casing (unicase/special-casing-table.h):
44527         Likewise.
44528         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
44529         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
44530         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
44531         Reported by Ralf Wildenhues.
44532
44533 2009-05-03  Bruno Haible  <bruno@clisp.org>
44534
44535         * modules/fnmatch (Description, configure.ac): Taken from
44536         fnmatch-posix.
44537         * modules/fnmatch-posix: Turn into a symbolic reference to the
44538         'fnmatch' module, and deprecate.
44539         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44540
44541 2009-05-03  Bruno Haible  <bruno@clisp.org>
44542
44543         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44544         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44545         Reported by Ralf Wildenhues.
44546
44547 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44548
44549         * m4/fnmatch.m4: Fix fnmatch re-define.
44550
44551 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44552
44553         priv-set: new module and tests; adapt write-any-file
44554         * lib/priv-set.c: New file.
44555         * lib/priv-set.h: New file.
44556         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44557         * lib/write-any-file.c: Simplify by using priv-set module.
44558         * m4/priv-set.m4: New file.
44559         * modules/priv-set: New file.
44560         * modules/unlinkdir: Add dependency on priv-set module.
44561         * modules/write-any-file: Likewise.
44562
44563         Tests for module 'priv-set'.
44564         * modules/priv-set-tests: New file.
44565         * tests/test-priv-set.c: New file.
44566
44567 2009-05-03  Jim Meyering  <meyering@redhat.com>
44568             Bruno Haible  <bruno@clisp.org>
44569
44570         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44571         use the converted UTF-8 variant of the name instead.
44572
44573 2009-05-03  Jim Meyering  <meyering@redhat.com>
44574
44575         tests: tighten some getdate tests
44576         * tests/test-getdate.c (main): Tighten tests: require equality,
44577         not just greater than.  Set TZ envvar to UTC0.
44578
44579 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44580
44581         getdate: correctly interpret "next monday" when run on a Monday
44582         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44583         that e.g., "next tues" (when run on a tuesday) results in a date
44584         that is one week in the future, and not today's date.
44585         I.e., add a week when the wday is the same as the current one.
44586         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44587         and earlier by Martin Bernreuther and Jan Minář.
44588         * tests/test-getdate.c (main): Check that "next DAY" is always in
44589         the future and that "last DAY" is always in the past.
44590
44591 2009-05-02  Jim Meyering  <meyering@redhat.com>
44592
44593         build: ensure that a release build fails when a submodule is unclean
44594         * top/maint.mk (no-submodule-changes): New rule.
44595         (alpha beta major): Depend on it.
44596
44597 2009-05-02  Bruno Haible  <bruno@clisp.org>
44598
44599         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44600         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44601         shell variable gl_fnmatch_required to detect which variant is
44602         requested.
44603         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44604         gl_FUNC_FNMATCH_POSIX.
44605         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44606         exclude fnmatch-posix.
44607
44608 2009-05-02  Bruno Haible  <bruno@clisp.org>
44609
44610         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44611         * modules/mbsrtowcs (License): Change to LGPLv2+.
44612         * modules/strnlen1 (License): Likewise.
44613         Reported by Simon Josefsson.
44614
44615 2009-05-02  Bruno Haible  <bruno@clisp.org>
44616
44617         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44618         "cross".
44619         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44620         gnulib-tool was called with option --source-base=lib.
44621
44622 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44623
44624         Use automake *-local hooks without commands, for extensibility.
44625         * modules/localcharset (Makefile.am): Rename install-exec-local
44626         rule to install-exec-localcharset, and make it a prerequisite of
44627         install-exec-local.  Likewise, rename the uninstall-local rule to
44628         uninstall-localcharset, and make it a prerequisite of the former.
44629
44630 2009-05-01  Bruno Haible  <bruno@clisp.org>
44631
44632         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44633         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44634         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44635         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44636         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44637         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44638         m4/locale-zh.m4, m4/codeset.m4.
44639
44640         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44641         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44642         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44643         m4/locale-zh.m4.
44644
44645         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44646         REPLACE_WCRTOMB if mbstate_t must be replaced.
44647         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44648         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44649
44650 2009-05-01  Bruno Haible  <bruno@clisp.org>
44651
44652         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44653         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44654         dngettext, dcngettext, textdomain, bindtextdomain,
44655         bind_textdomain_codeset): Undefine before redefining.
44656
44657 2009-04-30  Bruno Haible  <bruno@clisp.org>
44658
44659         Fix bug introduced on 2009-04-25.
44660         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44661         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44662         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44663         is defined.
44664         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44665         is defined.
44666         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44667         is defined.
44668         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44669
44670 2009-04-28  Bruno Haible  <bruno@clisp.org>
44671
44672         Comment tweaks.
44673         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44674         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44675         * lib/unicase.h (u*_casexfrm): Likewise.
44676         Reported by Paolo Bonzini.
44677
44678 2009-04-28  Bruno Haible  <bruno@clisp.org>
44679
44680         Fix a compilation error.
44681         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44682         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44683         Reported by Jim Meyering.
44684
44685 2009-04-27  Bruno Haible  <bruno@clisp.org>
44686
44687         New module 'libunistring'.
44688         * modules/libunistring: New file.
44689         * m4/libunistring.m4: New file.
44690         * MODULES.html.sh (Unicode string functions): Add it.
44691
44692 2009-04-27  Eric Blake  <ebb9@byu.net>
44693
44694         maint.mk: allow package-specific header to provide <config.h>
44695         * top/maint.mk (sc_require_config_h): New variable.
44696         (sc_require_config_h, sc_require_config_h_first): Use it.
44697
44698 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44699
44700         * top/maint.mk (sc_avoid_if_before_free): Except
44701         useless-if-before-free script.
44702
44703 2009-04-27  Eric Blake  <ebb9@byu.net>
44704
44705         maintainer-makefile: depend on all required helper scripts
44706         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44707         useless-if-before-free.
44708         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44709         version, rather than assuming gnulib checkout is available.
44710         Reported by Simen Josefsson.
44711
44712 2009-04-26  Bruno Haible  <bruno@clisp.org>
44713
44714         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44715         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44716         "../" or "..".
44717
44718 2009-04-26  Bruno Haible  <bruno@clisp.org>
44719
44720         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44721         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44722         AC_LIB_HAVE_LINKFLAGS.
44723
44724 2009-04-26  Bruno Haible  <bruno@clisp.org>
44725
44726         Simplify calling convention of u*_conv_from_encoding.
44727         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44728         u32_conv_from_encoding): Expect a resultbuf argument and return the
44729         result directly as a pointer.
44730         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44731         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44732         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44733         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44734         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44735         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44736         Update.
44737         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44738         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44739         * lib/vasnprintf.c (VASNPRINTF): Update.
44740         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44741         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44742         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44743         * NEWS: Mention the change.
44744
44745 2009-04-26  Bruno Haible  <bruno@clisp.org>
44746
44747         Simplify calling convention of u*_conv_to_encoding.
44748         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44749         u32_conv_to_encoding): Expect a resultbuf argument and return the
44750         result directly as a pointer.
44751         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44752         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44753         freeing scaled_offsets if mem_iconveha failed.
44754         * lib/unicase/u-casexfrm.h (FUNC): Update.
44755         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44756         * lib/vasnprintf.c (VASNPRINTF): Update.
44757         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44758         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44759         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44760         * NEWS: Mention the change.
44761
44762 2009-04-26  Bruno Haible  <bruno@clisp.org>
44763
44764         Avoid test failures on AIX and OSF/1.
44765         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44766         malloc(0).
44767         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44768         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44769         Likewise.
44770         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44771         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44772         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44773         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44774         * doc/posix-functions/malloc.texi: Document the portability problem
44775         related to malloc(0).
44776
44777 2009-04-26  Bruno Haible  <bruno@clisp.org>
44778
44779         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44780         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44781         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44782
44783 2009-04-25  Bruno Haible  <bruno@clisp.org>
44784
44785         Avoid link error when creating a namespace clean library.
44786         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44787         as macro with arguments if already defined as an alias.
44788         * lib/signbitf.c (gl_signbitf): Don't undefine.
44789         * lib/signbitd.c (gl_signbitd): Don't undefine.
44790         * lib/signbitl.c (gl_signbitl): Don't undefine.
44791
44792 2009-04-25  Jim Meyering  <meyering@redhat.com>
44793
44794         vc-list-files: fix another quoting bug
44795         * build-aux/vc-list-files: Avoid sed backslash expansion
44796         of pathological directory names.
44797
44798 2009-04-25  Eric Blake  <ebb9@byu.net>
44799
44800         vc-list-files: fix shell quoting error
44801         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44802         timestamp.
44803
44804 2009-04-25  Jim Meyering  <meyering@redhat.com>
44805
44806         vc-list-files: restore lost functionality with subdir argument
44807         * build-aux/vc-list-files: When given a non-"." sub-directory
44808         argument, substitute the $dir/ prefix back onto each resulting name.
44809         Otherwise, coreutils' root_tests check would fail.
44810
44811 2009-04-24  Eric Blake  <ebb9@byu.net>
44812
44813         vc-list-files: ignore git symlinks
44814         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44815         than ls-files, to ignore git symlinks.
44816
44817         maint.mk: import improvements from m4
44818         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44819         (move_if_change): Delete unused macro.
44820         (news-date-check, vc-diff-check): Support VPATH builds.
44821         (announcement): Likewise.  Split --bootstrap-tools list...
44822         (boostrap-tools): ...into separate list, which can be overridden
44823         in cfg.mk.
44824         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44825         requiring dependency on useless-if-before-free module.
44826         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44827         Support VPATH builds.
44828
44829 2009-04-24  Jim Meyering  <meyering@redhat.com>
44830
44831         maint.mk: remove coreutils-specific rules and variables
44832         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44833         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44834         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44835
44836         maint.mk: remove obsolete rule
44837         * top/maint.mk (rel-check): Remove rule.
44838         (WGET, WGETFLAGS): Remove now-unused variables.
44839
44840 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44841
44842         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44843         consistency.
44844
44845         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44846         '$(PATH_SEPARATOR)' instead of ':'.
44847
44848 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44849
44850         * lib/getopt1.c (main): Use 'const' for static array.
44851
44852 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44853
44854         * top/maint.mk: Sync with coreutils.
44855         * NEWS: Explain incompatibilities.
44856
44857 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44858             Bruno Haible  <bruno@clisp.org>
44859
44860         Fix cross-compilation results.
44861         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44862         statement, as third argument of AC_TRY_RUN.
44863         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44864         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44865         Likewise.
44866         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44867         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44868         Likewise.
44869         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44870         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44871         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44872
44873 2009-04-20  Bruno Haible  <bruno@clisp.org>
44874
44875         Avoid test failure on mingw.
44876         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44877
44878 2009-04-20  Bruno Haible  <bruno@clisp.org>
44879
44880         Avoid compilation error on mingw.
44881         * modules/localename-tests (Depends-on): Add locale.
44882
44883 2009-04-19  Bruno Haible  <bruno@clisp.org>
44884
44885         Support for building a shared library on Windows platforms.
44886         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44887         (main): Test the presence of UNINORM_NFC here.
44888         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44889         (main): Test the presence of UNINORM_NFD here.
44890         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44891         (main): Test the presence of UNINORM_NFKC here.
44892         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44893         (main): Test the presence of UNINORM_NFKD here.
44894
44895 2009-04-19  Bruno Haible  <bruno@clisp.org>
44896
44897         Avoid a compiler warning.
44898         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44899         Change type of variable 'sequence'.
44900
44901 2009-04-19  Bruno Haible  <bruno@clisp.org>
44902
44903         * modules/configmake (Makefile.am): When the contents of configmake.h
44904         does not change, arrange to preserve its modification time.
44905
44906 2009-04-17  Simon Josefsson  <simon@josefsson.org>
44907
44908         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
44909         gettext domain.
44910
44911 2009-04-16  Jim Meyering  <meyering@redhat.com>
44912
44913         useless-if-before-free: improve conversion code
44914         * build-aux/useless-if-before-free: Adjust code-in-comment to match
44915         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
44916
44917 2009-04-14  Bruno Haible  <bruno@clisp.org>
44918
44919         * modules/fcntl (Depends-on): Add extensions.
44920         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
44921
44922 2009-04-12  Ben Pfaff  <blp@gnu.org>
44923
44924         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
44925         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
44926
44927 2009-03-20  Ben Pfaff  <blp@gnu.org>
44928
44929         Make rename replace existing destinations on Windows.
44930         * m4/rename.m4: Add test for Mingw.
44931         * lib/rename.c: Add rename replacement that uses MoveFileEx with
44932         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
44933         * doc/posix-functions/rename.texi: Document.
44934
44935 2009-04-10  Bruno Haible  <bruno@clisp.org>
44936
44937         New include file "iconveh.h".
44938         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
44939         * lib/striconveh.h: Include it.
44940         (enum iconv_ilseq_handler): Remove definition.
44941         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
44942         striconveh.h.
44943         * lib/striconveha.c: Include striconveh.h.
44944         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
44945         * modules/striconveh (Files): Add lib/iconveh.h.
44946         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
44947         lib/striconveh.h.
44948
44949 2009-04-10  Bruno Haible  <bruno@clisp.org>
44950
44951         * lib/uniconv.h: Update comment.
44952
44953 2009-04-10  Bruno Haible  <bruno@clisp.org>
44954
44955         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
44956         always.
44957         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44958         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44959         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44960         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
44961         "unistring-notinline.h", so that the function gets defined always.
44962         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44963         * lib/unistr/u8-uctomb.c: Likewise.
44964         * lib/unistr/u16-mbtouc.c: Likewise.
44965         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44966         * lib/unistr/u16-uctomb.c: Likewise.
44967         * lib/unistr/u32-mbtouc.c: Likewise.
44968         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44969         * lib/unistr/u32-uctomb.c: Likewise.
44970
44971 2009-04-10  Bruno Haible  <bruno@clisp.org>
44972
44973         Mark 'utime' obsolete.
44974         * modules/utime (Status, Notice): New sections.
44975         Suggested by Jim Meyering.
44976
44977         Fix cross-compile guess for utime test.
44978         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
44979         autoconf.
44980         * doc/posix-functions/utime.texi: Give more precisions.
44981         Reported by Jan <ipif@ymail.com>.
44982
44983 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
44984
44985         filevercmp: correct today's change
44986         * lib/filevercmp.c: Also handle coreutils' test inputs.
44987         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
44988
44989         Fix regression in 'filevercmp' module. Thanks Sven Joachim
44990         for reporting it.
44991         * lib/filevercmp.c: Special handle for "", "." and "..".
44992         * tests/test-filevercmp.c: Enlarge the set suite.
44993
44994 2009-04-07  Jim Meyering  <meyering@redhat.com>
44995
44996         useless-if-before-free: show how to remove braced useless free, too
44997         * build-aux/useless-if-before-free: still only in a comment, though.
44998
44999 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45000
45001         maint.mk: import changes to syntax-check macros from coreutils
45002         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45003         Use them in the relevant macros.
45004
45005 2009-04-06  Bruno Haible  <bruno@clisp.org>
45006
45007         Fix unportable use of bit-fields.
45008         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45009         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45010         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45011
45012 2009-04-06  Bruno Haible  <bruno@clisp.org>
45013
45014         Avoid test failures on AIX and OSF/1.
45015         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45016         that malloc(0) = NULL.
45017         * tests/unicase/test-u8-tolower.c (check): Likewise.
45018         * tests/unicase/test-u8-totitle.c (check): Likewise.
45019         * tests/unicase/test-u8-toupper.c (check): Likewise.
45020         * tests/unicase/test-u16-casefold.c (check): Likewise.
45021         * tests/unicase/test-u16-tolower.c (check): Likewise.
45022         * tests/unicase/test-u16-totitle.c (check): Likewise.
45023         * tests/unicase/test-u16-toupper.c (check): Likewise.
45024         * tests/unicase/test-u32-casefold.c (check): Likewise.
45025         * tests/unicase/test-u32-tolower.c (check): Likewise.
45026         * tests/unicase/test-u32-totitle.c (check): Likewise.
45027         * tests/unicase/test-u32-toupper.c (check): Likewise.
45028         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45029         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45030         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45031         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45032         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45033         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45034         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45035         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45036         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45037         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45038         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45039         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45040
45041 2009-04-05  Bruno Haible  <bruno@clisp.org>
45042
45043         Work around an autoconf limitation.
45044         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45045         comment line if it would be longer than 3 KB.
45046
45047 2009-04-05  Bruno Haible  <bruno@clisp.org>
45048
45049         Avoid test failure with libiconv-1.13.
45050         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45051         of the expected test results.
45052
45053 2009-04-05  Bruno Haible  <bruno@clisp.org>
45054
45055         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45056         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45057         that it should be installed.
45058
45059 2009-04-05  Bruno Haible  <bruno@clisp.org>
45060
45061         * gnulib-tool: New option --copy-file.
45062         (func_usage): Document it.
45063         (func_dest_tmpfilename): Moved out of func_import.
45064         (func_add_file, func_update_file): New functions, extracted from
45065         func_import.
45066         (func_import): Update.
45067
45068 2009-04-05  Karl Berry  <karl@gnu.org>
45069
45070         * README: prominently mention gnulib-tool.
45071         Rearrange sections so getting the code is near the top.
45072
45073 2009-04-05  Bruno Haible  <bruno@clisp.org>
45074
45075         * lib/unicase.h: Mention u*_cmp2.
45076         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45077         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45078         * lib/unicase/ulc-casecmp.c: Likewise.
45079         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45080         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45081         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45082         unistr/u8-cmp.
45083         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45084         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45085         unistr/u16-cmp.
45086         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45087         unistr/u32-cmp.
45088
45089         * lib/uninorm.h: Mention u*_cmp2.
45090         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45091         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45092         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45093         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45094         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45095         unistr/u8-cmp.
45096         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45097         unistr/u16-cmp.
45098         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45099         unistr/u32-cmp.
45100
45101         New module 'unistr/u32-cmp2'.
45102         * lib/unistr/u32-cmp2.c: New file.
45103         * modules/unistr/u32-cmp2: New file.
45104
45105         New module 'unistr/u16-cmp2'.
45106         * lib/unistr/u16-cmp2.c: New file.
45107         * modules/unistr/u16-cmp2: New file.
45108
45109         New module 'unistr/u8-cmp2'.
45110         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45111         * lib/unistr/u8-cmp2.c: New file.
45112         * lib/unistr/u-cmp2.h: New file.
45113         * modules/unistr/u8-cmp2: New file.
45114
45115 2009-04-05  Bruno Haible  <bruno@clisp.org>
45116
45117         * lib/unictype.h (uc_property_is_valid): New macro.
45118         * tests/unictype/test-pr_byname.c (main): Use it.
45119
45120         * lib/unistr.h: Doc fixes.
45121         * lib/uniconv.h: Doc fixes.
45122         * lib/unictype.h: Doc fixes.
45123
45124 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45125
45126         Port coreutils 7.2 to Solaris 8.
45127
45128         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45129         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45130         for Solaris 8.  This is a bit of a hack, as it means it's the
45131         caller's responsibility to add -lnsl if needed, but most likely it
45132         won't be needed since only getaddrinfo uses this and getaddrinfo
45133         isn't needed on Solaris 8.
45134
45135         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45136         problem to Solaris 8 encountered with coreutils 7.2, which
45137         resulted in a message "fnmatch.c:292: warning: passing argument 4
45138         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45139         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45140
45141 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45142
45143         * m4/ld-version-script.m4: Add FIXME comment.
45144
45145 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45146
45147         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45148         SOVERSION variable.
45149
45150 2009-04-02  Bruno Haible  <bruno@clisp.org>
45151
45152         * Makefile (info, html, dvi, pdf): Combine the rules.
45153         Suggested by Jim Meyering.
45154
45155 2009-04-01  Bruno Haible  <bruno@clisp.org>
45156
45157         * Makefile (info, html, dvi, pdf): New targets.
45158         Reported by Reuben Thomas <rrt@sc3d.org>.
45159
45160 2009-04-01  Bruno Haible  <bruno@clisp.org>
45161
45162         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45163         can be put into PATH.
45164         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45165
45166 2009-04-01  Bruno Haible  <bruno@clisp.org>
45167
45168         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45169
45170 2009-04-01  Bruno Haible  <bruno@clisp.org>
45171
45172         Rename module 'visibility'.
45173         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45174         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45175         * doc/gnulib.texi: Update.
45176         * MODULES.html.sh (Misc): Update.
45177         * NEWS: Mention the change.
45178
45179 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45180
45181         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45182         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45183         Eric Blake <ebb9@byu.net> for review.
45184         * MODULES.html.sh: Add lib-msvc-compat.
45185         * doc/gnulib.texi: Link to new section.
45186         * m4/ld-output-def.m4: New file.
45187         * doc/ld-output-def.texi: New file.
45188
45189 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45190
45191         Rename ld-version-script to lib-symbol-versions.  Suggested by
45192         Bruno Haible <bruno@clisp.org>.
45193         * modules/ld-version-script: Renamed to lib-symbol-versions.
45194         * doc/ld-version-script.texi: Fix module name.
45195         * MODULES.html.sh: Add lib-symbol-versions.
45196
45197 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45198
45199         * modules/u64-tests: New file.
45200         * tests/test-u64.c: New file.
45201
45202 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45203
45204         * MODULES.html.sh: Mention u64.
45205         * modules/u64: New module.
45206         * modules/crypto/sha512: Depend on u64 module instead of providing
45207         u64.h.
45208
45209 2009-03-27  Eric Blake  <ebb9@byu.net>
45210
45211         test-strerror: make debugging EAI_SYSTEM easier
45212         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45213         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45214         failure was EAI_SYSTEM.
45215
45216 2009-03-25  Bruno Haible  <bruno@clisp.org>
45217
45218         Fix a problem with --enable-relocatable on Solaris 7.
45219         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45220         since 2008-02-24.
45221
45222 2009-03-25  Eric Blake  <ebb9@byu.net>
45223
45224         test-sockets: avoid gcc warning
45225         * tests/test-sockets.c (main): Silence compiler warning.
45226
45227 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45228
45229         New modules nproc, pthread, contributed by Glen Lenker.
45230
45231         * MODULES.html.sh: Add pthread, nproc.
45232         * lib/nproc.c: New file.
45233         * lib/nproc.h: New file.
45234         * lib/pthread.in.h: New file.
45235         * m4/pthread.m4: New file.
45236         * modules/nproc: New file.
45237         * modules/pthread: New file.
45238
45239 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45240
45241         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45242         New variable.
45243
45244 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45245
45246         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45247         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45248         * tests/test-filevercmp.c: Add tests for backup suffixes.
45249
45250 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45251
45252         * modules/stdlib (Depends-on): Add stdint, needed when defining
45253         struct random_data on, for example, HP-UX 10.20.  Reported by
45254         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45255
45256 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45257
45258         * lib/readline.c (readline): Call fflush on stdout after printing
45259         prompt.
45260
45261 2009-03-20  Bruno Haible  <bruno@clisp.org>
45262
45263         Remove dependency from 'close' module to -lws2_32 on native Windows.
45264         * lib/close-hook.h: New file.
45265         * lib/close-hook.c: New file.
45266         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45267         w32sock.h.
45268         (_gl_close_fd_maybe_socket): Remove function.
45269         (rpl_close): Invoke execute_all_close_hooks instead of
45270         _gl_close_fd_maybe_socket.
45271         * lib/sockets.c: Include close-hook.h, w32sock.h.
45272         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45273         (close_sockets_hook): New variable.
45274         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45275         (gl_sockets_cleanup): Unregister it.
45276         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45277         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45278         * modules/close-hook: New file.
45279         * modules/close (Files): Remove lib/w32sock.h.
45280         (Depends-on): Add close-hook.
45281         (Link): Remove section.
45282         * modules/sockets (Files): Add lib/w32sock.h.
45283         (Depends-on): Add close-hook.
45284         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45285         invocation.
45286         * NEWS: Mention that LIB_CLOSE is gone.
45287
45288 2009-03-23  Eric Blake  <ebb9@byu.net>
45289
45290         signal-tests: test previous patch
45291         * tests/test-signal.c: New file.
45292         * modules/signal-tests: Likewise.
45293
45294         signal.h: always support 'volatile sig_atomic_t'
45295         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45296         (gl_SIGNAL_H_DEFAULTS): Add a default.
45297         * modules/signal (Makefile.am): Substitute if needed.
45298         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45299         users can blindly add volatile.
45300         * doc/posix-headers/signal.texi (signal.h): Document it.
45301         Reported by Matthew Woehlke.
45302
45303 2009-03-23  Jim Meyering  <meyering@redhat.com>
45304
45305         pathmax: PATH_MAX: use pathconf only when available
45306         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45307         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45308         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45309         This avoids a link failure in a PSP cross-compilation environment
45310         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45311
45312         * lib/vasnprintf.c (divide): Fix typo in comment.
45313
45314 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45315
45316         * gnulib-tool (func_filter_filelist): Fix comment.
45317
45318 2009-03-20  Bruno Haible  <bruno@clisp.org>
45319
45320         Make sockets.h self-contained.
45321         * lib/sockets.c: Include sockets.h first.
45322         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45323
45324 2009-03-19  Eric Blake  <ebb9@byu.net>
45325
45326         doc: mention more functions added in cygwin 1.7.0
45327         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45328         addition.
45329         * doc/posix-functions/log2f.texi: Likewise.
45330
45331 2009-03-19  Jim Meyering  <meyering@redhat.com>
45332
45333         fsusage: avoid syntax error due to statement-before-declaration
45334         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45335         after all declarations.  Reported by Matthew Woehlke in
45336         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45337
45338 2009-03-18  Eric Blake  <ebb9@byu.net>
45339
45340         build-aux/compile: sync from automake
45341         * build-aux/compile: New file, from automake.
45342         * config/srclist.txt: Mention build-aux/compile.
45343
45344 2009-03-17  Bruno Haible  <bruno@clisp.org>
45345
45346         * lib/git-merge-changelog.c: Fix typo in comment.
45347         Reported by Reuben Thomas <rrt@sc3d.org>.
45348
45349 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45350
45351         * m4/regex.m4: update and improve help for
45352         --without-included-regex.
45353
45354 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45355
45356         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45357         failure on missing include files.
45358
45359 2009-03-17  Eric Blake  <ebb9@byu.net>
45360
45361         doc: mention more functions added in cygwin 1.7.0
45362         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45363         addition.
45364         * doc/posix-functions/fwscanf.texi: Likewise.
45365         * doc/posix-functions/swprintf.texi: Likewise.
45366         * doc/posix-functions/swscanf.texi: Likewise.
45367         * doc/posix-functions/vfwprintf.texi: Likewise.
45368         * doc/posix-functions/vfwscanf.texi: Likewise.
45369         * doc/posix-functions/vswprintf.texi: Likewise.
45370         * doc/posix-functions/vswscanf.texi: Likewise.
45371         * doc/posix-functions/vwprintf.texi: Likewise.
45372         * doc/posix-functions/vwscanf.texi: Likewise.
45373         * doc/posix-functions/wcscasecmp.texi: Likewise.
45374         * doc/posix-functions/wcsdup.texi: Likewise.
45375         * doc/posix-functions/wcsftime.texi: Likewise.
45376         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45377         * doc/posix-functions/wprintf.texi: Likewise.
45378         * doc/posix-functions/wscanf.texi: Likewise.
45379         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45380
45381 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45382
45383         maint.mk: really add $(AM_MAKEFLAGS)
45384         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45385         was inadvertently omitted in the last commit.
45386         Spotted by Bruno Haible.
45387
45388         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45389         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45390         $(AM_MAKEFLAGS)' rather than plain `make'.
45391
45392         gnulib-tool: execute $MAKE not make
45393         * gnulib-tool: Default $MAKE to 'make'.
45394         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
45395         than make.  Initialize $MAKE in the do-autobuild script.
45396
45397         gnulib-tool: use $MAKE not make in generated files
45398         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
45399         make, in generated files.  Initialize $MAKE in the do-autobuild
45400         script.
45401
45402         * top/GNUmakefile (_have-git-version-gen): Fix typo.
45403
45404         GNUmakefile: disable parallelism only for multiple, recursive targets
45405         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
45406         additions in the Makefile.
45407         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
45408         by Automake.
45409         (.NOTPARALLEL): Only disable parallel builds if multiple targets
45410         are listed on the command line and at least one of them is
45411         listed in $(ALL_RECURSIVE_TARGETS).
45412
45413 2009-03-14  Bruno Haible  <bruno@clisp.org>
45414
45415         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
45416         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
45417         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
45418         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
45419         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
45420         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
45421         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
45422         unistr/u8-uctomb.
45423         * modules/unistr/u8-strchr (Depends-on): Likewise.
45424         * modules/unistr/u8-strrchr (Depends-on): Likewise.
45425         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
45426         unistr/u16-uctomb.
45427         * modules/unistr/u16-strchr (Depends-on): Likewise.
45428         * modules/unistr/u16-strrchr (Depends-on): Likewise.
45429
45430 2009-03-12  Bruno Haible  <bruno@clisp.org>
45431
45432         Work around select() bug on Interix 3.5.
45433         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
45434         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
45435         * m4/select.m4: New file.
45436         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
45437         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
45438         * modules/select (Files): Add m4/select.m4.
45439         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
45440         * modules/nanosleep (Depends-on): Add select.
45441         * modules/poll (Depends-on): Likewise.
45442         * doc/posix-functions/select.texi: Mention the Interix bug.
45443         Reported by Markus Duft <mduft@gentoo.org>.
45444
45445         * lib/select.c: Renamed from lib/winsock-select.c.
45446         * modules/select (Files): Add lib/select.c, remove
45447         lib/winsock-select.c.
45448         (configure.ac): Update.
45449
45450 2009-03-12  Jim Meyering  <meyering@redhat.com>
45451
45452         avoid gcc warnings about unused macro definitions
45453         * lib/readtokens.c (STREQ): Remove unused definition.
45454         * lib/xmalloc.c (SIZE_MAX): Likewise.
45455         * lib/openat-die.c (N_): Likewise.
45456         * lib/mountlist.c (SIZE_MAX): Remove definition.
45457         Instead, include <stdint.h>.
45458         * lib/readutmp.c: Likewise.
45459         * modules/readutmp (Depends-on): Add stdint.
45460         * modules/mountlist (Depends-on): Add stdint.
45461         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
45462
45463 2009-03-10  Bruno Haible  <bruno@clisp.org>
45464
45465         Tests for module 'mbmemcasecoll'.
45466         * modules/mbmemcasecoll-tests: New file.
45467         * tests/test-mbmemcasecoll1.sh: New file.
45468         * tests/test-mbmemcasecoll2.sh: New file.
45469         * tests/test-mbmemcasecoll3.sh: New file.
45470         * tests/test-mbmemcasecoll.c: New file.
45471
45472         New module 'mbmemcasecoll'.
45473         * lib/mbmemcasecoll.h: New file.
45474         * lib/mbmemcasecoll.c: New file.
45475         * modules/mbmemcasecoll: New file.
45476
45477         * tests/test-mbmemcasecmp.h: New file, extracted from
45478         tests/test-mbmemcasecmp.c.
45479         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
45480         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
45481         (main): Update.
45482         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
45483
45484 2009-03-09  Bruno Haible  <bruno@clisp.org>
45485
45486         Tests for module 'mbmemcasecmp'.
45487         * modules/mbmemcasecmp-tests: New file.
45488         * tests/test-mbmemcasecmp1.sh: New file.
45489         * tests/test-mbmemcasecmp2.sh: New file.
45490         * tests/test-mbmemcasecmp3.sh: New file.
45491         * tests/test-mbmemcasecmp.c: New file.
45492
45493         New module 'mbmemcasecmp'.
45494         * lib/mbmemcasecmp.h: New file.
45495         * lib/mbmemcasecmp.c: New file.
45496         * modules/mbmemcasecmp: New file.
45497
45498 2009-03-09  Bruno Haible  <bruno@clisp.org>
45499
45500         Tests for module 'unicase/ulc-casecoll'.
45501         * modules/unicase/ulc-casecoll-tests: New file.
45502         * tests/unicase/test-ulc-casecoll1.sh: New file.
45503         * tests/unicase/test-ulc-casecoll2.sh: New file.
45504         * tests/unicase/test-ulc-casecoll.c: New file.
45505
45506         New module 'unicase/ulc-casecoll'.
45507         * lib/unicase.h (ulc_casecoll): New declaration.
45508         * lib/unicase/ulc-casecoll.c: New file.
45509         * modules/unicase/ulc-casecoll: New file.
45510
45511         New module 'unicase/ulc-casexfrm'.
45512         * lib/unicase.h (ulc_casexfrm): New declaration.
45513         * lib/unicase/ulc-casexfrm.c: New file.
45514         * modules/unicase/ulc-casexfrm: New file.
45515
45516 2009-03-09  Bruno Haible  <bruno@clisp.org>
45517
45518         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
45519         invocations.
45520
45521         * m4/mbscasecmp.m4: Remove file.
45522         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
45523         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
45524
45525         * m4/mbscasestr.m4: Remove file.
45526         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
45527         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
45528
45529         * m4/mbschr.m4: Remove file.
45530         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
45531         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
45532
45533         * m4/mbscspn.m4: Remove file.
45534         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45535         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45536
45537         * m4/mbslen.m4: Remove file.
45538         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45539         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45540
45541         * m4/mbsncasecmp.m4: Remove file.
45542         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45543         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45544
45545         * m4/mbsnlen.m4: Remove file.
45546         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45547         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45548
45549         * m4/mbspbrk.m4: Remove file.
45550         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45551         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45552
45553         * m4/mbspcasecmp.m4: Remove file.
45554         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45555         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45556
45557         * m4/mbsrchr.m4: Remove file.
45558         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45559         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45560
45561         * m4/mbssep.m4: Remove file.
45562         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45563         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45564
45565         * m4/mbsspn.m4: Remove file.
45566         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45567         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45568
45569         * m4/mbsstr.m4: Remove file.
45570         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45571         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45572
45573         * m4/mbstok_r.m4: Remove file.
45574         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45575         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45576
45577         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45578
45579         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45580         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45581
45582         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45583
45584 2009-03-08  Bruno Haible  <bruno@clisp.org>
45585
45586         Tests for module 'unicase/ulc-casecmp'.
45587         * modules/unicase/ulc-casecmp-tests: New file.
45588         * tests/unicase/test-ulc-casecmp1.sh: New file.
45589         * tests/unicase/test-ulc-casecmp2.sh: New file.
45590         * tests/unicase/test-ulc-casecmp.c: New file.
45591
45592         New module 'unicase/ulc-casecmp'.
45593         * lib/unicase.h (ulc_casecmp): New declaration.
45594         * lib/unicase/ulc-casecmp.c: New file.
45595         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45596         'const SRC_UNIT *'.
45597         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45598         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45599         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45600         * modules/unicase/ulc-casecmp: New file.
45601
45602         Tests for module 'unicase/u32-is-cased'.
45603         * modules/unicase/u32-is-cased-tests: New file.
45604         * tests/unicase/test-u32-is-cased.c: New file.
45605
45606         Tests for module 'unicase/u16-is-cased'.
45607         * modules/unicase/u16-is-cased-tests: New file.
45608         * tests/unicase/test-u16-is-cased.c: New file.
45609
45610         Tests for module 'unicase/u8-is-cased'.
45611         * modules/unicase/u8-is-cased-tests: New file.
45612         * tests/unicase/test-u8-is-cased.c: New file.
45613         * tests/unicase/test-is-cased.h: New file.
45614
45615         New module 'unicase/u32-is-cased'.
45616         * lib/unicase/u32-is-cased.c: New file.
45617         * modules/unicase/u32-is-cased: New file.
45618
45619         New module 'unicase/u16-is-cased'.
45620         * lib/unicase/u16-is-cased.c: New file.
45621         * modules/unicase/u16-is-cased: New file.
45622
45623         New module 'unicase/u8-is-cased'.
45624         * lib/unicase/u8-is-cased.c: New file.
45625         * lib/unicase/u-is-cased.h: New file.
45626         * modules/unicase/u8-is-cased: New file.
45627
45628         Tests for module 'unicase/u32-is-casefolded'.
45629         * modules/unicase/u32-is-casefolded-tests: New file.
45630         * tests/unicase/test-u32-is-casefolded.c: New file.
45631
45632         Tests for module 'unicase/u16-is-casefolded'.
45633         * modules/unicase/u16-is-casefolded-tests: New file.
45634         * tests/unicase/test-u16-is-casefolded.c: New file.
45635
45636         Tests for module 'unicase/u8-is-casefolded'.
45637         * modules/unicase/u8-is-casefolded-tests: New file.
45638         * tests/unicase/test-u8-is-casefolded.c: New file.
45639         * tests/unicase/test-is-casefolded.h: New file.
45640
45641         New module 'unicase/u32-is-casefolded'.
45642         * lib/unicase/u32-is-casefolded.c: New file.
45643         * modules/unicase/u32-is-casefolded: New file.
45644
45645         New module 'unicase/u16-is-casefolded'.
45646         * lib/unicase/u16-is-casefolded.c: New file.
45647         * modules/unicase/u16-is-casefolded: New file.
45648
45649         New module 'unicase/u8-is-casefolded'.
45650         * lib/unicase/u8-is-casefolded.c: New file.
45651         * modules/unicase/u8-is-casefolded: New file.
45652
45653         Tests for module 'unicase/u32-is-titlecase'.
45654         * modules/unicase/u32-is-titlecase-tests: New file.
45655         * tests/unicase/test-u32-is-titlecase.c: New file.
45656
45657         Tests for module 'unicase/u16-is-titlecase'.
45658         * modules/unicase/u16-is-titlecase-tests: New file.
45659         * tests/unicase/test-u16-is-titlecase.c: New file.
45660
45661         Tests for module 'unicase/u8-is-titlecase'.
45662         * modules/unicase/u8-is-titlecase-tests: New file.
45663         * tests/unicase/test-u8-is-titlecase.c: New file.
45664         * tests/unicase/test-is-titlecase.h: New file.
45665
45666         New module 'unicase/u32-is-titlecase'.
45667         * lib/unicase/u32-is-titlecase.c: New file.
45668         * modules/unicase/u32-is-titlecase: New file.
45669
45670         New module 'unicase/u16-is-titlecase'.
45671         * lib/unicase/u16-is-titlecase.c: New file.
45672         * modules/unicase/u16-is-titlecase: New file.
45673
45674         New module 'unicase/u8-is-titlecase'.
45675         * lib/unicase/u8-is-titlecase.c: New file.
45676         * modules/unicase/u8-is-titlecase: New file.
45677
45678         Tests for module 'unicase/u32-is-lowercase'.
45679         * modules/unicase/u32-is-lowercase-tests: New file.
45680         * tests/unicase/test-u32-is-lowercase.c: New file.
45681
45682         Tests for module 'unicase/u16-is-lowercase'.
45683         * modules/unicase/u16-is-lowercase-tests: New file.
45684         * tests/unicase/test-u16-is-lowercase.c: New file.
45685
45686         Tests for module 'unicase/u8-is-lowercase'.
45687         * modules/unicase/u8-is-lowercase-tests: New file.
45688         * tests/unicase/test-u8-is-lowercase.c: New file.
45689         * tests/unicase/test-is-lowercase.h: New file.
45690
45691         New module 'unicase/u32-is-lowercase'.
45692         * lib/unicase/u32-is-lowercase.c: New file.
45693         * modules/unicase/u32-is-lowercase: New file.
45694
45695         New module 'unicase/u16-is-lowercase'.
45696         * lib/unicase/u16-is-lowercase.c: New file.
45697         * modules/unicase/u16-is-lowercase: New file.
45698
45699         New module 'unicase/u8-is-lowercase'.
45700         * lib/unicase/u8-is-lowercase.c: New file.
45701         * modules/unicase/u8-is-lowercase: New file.
45702
45703         Tests for module 'unicase/u32-is-uppercase'.
45704         * modules/unicase/u32-is-uppercase-tests: New file.
45705         * tests/unicase/test-u32-is-uppercase.c: New file.
45706
45707         Tests for module 'unicase/u16-is-uppercase'.
45708         * modules/unicase/u16-is-uppercase-tests: New file.
45709         * tests/unicase/test-u16-is-uppercase.c: New file.
45710
45711         Tests for module 'unicase/u8-is-uppercase'.
45712         * modules/unicase/u8-is-uppercase-tests: New file.
45713         * tests/unicase/test-u8-is-uppercase.c: New file.
45714         * tests/unicase/test-is-uppercase.h: New file.
45715
45716         New module 'unicase/u32-is-uppercase'.
45717         * lib/unicase/u32-is-uppercase.c: New file.
45718         * modules/unicase/u32-is-uppercase: New file.
45719
45720         New module 'unicase/u16-is-uppercase'.
45721         * lib/unicase/u16-is-uppercase.c: New file.
45722         * modules/unicase/u16-is-uppercase: New file.
45723
45724         New module 'unicase/u8-is-uppercase'.
45725         * lib/unicase/u8-is-uppercase.c: New file.
45726         * modules/unicase/u8-is-uppercase: New file.
45727
45728         New module 'unicase/u32-is-invariant'.
45729         * lib/unicase/u32-is-invariant.c: New file.
45730         * modules/unicase/u32-is-invariant: New file.
45731
45732         New module 'unicase/u16-is-invariant'.
45733         * lib/unicase/u16-is-invariant.c: New file.
45734         * modules/unicase/u16-is-invariant: New file.
45735
45736         New module 'unicase/u8-is-invariant'.
45737         * lib/unicase/u8-is-invariant.c: New file.
45738         * lib/unicase/invariant.h: New file.
45739         * lib/unicase/u-is-invariant.h: New file.
45740         * modules/unicase/u8-is-invariant: New file.
45741
45742         Tests for module 'unicase/u32-casecoll'.
45743         * modules/unicase/u32-casecoll-tests: New file.
45744         * tests/unicase/test-u32-casecoll.c: New file.
45745
45746         Tests for module 'unicase/u16-casecoll'.
45747         * modules/unicase/u16-casecoll-tests: New file.
45748         * tests/unicase/test-u16-casecoll.c: New file.
45749
45750         Tests for module 'unicase/u8-casecoll'.
45751         * modules/unicase/u8-casecoll-tests: New file.
45752         * tests/unicase/test-u8-casecoll.c: New file.
45753
45754         New module 'unicase/u32-casecoll'.
45755         * lib/unicase/u32-casecoll.c: New file.
45756         * modules/unicase/u32-casecoll: New file.
45757
45758         New module 'unicase/u16-casecoll'.
45759         * lib/unicase/u16-casecoll.c: New file.
45760         * modules/unicase/u16-casecoll: New file.
45761
45762         New module 'unicase/u8-casecoll'.
45763         * lib/unicase/u8-casecoll.c: New file.
45764         * lib/unicase/u-casecoll.h: New file.
45765         * modules/unicase/u8-casecoll: New file.
45766
45767         New module 'unicase/u32-casexfrm'.
45768         * lib/unicase/u32-casexfrm.c: New file.
45769         * modules/unicase/u32-casexfrm: New file.
45770
45771         New module 'unicase/u16-casexfrm'.
45772         * lib/unicase/u16-casexfrm.c: New file.
45773         * modules/unicase/u16-casexfrm: New file.
45774
45775         New module 'unicase/u8-casexfrm'.
45776         * lib/unicase/u8-casexfrm.c: New file.
45777         * lib/unicase/u-casexfrm.h: New file.
45778         * modules/unicase/u8-casexfrm: New file.
45779
45780         Tests for module 'unicase/u32-casecmp'.
45781         * modules/unicase/u32-casecmp-tests: New file.
45782         * tests/unicase/test-u32-casecmp.c: New file.
45783
45784         Tests for module 'unicase/u16-casecmp'.
45785         * modules/unicase/u16-casecmp-tests: New file.
45786         * tests/unicase/test-u16-casecmp.c: New file.
45787
45788         Tests for module 'unicase/u8-casecmp'.
45789         * modules/unicase/u8-casecmp-tests: New file.
45790         * tests/unicase/test-u8-casecmp.c: New file.
45791         * tests/unicase/test-casecmp.h: New file.
45792
45793         New module 'unicase/u32-casecmp'.
45794         * lib/unicase/u32-casecmp.c: New file.
45795         * modules/unicase/u32-casecmp: New file.
45796
45797         New module 'unicase/u16-casecmp'.
45798         * lib/unicase/u16-casecmp.c: New file.
45799         * modules/unicase/u16-casecmp: New file.
45800
45801         New module 'unicase/u8-casecmp'.
45802         * lib/unicase/u8-casecmp.c: New file.
45803         * lib/unicase/u-casecmp.h: New file.
45804         * modules/unicase/u8-casecmp: New file.
45805
45806         Tests for module 'unicase/u32-casefold'.
45807         * modules/unicase/u32-casefold-tests: New file.
45808         * tests/unicase/test-u32-casefold.c: New file.
45809
45810         Tests for module 'unicase/u16-casefold'.
45811         * modules/unicase/u16-casefold-tests: New file.
45812         * tests/unicase/test-u16-casefold.c: New file.
45813
45814         Tests for module 'unicase/u8-casefold'.
45815         * modules/unicase/u8-casefold-tests: New file.
45816         * tests/unicase/test-u8-casefold.c: New file.
45817
45818         New module 'unicase/u32-casefold'.
45819         * lib/unicase/u32-casefold.c: New file.
45820         * modules/unicase/u32-casefold: New file.
45821
45822         New module 'unicase/u16-casefold'.
45823         * lib/unicase/u16-casefold.c: New file.
45824         * modules/unicase/u16-casefold: New file.
45825
45826         New module 'unicase/u8-casefold'.
45827         * lib/unicase/u8-casefold.c: New file.
45828         * lib/unicase/u-casefold.h: New file.
45829         * modules/unicase/u8-casefold: New file.
45830
45831         New module 'unicase/tocasefold'.
45832         * lib/unicase/casefold.h: New file.
45833         * lib/unicase/tocasefold.c: New file.
45834         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45835         * modules/unicase/tocasefold: New file.
45836
45837         Tests for module 'unicase/u32-totitle'.
45838         * modules/unicase/u32-totitle-tests: New file.
45839         * tests/unicase/test-u32-totitle.c: New file.
45840
45841         Tests for module 'unicase/u16-totitle'.
45842         * modules/unicase/u16-totitle-tests: New file.
45843         * tests/unicase/test-u16-totitle.c: New file.
45844
45845         Tests for module 'unicase/u8-totitle'.
45846         * modules/unicase/u8-totitle-tests: New file.
45847         * tests/unicase/test-u8-totitle.c: New file.
45848
45849         New module 'unicase/u32-totitle'.
45850         * lib/unicase/u32-totitle.c: New file.
45851         * modules/unicase/u32-totitle: New file.
45852
45853         New module 'unicase/u16-totitle'.
45854         * lib/unicase/u16-totitle.c: New file.
45855         * modules/unicase/u16-totitle: New file.
45856
45857         New module 'unicase/u8-totitle'.
45858         * lib/unicase/u8-totitle.c: New file.
45859         * lib/unicase/u-totitle.h: New file.
45860         * modules/unicase/u8-totitle: New file.
45861
45862         Tests for module 'unicase/u32-tolower'.
45863         * modules/unicase/u32-tolower-tests: New file.
45864         * tests/unicase/test-u32-tolower.c: New file.
45865
45866         Tests for module 'unicase/u16-tolower'.
45867         * modules/unicase/u16-tolower-tests: New file.
45868         * tests/unicase/test-u16-tolower.c: New file.
45869
45870         Tests for module 'unicase/u8-tolower'.
45871         * modules/unicase/u8-tolower-tests: New file.
45872         * tests/unicase/test-u8-tolower.c: New file.
45873
45874         New module 'unicase/u32-tolower'.
45875         * lib/unicase/u32-tolower.c: New file.
45876         * modules/unicase/u32-tolower: New file.
45877
45878         New module 'unicase/u16-tolower'.
45879         * lib/unicase/u16-tolower.c: New file.
45880         * modules/unicase/u16-tolower: New file.
45881
45882         New module 'unicase/u8-tolower'.
45883         * lib/unicase/u8-tolower.c: New file.
45884         * modules/unicase/u8-tolower: New file.
45885
45886         Tests for module 'unicase/u32-toupper'.
45887         * modules/unicase/u32-toupper-tests: New file.
45888         * tests/unicase/test-u32-toupper.c: New file.
45889
45890         Tests for module 'unicase/u16-toupper'.
45891         * modules/unicase/u16-toupper-tests: New file.
45892         * tests/unicase/test-u16-toupper.c: New file.
45893
45894         Tests for module 'unicase/u8-toupper'.
45895         * modules/unicase/u8-toupper-tests: New file.
45896         * tests/unicase/test-u8-toupper.c: New file.
45897
45898         New module 'unicase/u32-toupper'.
45899         * lib/unicase/u32-toupper.c: New file.
45900         * modules/unicase/u32-toupper: New file.
45901
45902         New module 'unicase/u16-toupper'.
45903         * lib/unicase/u16-toupper.c: New file.
45904         * modules/unicase/u16-toupper: New file.
45905
45906         New module 'unicase/u8-toupper'.
45907         * lib/unicase/u8-toupper.c: New file.
45908         * modules/unicase/u8-toupper: New file.
45909
45910         New module 'unicase/u32-casemap'.
45911         * lib/unicase/u32-casemap.c: New file.
45912         * modules/unicase/u32-casemap: New file.
45913
45914         New module 'unicase/u16-casemap'.
45915         * lib/unicase/u16-casemap.c: New file.
45916         * modules/unicase/u16-casemap: New file.
45917
45918         New module 'unicase/u8-casemap'.
45919         * lib/unicase/unicasemap.h: New file.
45920         * lib/unicase/u8-casemap.c: New file.
45921         * lib/unicase/u-casemap.h: New file.
45922         * modules/unicase/u8-casemap: New file.
45923
45924         New module 'unicase/special-casing'.
45925         * lib/unicase/special-casing.h: New file.
45926         * lib/unicase/special-casing.c: New file.
45927         * lib/unicase/special-casing-table.gperf: New file, generated by
45928         gen-uni-tables.c.
45929         * modules/unicase/special-casing: New file.
45930
45931         Tests for module 'unicase/locale-language'.
45932         * modules/unicase/locale-language-tests: New file.
45933         * tests/unicase/test-locale-language.sh: New file.
45934         * tests/unicase/test-locale-language.c: New file.
45935
45936         New module 'unicase/locale-language'.
45937         * lib/unicase/locale-language.c: New file.
45938         * lib/unicase/locale-languages.gperf: New file.
45939         * modules/unicase/locale-language: New file.
45940
45941         Generate more tables for case conversion and case folding.
45942         * lib/gen-uni-tables.c (SCC_*): New enum items.
45943         (struct special_casing_rule): New type.
45944         (casing_rules, num_casing_rules, allocated_casing_rules): New
45945         variables.
45946         (add_casing_rule, fill_casing_rules): New functions.
45947         (struct casefold_rule): New type.
45948         (casefolding_rules, num_casefolding_rules,
45949         allocated_casefolding_rules): New variables.
45950         (fill_casefolding_rules): New function.
45951         (unicode_casefold): New variable.
45952         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
45953         sort_casing_rules, output_casing_rules): New functions.
45954         (main): Accept to more arguments: SpecialCasing.txt and
45955         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
45956         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
45957         Output mapping for casefolding.
45958
45959         * lib/unicase.h: Include stdbool.h, uninorm.h.
45960         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
45961         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
45962         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
45963         arguments.
45964         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
45965         resultp arguments.
45966         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
45967         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
45968         resultp arguments.
45969         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
45970         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
45971         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
45972         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
45973         declarations.
45974         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
45975
45976 2009-03-08  Bruno Haible  <bruno@clisp.org>
45977
45978         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45979         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
45980         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
45981         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45982
45983 2009-03-07  Bruno Haible  <bruno@clisp.org>
45984
45985         Adjust u*_normcmp, u*_normcoll API.
45986         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45987         u16_normcoll, u32_normcoll): Change failure conventions.
45988         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
45989         errno and return -1.
45990         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45991
45992 2009-03-07  Bruno Haible  <bruno@clisp.org>
45993
45994         Tests for module 'uninorm/u32-normcoll'.
45995         * modules/uninorm/u32-normcoll-tests: New file.
45996         * tests/uninorm/test-u32-normcoll.c: New file.
45997
45998         Tests for module 'uninorm/u16-normcoll'.
45999         * modules/uninorm/u16-normcoll-tests: New file.
46000         * tests/uninorm/test-u16-normcoll.c: New file.
46001
46002         Tests for module 'uninorm/u8-normcoll'.
46003         * modules/uninorm/u8-normcoll-tests: New file.
46004         * tests/uninorm/test-u8-normcoll.c: New file.
46005
46006 2009-03-07  Bruno Haible  <bruno@clisp.org>
46007
46008         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46009         tests/uninorm/test-u32-normcmp.c.
46010         * tests/uninorm/test-u32-normcmp.c: Include it.
46011         (test_nonascii): New function, extracted from main. Add some more
46012         tests.
46013         (main): Invoke test_ascii and test_nonascii.
46014         * modules/uninorm/u32-normcmp-tests (Files): Add
46015         tests/uninorm/test-u32-normcmp.h.
46016         (Depends-on): Remove uninorm/u32-normcmp.
46017
46018         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46019         tests/uninorm/test-u16-normcmp.c.
46020         * tests/uninorm/test-u16-normcmp.c: Include it.
46021         (test_nonascii): New function, extracted from main. Add some more
46022         tests.
46023         (main): Invoke test_ascii and test_nonascii.
46024         * modules/uninorm/u16-normcmp-tests (Files): Add
46025         tests/uninorm/test-u16-normcmp.h.
46026         (Depends-on): Remove uninorm/u16-normcmp.
46027
46028         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46029         tests/uninorm/test-u8-normcmp.c.
46030         * tests/uninorm/test-u8-normcmp.c: Include it.
46031         (test_nonascii): New function, extracted from main. Add some more
46032         tests.
46033         (main): Invoke test_ascii and test_nonascii.
46034         * modules/uninorm/u8-normcmp-tests (Files): Add
46035         tests/uninorm/test-u8-normcmp.h.
46036         (Depends-on): Remove uninorm/u8-normcmp.
46037
46038 2009-03-07  Bruno Haible  <bruno@clisp.org>
46039
46040         New module 'uninorm/u32-normcoll'.
46041         * lib/uninorm/u32-normcoll.c: New file.
46042         * modules/uninorm/u32-normcoll: New file.
46043
46044         New module 'uninorm/u16-normcoll'.
46045         * lib/uninorm/u16-normcoll.c: New file.
46046         * modules/uninorm/u16-normcoll: New file.
46047
46048         New module 'uninorm/u8-normcoll'.
46049         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46050         declarations.
46051         * lib/uninorm/u8-normcoll.c: New file.
46052         * lib/uninorm/u-normcoll.h: New file.
46053         * modules/uninorm/u8-normcoll: New file.
46054
46055         New module 'uninorm/u32-normxfrm'.
46056         * lib/uninorm/u32-normxfrm.c: New file.
46057         * modules/uninorm/u32-normxfrm: New file.
46058
46059         New module 'uninorm/u16-normxfrm'.
46060         * lib/uninorm/u16-normxfrm.c: New file.
46061         * modules/uninorm/u16-normxfrm: New file.
46062
46063         New module 'uninorm/u8-normxfrm'.
46064         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46065         declarations.
46066         * lib/uninorm/u8-normxfrm.c: New file.
46067         * lib/uninorm/u-normxfrm.h: New file.
46068         * modules/uninorm/u8-normxfrm: New file.
46069
46070 2009-03-07  Bruno Haible  <bruno@clisp.org>
46071
46072         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46073         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46074         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46075
46076 2009-03-07  Bruno Haible  <bruno@clisp.org>
46077
46078         New module 'memxfrm'.
46079         * lib/memxfrm.h: New file.
46080         * lib/memxfrm.c: New file.
46081         * modules/memxfrm: New file.
46082
46083 2009-03-07  Bruno Haible  <bruno@clisp.org>
46084
46085         New module 'memcmp2'.
46086         * lib/memcmp2.h: New file.
46087         * lib/memcmp2.c: New file.
46088         * modules/memcmp2: New file.
46089
46090 2009-03-07  Bruno Haible  <bruno@clisp.org>
46091
46092         Tests for module 'uninorm/decomposing-form'.
46093         * modules/uninorm/decomposing-form-tests: New file.
46094         * tests/uninorm/test-decomposing-form.c: New file.
46095
46096         New module 'uninorm/decomposing-form'.
46097         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46098         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46099         Add 'decomposing_variant' field.
46100         * lib/uninorm/decomposing-form.c: New file.
46101         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46102         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46103         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46104         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46105         * modules/uninorm/decomposing-form: New file.
46106         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46107         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46108
46109 2009-03-07  Bruno Haible  <bruno@clisp.org>
46110
46111         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46112         strings.
46113
46114 2009-03-06  Bruno Haible  <bruno@clisp.org>
46115
46116         Tests for module 'uninorm/u32-normcmp'.
46117         * tests/uninorm/test-u32-normcmp.c: New file.
46118         * modules/uninorm/u32-normcmp-tests: New file.
46119
46120         Tests for module 'uninorm/u16-normcmp'.
46121         * tests/uninorm/test-u16-normcmp.c: New file.
46122         * modules/uninorm/u16-normcmp-tests: New file.
46123
46124         Tests for module 'uninorm/u8-normcmp'.
46125         * tests/uninorm/test-u8-normcmp.c: New file.
46126         * modules/uninorm/u8-normcmp-tests: New file.
46127
46128         New module 'uninorm/u32-normcmp'.
46129         * lib/uninorm/u32-normcmp.c: New file.
46130         * modules/uninorm/u32-normcmp: New file.
46131
46132         New module 'uninorm/u16-normcmp'.
46133         * lib/uninorm/u16-normcmp.c: New file.
46134         * modules/uninorm/u16-normcmp: New file.
46135
46136         New module 'uninorm/u8-normcmp'.
46137         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46138         declarations.
46139         * lib/uninorm/u8-normcmp.c: New file.
46140         * lib/uninorm/u-normcmp.h: New file.
46141         * modules/uninorm/u8-normcmp: New file.
46142
46143 2009-03-06  Bruno Haible  <bruno@clisp.org>
46144
46145         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46146         Reported by Eric Blake.
46147
46148 2009-03-06  Eric Blake  <ebb9@byu.net>
46149             Bruno Haible  <bruno@clisp.org>
46150
46151         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46152         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46153         condition.
46154         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46155         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46156         condition.
46157         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46158
46159 2009-03-06  Eric Blake  <ebb9@byu.net>
46160
46161         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46162         to avoid compiler warnings.
46163         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46164
46165 2009-03-05  Bruno Haible  <bruno@clisp.org>
46166
46167         * tests/test-ftell.c (main): Disable test beyond end of file on
46168         FreeMiNT.
46169         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46170
46171 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46172
46173         * lib/filevercmp.c: Move hidden files up in ordering.
46174         * tests/test-filevercmp.c: Add tests for hidden files.
46175
46176 2009-03-04  Bruno Haible  <bruno@clisp.org>
46177
46178         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46179         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46180         AM_CFLAGS.
46181         Reported by Simon Josefsson.
46182
46183 2009-03-03  Bruno Haible  <bruno@clisp.org>
46184
46185         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46186         Reported by Simon Josefsson.
46187
46188         * doc/ld-version-script.texi: Update node reference.
46189
46190 2009-03-03  Bruno Haible  <bruno@clisp.org>
46191
46192         * modules/visibility (License): Change to 'unlimited'.
46193         Suggested by Simon Josefsson.
46194
46195 2009-03-03  Jim Meyering  <meyering@redhat.com>
46196
46197         unlinkdir: cannot_unlink_dir may modify process state
46198         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46199         it's neither thread-safe nor appropriate for use in a library.
46200
46201 2009-03-03  Eric Blake  <ebb9@byu.net>
46202
46203         test-closein: silence test under Darwin
46204         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46205         care if it dies from EPIPE or EBADF.
46206
46207 2009-03-03  Bruno Haible  <bruno@clisp.org>
46208
46209         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46210         earlier.
46211         * doc/visibility.texi: Fix @node and @section.
46212
46213 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46214
46215         * doc/gnulib.texi: Link to sections for ld version script and
46216         visibility.
46217         * doc/visibility.texi: Add @node and @section.
46218         * modules/ld-version-script: New module.
46219         * m4/ld-version-script.m4: New file.
46220         * doc/ld-version-script.texi: New file.
46221
46222 2009-03-02  David Lutterkort  <lutter@redhat.com>
46223
46224         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46225         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46226
46227 2009-03-02  Bruno Haible  <bruno@clisp.org>
46228
46229         * doc/visibility.texi: Mention libtool's -export-symbols option.
46230
46231 2009-03-02  Jim Meyering  <meyering@redhat.com>
46232
46233         announce-gen: new option: --no-print-checksums
46234         * build-aux/announce-gen (usage): Describe it.
46235         (print_checksums): Print a newline here, not in the [*] footnote.
46236         (main): Honor it.
46237
46238 2009-03-01  Bruno Haible  <bruno@clisp.org>
46239
46240         Use socklen_t in the native Windows replacements prototypes.
46241         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46242         instead of 'int'.
46243         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46244         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46245         * modules/getsockopt (Depends-on): Add socklen.
46246         * modules/setsockopt (Depends-on): Add socklen.
46247
46248 2009-03-01  Bruno Haible  <bruno@clisp.org>
46249
46250         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46251         least 4.2.
46252
46253 2009-03-01  Eric Blake  <ebb9@byu.net>
46254             Bruno Haible  <bruno@clisp.org>
46255
46256         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46257         error messages.
46258         * lib/wait-process.c (wait_subprocess): Omit error message about
46259         deadly signal sent to the child of termsigp != NULL.
46260
46261 2009-03-01  Eric Blake  <ebb9@byu.net>
46262
46263         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46264
46265 2009-03-01  Bruno Haible  <bruno@clisp.org>
46266
46267         Avoid a gcc warning.
46268         * tests/test-sched.c (b): Make global.
46269         Reported by Eric Blake.
46270
46271 2009-01-19  Martin Lambers  <marlam@marlam.de>
46272
46273         Provide POSIX semantics for socket timeout options on W32.
46274         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46275         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46276         * modules/setsockopt: Depend on sys_time module for struct timeval.
46277         * modules/getsockopt: Depend on sys_time module for struct timeval.
46278
46279 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46280
46281         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46282         __USE_GNU, for consistency with netdb.in.h.
46283         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46284
46285 2009-03-01  Bruno Haible  <bruno@clisp.org>
46286
46287         More support for FreeMiNT.
46288         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46289         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46290
46291 2009-03-01  Bruno Haible  <bruno@clisp.org>
46292
46293         More support for FreeMiNT.
46294         * lib/fpurge.c (fpurge): Correct last commit.
46295         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46296
46297 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46298
46299         Fix unportable awk script in vc-list-files.
46300         * build-aux/vc-list-files: In the replacement awk script, use
46301         substr with a second argument of 1, not zero.
46302         Report by Simon Josefsson.
46303
46304 2009-02-28  Bruno Haible  <bruno@clisp.org>
46305
46306         More support for FreeMiNT.
46307         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46308         to FreeMiNT today.
46309         * lib/fwriting.c (fwriting): Likewise.
46310         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46311
46312 2009-02-28  Bruno Haible  <bruno@clisp.org>
46313
46314         * tests/test-freadseek.c (main): Disable test beyond end of file on
46315         FreeMiNT.
46316         * tests/test-ftello.c (main): Likewise.
46317         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46318
46319 2009-02-28  Bruno Haible  <bruno@clisp.org>
46320
46321         Add tentative support for FreeMiNT.
46322         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46323         * lib/fpurge.c (fpurge): Likewise.
46324         * lib/freadable.c (freadable): Likewise.
46325         * lib/freading.c (freading): Likewise.
46326         * lib/freadptr.c (freadptr): Likewise.
46327         * lib/freadseek.c (freadptrinc): Likewise.
46328         * lib/fseeko.c (rpl_fseeko): Likewise.
46329         * lib/fseterr.c (fseterr): Likewise.
46330         * lib/fwritable.c (fwritable): Likewise.
46331         * lib/fwriting.c (fwriting): Likewise.
46332         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46333         Hourihane.
46334         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46335
46336 2009-02-28  Bruno Haible  <bruno@clisp.org>
46337
46338         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46339         SIGCHLD.
46340         Reported by Jim Meyering.
46341
46342 2009-02-28  Bruno Haible  <bruno@clisp.org>
46343
46344         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46345         Mention the results of these tests on various platforms.
46346         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46347         order.
46348         * doc/posix-functions/printf.texi: Likewise.
46349         * doc/posix-functions/snprintf.texi: Likewise.
46350         * doc/posix-functions/sprintf.texi: Likewise.
46351         * doc/posix-functions/vfprintf.texi: Likewise.
46352         * doc/posix-functions/vprintf.texi: Likewise.
46353         * doc/posix-functions/vsnprintf.texi: Likewise.
46354         * doc/posix-functions/vsprintf.texi: Likewise.
46355         * doc/glibc-functions/obstack_printf.texi: Likewise.
46356         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46357
46358 2009-02-28  Bruno Haible  <bruno@clisp.org>
46359
46360         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46361         Reported by Loïc Minier <lool@dooz.org>.
46362
46363 2009-02-27  Bruno Haible  <bruno@clisp.org>
46364
46365         * gnulib-tool (func_import): Make the sed expression used to create the
46366         sed script for updating the .gitignore file POSIX compliant.
46367         Reported by Eric Blake.
46368
46369 2009-02-27  Bruno Haible  <bruno@clisp.org>
46370
46371         * gnulib-tool (sed): Don't alias as "sed --posix".
46372         Reported by Eric Blake.
46373
46374 2009-02-27  Bruno Haible  <bruno@clisp.org>
46375
46376         Avoid test link errors.
46377         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46378         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46379         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46380         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46382
46383 2009-02-27  Bruno Haible  <bruno@clisp.org>
46384
46385         Avoid spurious "(cached)" in configure output.
46386         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46387         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46388         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46389         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46390         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46391         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46392         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46393         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
46394         Reported by Eric Blake.
46395
46396 2009-02-27  Eric Blake  <ebb9@byu.net>
46397
46398         printf: fix regression in previous patch
46399         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
46400
46401 2009-02-27  Bruno Haible  <bruno@clisp.org>
46402
46403         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
46404         value.
46405         * lib/stdint.in.h: Likewise.
46406         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
46407
46408 2009-02-27  Eric Blake  <ebb9@byu.net>
46409
46410         doc: mention more functions added in cygwin 1.7.0
46411         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
46412         addition.
46413         * doc/posix-functions/open_wmemstream.texi: Likewise.
46414         * doc/posix-functions/wcsnlen.texi: Likewise.
46415         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46416         * doc/posix-functions/wcstod.texi: Likewise.
46417         * doc/posix-functions/wcstof.texi: Likewise.
46418         * doc/posix-functions/wcstoimax.texi: Likewise.
46419         * doc/posix-functions/wcstok.texi: Likewise.
46420         * doc/posix-functions/wcstoumax.texi: Likewise.
46421
46422         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
46423         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
46424         * doc/posix-functions/fprintf.texi: Update.
46425         * doc/posix-functions/printf.texi: Update.
46426         * doc/posix-functions/snprintf.texi: Update.
46427         * doc/posix-functions/sprintf.texi: Update.
46428         * doc/posix-functions/vfprintf.texi: Update.
46429         * doc/posix-functions/vprintf.texi: Update.
46430         * doc/posix-functions/vsnprintf.texi: Update.
46431         * doc/posix-functions/vsprintf.texi: Update.
46432         * doc/glibc-functions/obstack_printf.texi: Update.
46433         * doc/glibc-functions/obstack_vprintf.texi: Update.
46434
46435 2009-02-26  Eric Blake  <ebb9@byu.net>
46436
46437         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
46438         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
46439         compilation bug by using runtime conversion.
46440         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
46441         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
46442         * modules/ceill-tests (Files): Use nan.h.
46443         * modules/floorl-tests (Files): Likewise.
46444         * modules/frexpl-tests (Files): Likewise.
46445         * modules/isnanl-tests (Files): Likewise.
46446         * modules/ldexpl-tests (Files): Likewise.
46447         * modules/roundl-tests (Files): Likewise.
46448         * modules/truncl-tests (Files): Likewise.
46449         * tests/test-ceill.c (main): Use a working NaN.
46450         * tests/test-floorl.c (main): Likewise.
46451         * tests/test-frexpl.c (main): Likewise.
46452         * tests/test-isnan.c (test_long_double): Likewise.
46453         * tests/test-isnanl.h (main): Likewise.
46454         * tests/test-ldexpl.h (main): Likewise.
46455         * tests/test-roundl.h (main): Likewise.
46456         * tests/test-truncl.h (main): Likewise.
46457         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
46458
46459 2009-02-26  Eric Blake  <ebb9@byu.net>
46460             Bruno Haible  <bruno@clisp.org>
46461
46462         Work around a *printf bug with %ls on Solaris.
46463         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
46464         precision is specified, sprintf stops converting the wide string
46465         argument when the number of bytes that have been produced by this
46466         conversion equals or exceeds the precision.
46467         * doc/posix-functions/fprintf.texi: Update.
46468         * doc/posix-functions/printf.texi: Update.
46469         * doc/posix-functions/snprintf.texi: Update.
46470         * doc/posix-functions/sprintf.texi: Update.
46471         * doc/posix-functions/vfprintf.texi: Update.
46472         * doc/posix-functions/vprintf.texi: Update.
46473         * doc/posix-functions/vsnprintf.texi: Update.
46474         * doc/posix-functions/vsprintf.texi: Update.
46475         * doc/glibc-functions/obstack_printf.texi: Update.
46476         * doc/glibc-functions/obstack_vprintf.texi: Update.
46477
46478 2009-02-26  Eric Blake  <ebb9@byu.net>
46479
46480         stdlib: favor compiler check of random.h
46481         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
46482         to avoid an ObjC random.h installed by Swarm.
46483
46484 2009-02-26  Bruno Haible  <bruno@clisp.org>
46485
46486         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
46487         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
46488         Reported by Gary V. Vaughan <gary@gnu.org>.
46489
46490 2009-02-26  Bruno Haible  <bruno@clisp.org>
46491
46492         Fix *printf behaviour regarding the %ls directive.
46493         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
46494         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
46495         NEED_PRINTF_DIRECTIVE_LS.
46496         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
46497         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46498         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46499         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
46500         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
46501         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
46502         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46503         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46504         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46505         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46506         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46507         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
46508         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46509         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46510         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46511         * doc/posix-functions/fprintf.texi: Update.
46512         * doc/posix-functions/printf.texi: Update.
46513         * doc/posix-functions/snprintf.texi: Update.
46514         * doc/posix-functions/sprintf.texi: Update.
46515         * doc/posix-functions/vfprintf.texi: Update.
46516         * doc/posix-functions/vprintf.texi: Update.
46517         * doc/posix-functions/vsnprintf.texi: Update.
46518         * doc/posix-functions/vsprintf.texi: Update.
46519         * doc/glibc-functions/obstack_printf.texi: Update.
46520         * doc/glibc-functions/obstack_vprintf.texi: Update.
46521         Reported by Eric Blake.
46522
46523 2009-02-25  Bruno Haible  <bruno@clisp.org>
46524
46525         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
46526         with known value.
46527         Reported by Gary V. Vaughan <gary@gnu.org>.
46528
46529 2009-02-25  Bruno Haible  <bruno@clisp.org>
46530
46531         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
46532         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46533         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46534         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46535         Reported by Gary V. Vaughan <gary@gnu.org>.
46536
46537 2009-02-25  Bruno Haible  <bruno@clisp.org>
46538
46539         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46540         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46541         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46542         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46543         Reported by Gary V. Vaughan <gary@gnu.org>.
46544
46545 2009-02-25  Eric Blake  <ebb9@byu.net>
46546
46547         tests: skip fseek/ftell tests if ungetc is broken
46548         * m4/ungetc.m4: New file.
46549         * modules/fseek-tests: Split test, so ungetc dependency is
46550         separate from rest of test.
46551         * modules/fseeko-tests: Likewise.
46552         * modules/ftell-tests: Likewise.
46553         * modules/ftello-tests: Likewise.
46554         * tests/test-fseek.c (main): Isolate ungetc dependency.
46555         * tests/test-fseeko.c (main): Likewise.
46556         * tests/test-ftell.c (main): Likewise.
46557         * tests/test-ftello.c (main): Likewise.
46558         * tests/test-fseek2.sh: New file.
46559         * tests/test-fseeko2.sh: Likewise.
46560         * tests/test-ftell2.sh: Likewise.
46561         * tests/test-ftello2.sh: Likewise.
46562
46563 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46564
46565         test-getaddrinfo: fix usage of skip return code 77
46566         * tests/test-gettaddrinfo.c: Return skip code 77 only
46567         for first occurance of skip (4x77 is not 77)
46568
46569 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46570
46571         strtod: avoid C99 decl-after-statement
46572         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46573
46574 2009-02-24  Eric Blake  <ebb9@byu.net>
46575
46576         strtod: detect HP-UX 11.31 bug
46577         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46578         Reported by Gary V. Vaughan.
46579
46580 2009-02-23  Bruno Haible  <bruno@clisp.org>
46581
46582         Fix invalid read past end of memory block.
46583         * lib/vasnprintf.c (DCHAR_SET): Define.
46584         (local_wcslen): Define only when needed.
46585         (local_strnlen, local_wcsnlen): New functions.
46586         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46587         directives that involve a conversion ourselves.
46588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46589         wcsnlen, mbrtowc, wcrtomb.
46590         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46591         * tests/test-vasprintf-posix.c (test_function): Likewise.
46592         * tests/test-snprintf-posix.h (test_function): Likewise.
46593         * tests/test-sprintf-posix.h (test_function): Likewise.
46594         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46595
46596 2009-02-22  Bruno Haible  <bruno@clisp.org>
46597
46598         Implement new clarified decomposition of Hangul syllables.
46599         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46600         of type LTV, return only a pairwise decomposition.
46601         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46602         Likewise.
46603         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46604         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46605         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46606
46607 2009-02-22  Bruno Haible  <bruno@clisp.org>
46608
46609         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46610         zero-length results and shrink excess allocated memory.
46611         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46612         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46613         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46614         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46615         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46616         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46617         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46618         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46619         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46620         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46621         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46622         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46623
46624 2009-02-21  Bruno Haible  <bruno@clisp.org>
46625
46626         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46627         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46628         spaces after a period. Put a space between a macro name and its
46629         argument list. Trivial rewordings.
46630         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46631         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46632         (main): Return 0 explicitly.
46633
46634 2009-02-21  Bruno Haible  <bruno@clisp.org>
46635
46636         Tests for module 'uninorm/filter'.
46637         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46638         * modules/uninorm/filter-tests: New file.
46639
46640         New module 'uninorm/filter'.
46641         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46642         uninorm_filter_flush, uninorm_filter_free): New declarations.
46643         * lib/uninorm/uninorm-filter.c: New file.
46644         * modules/uninorm/filter: New file.
46645
46646 2009-02-21  Bruno Haible  <bruno@clisp.org>
46647
46648         Tests for module 'uninorm/nfkc'.
46649         * tests/uninorm/test-nfkc.c: New file.
46650         * tests/uninorm/test-u8-nfkc.c: New file.
46651         * tests/uninorm/test-u16-nfkc.c: New file.
46652         * tests/uninorm/test-u32-nfkc.c: New file.
46653         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46654         * tests/uninorm/test-u32-nfkc-big.c: New file.
46655         * modules/uninorm/nfkc-tests: New file.
46656
46657         New module 'uninorm/nfkc'.
46658         * lib/uninorm/nfkc.c: New file.
46659         * modules/uninorm/nfkc: New file.
46660
46661         Tests for module 'uninorm/nfkd'.
46662         * tests/uninorm/test-nfkd.c: New file.
46663         * tests/uninorm/test-u8-nfkd.c: New file.
46664         * tests/uninorm/test-u16-nfkd.c: New file.
46665         * tests/uninorm/test-u32-nfkd.c: New file.
46666         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46667         * tests/uninorm/test-u32-nfkd-big.c: New file.
46668         * modules/uninorm/nfkd-tests: New file.
46669
46670         New module 'uninorm/nfkd'.
46671         * lib/uninorm/nfkd.c: New file.
46672         * modules/uninorm/nfkd: New file.
46673
46674         Tests for module 'uninorm/nfc'.
46675         * tests/uninorm/test-nfc.c: New file.
46676         * tests/uninorm/test-u8-nfc.c: New file.
46677         * tests/uninorm/test-u16-nfc.c: New file.
46678         * tests/uninorm/test-u32-nfc.c: New file.
46679         * tests/uninorm/test-u32-nfc-big.sh: New file.
46680         * tests/uninorm/test-u32-nfc-big.c: New file.
46681         * modules/uninorm/nfc-tests: New file.
46682
46683         New module 'uninorm/nfc'.
46684         * lib/uninorm/nfc.c: New file.
46685         * modules/uninorm/nfc: New file.
46686
46687         Tests for module 'uninorm/nfd'.
46688         * tests/uninorm/test-nfd.c: New file.
46689         * tests/uninorm/test-u8-nfd.c: New file.
46690         * tests/uninorm/test-u16-nfd.c: New file.
46691         * tests/uninorm/test-u32-nfd.c: New file.
46692         * tests/uninorm/test-u32-nfd-big.sh: New file.
46693         * tests/uninorm/test-u32-nfd-big.c: New file.
46694         * tests/uninorm/test-u32-normalize-big.h: New file.
46695         * tests/uninorm/test-u32-normalize-big.c: New file.
46696         * tests/uninorm/NormalizationTest.txt: New file, created from
46697         Unicode 5.1.0 NormalizationTest.txt.
46698         * modules/uninorm/nfd-tests: New file.
46699
46700         New module 'uninorm/nfd'.
46701         * lib/uninorm/nfd.c: New file.
46702         * modules/uninorm/nfd: New file.
46703
46704         New module 'uninorm/u32-normalize'.
46705         * lib/uninorm/u32-normalize.c: New file.
46706         * modules/uninorm/u32-normalize: New file.
46707
46708         New module 'uninorm/u16-normalize'.
46709         * lib/uninorm/u16-normalize.c: New file.
46710         * modules/uninorm/u16-normalize: New file.
46711
46712         New module 'uninorm/u8-normalize'.
46713         * lib/uninorm/u8-normalize.c: New file.
46714         * lib/uninorm/normalize-internal.h: New file.
46715         * lib/uninorm/u-normalize-internal.h: New file.
46716         * modules/uninorm/u8-normalize: New file.
46717
46718         New module 'uninorm/decompose-internal'.
46719         * lib/uninorm/decompose-internal.c: New file.
46720         * modules/uninorm/decompose-internal: New file.
46721
46722         Tests for module 'uninorm/composition'.
46723         * tests/uninorm/test-composition.c: New file.
46724         * modules/uninorm/composition-tests: New file.
46725
46726         New module 'uninorm/composition'.
46727         * lib/uninorm/composition.c: New file.
46728         * lib/uninorm/composition-table.gperf: New file, generated by
46729         gen-uni-tables.
46730         * modules/uninorm/composition: New file.
46731
46732         Tests for module 'uninorm/compat-decomposition'.
46733         * tests/uninorm/test-compat-decomposition.c: New file.
46734         * modules/uninorm/compat-decomposition-tests: New file.
46735
46736         New module 'uninorm/compat-decomposition'.
46737         * lib/uninorm/decompose-internal.h: New file.
46738         * lib/uninorm/compat-decomposition.c: New file.
46739         * modules/uninorm/compat-decomposition: New file.
46740
46741         Tests for module 'uninorm/canonical-decomposition'.
46742         * tests/uninorm/test-canonical-decomposition.c: New file.
46743         * modules/uninorm/canonical-decomposition-tests: New file.
46744
46745         New module 'uninorm/canonical-decomposition'.
46746         * lib/uninorm/canonical-decomposition.c: New file.
46747         * modules/uninorm/canonical-decomposition: New file.
46748
46749         Tests for module 'uninorm/decomposition'.
46750         * tests/uninorm/test-decomposition.c: New file.
46751         * modules/uninorm/decomposition-tests: New file.
46752
46753         New module 'uninorm/decomposition'.
46754         * lib/uninorm/decomposition.c: New file.
46755         * modules/uninorm/decomposition: New file.
46756
46757         New module 'uninorm/decomposition-table'.
46758         * lib/uninorm/decomposition-table.h: New file.
46759         * lib/uninorm/decomposition-table.c: New file.
46760         * lib/uninorm/decomposition-table1.h: New file, generated by
46761         gen-uni-tables.
46762         * lib/uninorm/decomposition-table2.h: New file, generated by
46763         gen-uni-tables.
46764         * modules/uninorm/decomposition-table: New file.
46765
46766         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46767         (UC_DECOMP_*): New enumeration items.
46768         (get_decomposition): New function.
46769         (struct decomp_table): New type.
46770         (output_decomposition, output_decomposition_tables): New functions.
46771         (unicode_composition_exclusions): New variable.
46772         (fill_composition_exclusions, debug_output_composition_tables): New
46773         functions.
46774         (main): Accept one more argument. Invoke fill_composition_exclusions.
46775         Output decomposition and composition tables.
46776
46777         New module 'uninorm/base'.
46778         * lib/uninorm.h: New file.
46779         * lib/unictype.h: Update comment.
46780         * modules/uninorm/base: New file.
46781
46782 2009-02-21  David Lutterkort  <lutter@redhat.com>
46783
46784         Tests for module 'safe-alloc'.
46785         * tests/test-safe-alloc.c: New file.
46786         * modules/safe-alloc-tests: New file.
46787
46788         New module 'safe-alloc'.
46789         * lib/safe-alloc.h: New file.
46790         * lib/safe-alloc.c: New file.
46791         * m4/safe-alloc.m4: New file.
46792         * modules/safe-alloc: New file.
46793         * doc/safe-alloc.texi: New file.
46794         * doc/gnulib.texi: Include it.
46795         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46796         safe-alloc.
46797
46798 2009-02-18  Bruno Haible  <bruno@clisp.org>
46799
46800         Fix link error on non-glibc systems.
46801         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46802         variable.
46803         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46804
46805 2009-02-18  Jim Meyering  <meyering@redhat.com>
46806
46807         fts: avoid used-uninitialized error due to recent change
46808         * lib/fts.c (fts_read): Guard uses of the new member,
46809         parent->fts_n_dirs_remaining, since it's not relevant for
46810         the parent of a directory specified on the command-line.
46811
46812 2009-02-17  James Youngman  <jay@gnu.org>
46813             Bruno Haible  <bruno@clisp.org>
46814
46815         * m4/include_next.m4: Reformulate comment.
46816
46817 2009-02-16  Jim Meyering  <meyering@redhat.com>
46818
46819         fts: add #if guards so that the fts_lgpl module still builds
46820         * lib/fts.c: Guard just-added hash-table-using parts with
46821         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46822         Reported by Simon Josefsson.
46823
46824 2009-02-15  Bruno Haible  <bruno@clisp.org>
46825
46826         * modules/array-mergesort-tests: New file.
46827         * tests/test-array-mergesort.c: New file.
46828
46829         New module 'array-mergesort'.
46830         * modules/array-mergesort: New file.
46831         * lib/array-mergesort.h: New file.
46832
46833 2009-02-15  Bruno Haible  <bruno@clisp.org>
46834
46835         Fix 2009-02-07 commit.
46836         * lib/gen-uni-tables.c (output_predicate, output_category,
46837         output_combclass, output_bidi_category, output_decimal_digit,
46838         output_digit, output_numeric, output_mirror, output_scripts,
46839         output_ident_category, output_simple_mapping): Fix format directives.
46840         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46841
46842 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46843
46844         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46845         fixes are available from IBM.
46846
46847 2009-02-13  Jim Meyering  <meyering@redhat.com>
46848
46849         fts: arrange not to stat non-directories in more cases
46850         This makes GNU find (when it doesn't need to stat each file)
46851         *much* more efficient at traversing reiserfs file systems.
46852         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46853         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46854         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46855         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46856         (leaf_optimization_applies): New function.
46857         (LCO_hash, LCO_compare): New helper functions.
46858         (link_count_optimize_ok): New function.
46859         (fts_stat): Initialize new member (if dir).
46860         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46861         we've just stat'ed a directory.  Skip the stat call when possible.
46862         ---
46863         Note this AFS-related exchange:
46864         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46865         and note find's pioctl call in find/fstype.c.
46866         But that is necessary only if you want to enable the
46867         optimization for AFS, and for now, I don't.
46868
46869         fts: move a function definition "up" (no semantic change)
46870         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46871         "up" to precede upcoming use of a related function.
46872
46873 2009-02-11  Jim Meyering  <meyering@redhat.com>
46874
46875         fts: correct internal computation of nlinks (optimization-related)
46876         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46877         whether the current entry is a directory, so don't test it.
46878
46879 2009-02-10  Bruno Haible  <bruno@clisp.org>
46880
46881         Tests for module 'uniwbrk/ulc-wordbreaks'.
46882         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46883         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46884         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46885
46886         Tests for module 'uniwbrk/u32-wordbreaks'.
46887         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46888         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46889
46890         Tests for module 'uniwbrk/u16-wordbreaks'.
46891         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46892         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46893
46894         Tests for module 'uniwbrk/u8-wordbreaks'.
46895         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46896         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46897
46898 2009-02-10  Bruno Haible  <bruno@clisp.org>
46899
46900         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46901         property.
46902         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46903         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
46904         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
46905
46906 2009-02-10  Simon Josefsson  <simon@josefsson.org>
46907
46908         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
46909         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
46910
46911 2009-02-10  Bruno Haible  <bruno@clisp.org>
46912
46913         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
46914         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
46915         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
46916         * lib/unilbrk/u8-possible-linebreaks.c: Update.
46917         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
46918         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
46919
46920 2009-02-09  Simon Josefsson  <simon@josefsson.org>
46921
46922         * lib/sockets.h (gl_fd_to_handle): New function.
46923
46924         * tests/test-sockets.c: Call gl_fd_to_handle.
46925
46926 2009-02-09  Bruno Haible  <bruno@clisp.org>
46927
46928         * doc/havelib.texi: Document the conventions on bi-arch systems.
46929
46930 2009-02-08  Bruno Haible  <bruno@clisp.org>
46931
46932         Document the AC_LIB_LINKFLAGS macro.
46933         * doc/havelib.texi: New file, mostly written on 2005-05-24.
46934         * doc/gnulib.texi: Include it.
46935
46936 2009-02-08  Bruno Haible  <bruno@clisp.org>
46937
46938         Fix wrong order of sections, compared to TOC.
46939         * doc/gnulib.texi: Include relocatable-maint.texi after the
46940         "Regular expressions" node, not before.
46941
46942 2009-02-08  Bruno Haible  <bruno@clisp.org>
46943
46944         Tests for module 'unicase/totitle'.
46945         * modules/unicase/totitle-tests: New file.
46946
46947         Tests for module 'unicase/tolower'.
46948         * modules/unicase/tolower-tests: New file.
46949
46950         Tests for module 'unicase/toupper'.
46951         * modules/unicase/toupper-tests: New file.
46952         * tests/unicase/test-mapping-part1.h: New file.
46953         * tests/unicase/test-mapping-part2.h: New file.
46954
46955         New module 'unicase/totitle'.
46956         * modules/unicase/totitle: New file.
46957         * lib/unicase/totitle.c: New file.
46958
46959         New module 'unicase/tolower'.
46960         * modules/unicase/tolower: New file.
46961         * lib/unicase/tolower.c: New file.
46962
46963         New module 'unicase/toupper'.
46964         * modules/unicase/toupper: New file.
46965         * lib/unicase/toupper.c: New file.
46966         * lib/unicase/simple-mapping.h: New file.
46967
46968         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
46969         (mapping_table): New structure.
46970         (output_simple_mapping): New function.
46971         (main): Invoke output_simple_mapping_test and output_simple_mapping.
46972         * modules/gen-uni-tables (Description): Update.
46973         * lib/unicase/toupper.h: New file, automatically generated by
46974         gen-uni-tables.
46975         * lib/unicase/tolower.h: New file, automatically generated by
46976         gen-uni-tables.
46977         * lib/unicase/totitle.h: New file, automatically generated by
46978         gen-uni-tables.
46979         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
46980         gen-uni-tables.
46981         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
46982         gen-uni-tables.
46983         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
46984         gen-uni-tables.
46985
46986         New module 'unicase/base'.
46987         * modules/unicase/base: New file.
46988         * lib/unicase.h: New file.
46989
46990 2009-02-08  Bruno Haible  <bruno@clisp.org>
46991
46992         New module 'uniwbrk/ulc-wordbreaks'.
46993         * modules/uniwbrk/ulc-wordbreaks: New file.
46994         * lib/uniwbrk/ulc-wordbreaks.c: New file.
46995
46996         New module 'uniwbrk/u32-wordbreaks'.
46997         * modules/uniwbrk/u32-wordbreaks: New file.
46998         * lib/uniwbrk/u32-wordbreaks.c: New file.
46999
47000         New module 'uniwbrk/u16-wordbreaks'.
47001         * modules/uniwbrk/u16-wordbreaks: New file.
47002         * lib/uniwbrk/u16-wordbreaks.c: New file.
47003
47004         New module 'uniwbrk/u8-wordbreaks'.
47005         * modules/uniwbrk/u8-wordbreaks: New file.
47006         * lib/uniwbrk/u8-wordbreaks.c: New file.
47007         * lib/uniwbrk/u-wordbreaks.h: New file.
47008
47009         New module 'uniwbrk/table'.
47010         * modules/uniwbrk/table: New file.
47011         * lib/uniwbrk/wbrktable.h: New file.
47012         * lib/uniwbrk/wbrktable.c: New file.
47013
47014         New module 'uniwbrk/wordbreak-property'.
47015         * modules/uniwbrk/wordbreak-property: New file.
47016         * lib/uniwbrk/wordbreak-property.c: New file.
47017
47018         * lib/gen-uni-tables.c (WBP_*): New enum items.
47019         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47020         (unicode_org_wbp): New variable.
47021         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47022         New functions.
47023         (wbp_table): New structure.
47024         (output_wbp, output_wbrk_tables): New functions.
47025         (main): Accept additional argument. Invoke fill_org_wbp,
47026         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47027         output_wbrk_tables.
47028         * modules/gen-uni-tables (Description): Update.
47029         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47030         gen-uni-tables.
47031
47032         New module 'uniwbrk/base'.
47033         * modules/uniwbrk/base: New file.
47034         * lib/uniwbrk.h: New file.
47035
47036 2009-02-08  Bruno Haible  <bruno@clisp.org>
47037
47038         Update to Unicode 5.1.0.
47039         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47040         U+2185..U+2188.
47041         (is_property_default_ignorable_code_point): Don't include characters
47042         of category Cc or Cs and not-a-characters.
47043         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47044         U+0D79, U+109E, U+109F, U+A60C.
47045         * lib/unictype/bidi_of.h: Regenerated.
47046         * lib/unictype/blocks.h: Regenerated.
47047         * lib/unictype/categ_C.h: Regenerated.
47048         * lib/unictype/categ_Cf.h: Regenerated.
47049         * lib/unictype/categ_Cn.h: Regenerated.
47050         * lib/unictype/categ_L.h: Regenerated.
47051         * lib/unictype/categ_Ll.h: Regenerated.
47052         * lib/unictype/categ_Lm.h: Regenerated.
47053         * lib/unictype/categ_Lo.h: Regenerated.
47054         * lib/unictype/categ_Lu.h: Regenerated.
47055         * lib/unictype/categ_M.h: Regenerated.
47056         * lib/unictype/categ_Mc.h: Regenerated.
47057         * lib/unictype/categ_Me.h: Regenerated.
47058         * lib/unictype/categ_Mn.h: Regenerated.
47059         * lib/unictype/categ_N.h: Regenerated.
47060         * lib/unictype/categ_Nd.h: Regenerated.
47061         * lib/unictype/categ_Nl.h: Regenerated.
47062         * lib/unictype/categ_No.h: Regenerated.
47063         * lib/unictype/categ_P.h: Regenerated.
47064         * lib/unictype/categ_Pd.h: Regenerated.
47065         * lib/unictype/categ_Pe.h: Regenerated.
47066         * lib/unictype/categ_Pf.h: Regenerated.
47067         * lib/unictype/categ_Pi.h: Regenerated.
47068         * lib/unictype/categ_Po.h: Regenerated.
47069         * lib/unictype/categ_Ps.h: Regenerated.
47070         * lib/unictype/categ_S.h: Regenerated.
47071         * lib/unictype/categ_Sk.h: Regenerated.
47072         * lib/unictype/categ_Sm.h: Regenerated.
47073         * lib/unictype/categ_So.h: Regenerated.
47074         * lib/unictype/categ_of.h: Regenerated.
47075         * lib/unictype/combining.h: Regenerated.
47076         * lib/unictype/ctype_alnum.h: Regenerated.
47077         * lib/unictype/ctype_alpha.h: Regenerated.
47078         * lib/unictype/ctype_graph.h: Regenerated.
47079         * lib/unictype/ctype_lower.h: Regenerated.
47080         * lib/unictype/ctype_print.h: Regenerated.
47081         * lib/unictype/ctype_punct.h: Regenerated.
47082         * lib/unictype/ctype_upper.h: Regenerated.
47083         * lib/unictype/decdigit.h: Regenerated.
47084         * lib/unictype/digit.h: Regenerated.
47085         * lib/unictype/mirror.h: Regenerated.
47086         * lib/unictype/numeric.h: Regenerated.
47087         * lib/unictype/pr_alphabetic.h: Regenerated.
47088         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47089         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47090         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47091         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47092         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47093         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47094         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47095         * lib/unictype/pr_combining.h: Regenerated.
47096         * lib/unictype/pr_dash.h: Regenerated.
47097         * lib/unictype/pr_decimal_digit.h: Regenerated.
47098         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47099         * lib/unictype/pr_deprecated.h: Regenerated.
47100         * lib/unictype/pr_diacritic.h: Regenerated.
47101         * lib/unictype/pr_extender.h: Regenerated.
47102         * lib/unictype/pr_format_control.h: Regenerated.
47103         * lib/unictype/pr_grapheme_base.h: Regenerated.
47104         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47105         * lib/unictype/pr_grapheme_link.h: Regenerated.
47106         * lib/unictype/pr_id_continue.h: Regenerated.
47107         * lib/unictype/pr_id_start.h: Regenerated.
47108         * lib/unictype/pr_ideographic.h: Regenerated.
47109         * lib/unictype/pr_ignorable_control.h: Regenerated.
47110         * lib/unictype/pr_lowercase.h: Regenerated.
47111         * lib/unictype/pr_math.h: Regenerated.
47112         * lib/unictype/pr_numeric.h: Regenerated.
47113         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47114         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47115         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47116         * lib/unictype/pr_other_id_continue.h: Regenerated.
47117         * lib/unictype/pr_other_lowercase.h: Regenerated.
47118         * lib/unictype/pr_other_math.h: Regenerated.
47119         * lib/unictype/pr_punctuation.h: Regenerated.
47120         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47121         * lib/unictype/pr_soft_dotted.h: Regenerated.
47122         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47123         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47124         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47125         * lib/unictype/pr_uppercase.h: Regenerated.
47126         * lib/unictype/pr_xid_continue.h: Regenerated.
47127         * lib/unictype/pr_xid_start.h: Regenerated.
47128         * lib/unictype/pr_zero_width.h: Regenerated.
47129         * lib/unictype/scripts.h: Regenerated.
47130         * lib/unictype/scripts_byname.gperf: Regenerated.
47131         * lib/unictype/sy_java_ident.h: Regenerated.
47132         * lib/unilbrk/lbrkprop1.h: Regenerated.
47133         * lib/unilbrk/lbrkprop2.h: Regenerated.
47134         * tests/unictype/test-categ_C.c: Regenerated.
47135         * tests/unictype/test-categ_Cf.c: Regenerated.
47136         * tests/unictype/test-categ_Cn.c: Regenerated.
47137         * tests/unictype/test-categ_L.c: Regenerated.
47138         * tests/unictype/test-categ_Ll.c: Regenerated.
47139         * tests/unictype/test-categ_Lm.c: Regenerated.
47140         * tests/unictype/test-categ_Lo.c: Regenerated.
47141         * tests/unictype/test-categ_Lu.c: Regenerated.
47142         * tests/unictype/test-categ_M.c: Regenerated.
47143         * tests/unictype/test-categ_Mc.c: Regenerated.
47144         * tests/unictype/test-categ_Me.c: Regenerated.
47145         * tests/unictype/test-categ_Mn.c: Regenerated.
47146         * tests/unictype/test-categ_N.c: Regenerated.
47147         * tests/unictype/test-categ_Nd.c: Regenerated.
47148         * tests/unictype/test-categ_Nl.c: Regenerated.
47149         * tests/unictype/test-categ_No.c: Regenerated.
47150         * tests/unictype/test-categ_P.c: Regenerated.
47151         * tests/unictype/test-categ_Pd.c: Regenerated.
47152         * tests/unictype/test-categ_Pe.c: Regenerated.
47153         * tests/unictype/test-categ_Pf.c: Regenerated.
47154         * tests/unictype/test-categ_Pi.c: Regenerated.
47155         * tests/unictype/test-categ_Po.c: Regenerated.
47156         * tests/unictype/test-categ_Ps.c: Regenerated.
47157         * tests/unictype/test-categ_S.c: Regenerated.
47158         * tests/unictype/test-categ_Sk.c: Regenerated.
47159         * tests/unictype/test-categ_Sm.c: Regenerated.
47160         * tests/unictype/test-categ_So.c: Regenerated.
47161         * tests/unictype/test-ctype_alnum.c: Regenerated.
47162         * tests/unictype/test-ctype_alpha.c: Regenerated.
47163         * tests/unictype/test-ctype_graph.c: Regenerated.
47164         * tests/unictype/test-ctype_lower.c: Regenerated.
47165         * tests/unictype/test-ctype_print.c: Regenerated.
47166         * tests/unictype/test-ctype_punct.c: Regenerated.
47167         * tests/unictype/test-ctype_upper.c: Regenerated.
47168         * tests/unictype/test-decdigit.h: Regenerated.
47169         * tests/unictype/test-digit.h: Regenerated.
47170         * tests/unictype/test-numeric.h: Regenerated.
47171         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47172         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47173         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47174         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47175         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47176         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47177         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47178         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47179         * tests/unictype/test-pr_combining.c: Regenerated.
47180         * tests/unictype/test-pr_dash.c: Regenerated.
47181         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47182         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47183         * tests/unictype/test-pr_deprecated.c: Regenerated.
47184         * tests/unictype/test-pr_diacritic.c: Regenerated.
47185         * tests/unictype/test-pr_extender.c: Regenerated.
47186         * tests/unictype/test-pr_format_control.c: Regenerated.
47187         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47188         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47189         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47190         * tests/unictype/test-pr_id_continue.c: Regenerated.
47191         * tests/unictype/test-pr_id_start.c: Regenerated.
47192         * tests/unictype/test-pr_ideographic.c: Regenerated.
47193         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47194         * tests/unictype/test-pr_lowercase.c: Regenerated.
47195         * tests/unictype/test-pr_math.c: Regenerated.
47196         * tests/unictype/test-pr_numeric.c: Regenerated.
47197         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47198         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47199         Regenerated.
47200         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47201         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47202         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47203         * tests/unictype/test-pr_other_math.c: Regenerated.
47204         * tests/unictype/test-pr_punctuation.c: Regenerated.
47205         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47206         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47207         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47208         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47209         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47210         * tests/unictype/test-pr_uppercase.c: Regenerated.
47211         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47212         * tests/unictype/test-pr_xid_start.c: Regenerated.
47213         * tests/unictype/test-pr_zero_width.c: Regenerated.
47214
47215         Update to Unicode 5.1.0.
47216         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47217         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47218         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47219         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47220         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47221         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47222         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47223         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47224         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47225         (nonspacing_table_ind): Update.
47226         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47227
47228         Update to Unicode 5.1.0.
47229         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47230         code transform.
47231         * lib/uniname/uniname.c (unicode_character_name,
47232         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47233         * lib/uniname/uninames.h: Regenerated.
47234         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47235
47236 2009-02-07  Bruno Haible  <bruno@clisp.org>
47237
47238         Merge gen-ctype and gen-lbrk into a single program.
47239         * lib/gen-uni-tables.c: New file, incorporating
47240         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47241         Add directory prefixes to the names of the generated files.
47242         * lib/unictype/gen-ctype.c: Remove file.
47243         * lib/unilbrk/gen-lbrk.c: Remove file.
47244         * modules/gen-uni-tables: New file.
47245         * modules/unictype/gen-ctype: Remove file.
47246         * modules/unilbrk/gen-lbrk: Remove file.
47247
47248 2009-02-07  Bruno Haible  <bruno@clisp.org>
47249
47250         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47251
47252         New module 'unistr/u32-strcoll'.
47253         * modules/unistr/u32-strcoll: New file.
47254         * lib/unistr/u32-strcoll.c: New file.
47255
47256         New module 'unistr/u16-strcoll'.
47257         * modules/unistr/u16-strcoll: New file.
47258         * lib/unistr/u16-strcoll.c: New file.
47259
47260         New module 'unistr/u8-strcoll'.
47261         * modules/unistr/u8-strcoll: New file.
47262         * lib/unistr/u8-strcoll.c: New file.
47263         * lib/unistr/u-strcoll.h: New file.
47264
47265 2009-02-07  Bruno Haible  <bruno@clisp.org>
47266
47267         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47268         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47269         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47270         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47271         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47272         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47273
47274 2009-02-07  Bruno Haible  <bruno@clisp.org>
47275
47276         Make 64-bit clean.
47277         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47278         output_combclass, output_bidi_category, output_decimal_digit,
47279         output_digit, output_numeric, output_mirror, output_scripts,
47280         output_ident_category): Use proper width specifier in format strings.
47281
47282 2009-02-07  Bruno Haible  <bruno@clisp.org>
47283
47284         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47285         failure behaviour.
47286
47287 2009-02-07  Jim Meyering  <meyering@redhat.com>
47288
47289         regex: avoid compilation failure with upcoming gcc-4.4
47290         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47291         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47292         "... error: integer overflow in preprocessor expression".
47293
47294 2009-02-05  Ben Pfaff  <blp@gnu.org>
47295
47296         Fix link errors on Windows when close module is used.
47297         * modules/close: Add $(LIB_CLOSE) to Link section.
47298         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47299         $(LIB_CLOSE) on Windows.
47300
47301 2009-02-05  Jim Meyering  <meyering@redhat.com>
47302
47303         still avoid unused-parameter warnings, but do it cleanly
47304         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47305         (get_fs_usage): Cast to void instead.
47306         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47307         (dev_from_mount_options, read_file_system_list): Cast to void.
47308         Prompted by Bruno Haible.
47309
47310 2009-02-04  Jim Meyering  <meyering@redhat.com>
47311
47312         fsusage.c: correct copyright year
47313         * lib/fsusage.c: Reflect year in which the change is pushed into
47314
47315         avoid misc. warnings
47316         * lib/fsusage.c (UNUSED_PARAM): Define.
47317         (get_fs_usage): Mark parameter "disk" as unused.
47318         * lib/getugroups.c (getgrent): Use "void" in prototype.
47319         * lib/mountlist.c: Mark unused parameters.
47320         (read_file_system_list): Declare a local with "const".
47321         * lib/nanosleep.c (getnow): Declare static.
47322         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47323
47324         dirfd: set errno upon failure
47325         * lib/dirfd.c: Include <errno.h>.
47326         Set errno to ENOTSUP when returning -1.
47327         * modules/dirfd (Depends-on): Add errno.
47328         Suggested by John Kodis <kodis@comcast.net>.
47329
47330 2009-02-01  Bruno Haible  <bruno@clisp.org>
47331
47332         Don't assume sizeof (long) >= sizeof (void *).
47333         * lib/memcmp.c: Include stdint.h.
47334         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47335         srcp2 to 'const byte *'.
47336         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47337         types to uintptr_t.
47338         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47339         * modules/memcmp (Depends-on): Add stdint.
47340         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47341
47342 2009-01-30  Eric Blake  <ebb9@byu.net>
47343
47344         fix more require-before-expand issues
47345         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47346         expand, AC_PROG_AWK.
47347         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47348
47349 2009-01-28  Eric Blake  <ebb9@byu.net>
47350
47351         version-etc: use consistent URL formatting
47352         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47353         Improve formatting.  Use fputs for string without %.
47354
47355 2009-01-28  Jim Meyering  <meyering@redhat.com>
47356
47357         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47358         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47359         "underquoted definition of NAME" from autoconf-2.59.
47360
47361 2009-01-28  Bruno Haible  <bruno@clisp.org>
47362
47363         * doc/gnulib.texi: Add "Obsolete modules" to index.
47364
47365 2009-01-28  Jim Meyering  <meyering@redhat.com>
47366
47367         useless-if-before-free: recognize more variants
47368         * build-aux/useless-if-before-free: Also recognize e.g.,
47369         if (NULL != p) free (p);
47370
47371 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47372
47373         test-getaddrinfo: skip (don't fail) this test when there's no network
47374         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47375         on the presumption that it means you lack network access.
47376
47377 2009-01-26  Jim Meyering  <meyering@redhat.com>
47378
47379         fflush: avoid warnings on modern systems
47380         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47381         pos and result, into scopes where they're used.
47382
47383 2009-01-26  Eric Blake  <ebb9@byu.net>
47384
47385         Silence warning reintroduced by recent extensions patch.
47386         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47387         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47388         autoconf.
47389
47390         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47391         * m4/00gnulib.m4: New file.
47392         * gnulib-tool (func_get_filelist): Always use it.
47393         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
47394         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
47395
47396 2009-01-25  Bruno Haible  <bruno@clisp.org>
47397
47398         Make test-quotearg work on MacOS X and AIX.
47399         * tests/test-quotearg.sh: New file.
47400         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
47401         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
47402         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
47403         include <libintl.h>.
47404         (fake_locale): Remove variable.
47405         (gettext, dgettext, dcgettext): Remove functions.
47406         (main): Instead of setting a fake locale, set a real locale. Call
47407         textdomain and bindtextdomain.
47408         * modules/quotearg-tests (Files): Add the new files.
47409         (Depends-on): Add gettext, setenv, unsetenv.
47410         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47411         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
47412         Augment TESTS_ENVIRONMENT.
47413
47414 2009-01-25  Bruno Haible  <bruno@clisp.org>
47415
47416         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
47417         fr_FR.ISO8859-1 locale on MacOS X.
47418         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
47419         ja_JP.eucJP locale on MacOS X.
47420         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
47421         zh_CN.GB18030 locale on MacOS X.
47422
47423 2009-01-25  Bruno Haible  <bruno@clisp.org>
47424
47425         Avoid link errors on MacOS X 10.3.
47426         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
47427         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47428
47429 2009-01-25  Bruno Haible  <bruno@clisp.org>
47430
47431         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47432         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
47433         * modules/pipe (Files): Remove m4/posix_spawn.m4.
47434         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47435         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
47436         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47437         posix_spawnattr_init, posix_spawnattr_setsigmask,
47438         posix_spawnattr_setflags, posix_spawnattr_destroy.
47439
47440         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47441         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
47442         * modules/execute (Files): Remove m4/posix_spawn.m4.
47443         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47444         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47445         posix_spawnattr_init, posix_spawnattr_setsigmask,
47446         posix_spawnattr_setflags, posix_spawnattr_destroy.
47447
47448 2009-01-25  Bruno Haible  <bruno@clisp.org>
47449
47450         * lib/glthread/threadlib.c: Include <stdlib.h>.
47451
47452 2009-01-25  Bruno Haible  <bruno@clisp.org>
47453
47454         * lib/glthread/threadlib.c (dummy): New declaration.
47455
47456 2009-01-25  Bruno Haible  <bruno@clisp.org>
47457
47458         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
47459         multibyte characters also for the GB18030 encoding. Don't crash when
47460         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
47461
47462 2009-01-25  Bruno Haible  <bruno@clisp.org>
47463
47464         Avoid redefining 'struct random_data' on OSF/1 5.1.
47465         * lib/stdlib.in.h: Include <random.h> if it exists.
47466         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
47467         HAVE_RANDOM_H. Include <random.h> when testing whether
47468         'struct random_data' exists.
47469         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
47470
47471 2009-01-25  Bruno Haible  <bruno@clisp.org>
47472
47473         Don't install charset.alias on MacOS X >= 10.3.
47474         * lib/localcharset.c (DARWIN7): New macro.
47475         (get_charset_aliases): Hardcode the result for Darwin7.
47476         * modules/localcharset (install-exec-local): Don't install
47477         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
47478
47479 2009-01-25  Bruno Haible  <bruno@clisp.org>
47480
47481         Don't install charset.alias on mingw and Cygwin.
47482         * modules/localcharset (install-exec-local): Don't install
47483         charset.alias on mingw and Cygwin, if the file does not yet exist.
47484         The result for these platforms is hardcoded in localcharset.c.
47485
47486 2009-01-25  Bruno Haible  <bruno@clisp.org>
47487
47488         Make it possible again to use AC_GNU_SOURCE together with gnulib.
47489         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
47490         before requiring AC_USE_SYSTEM_EXTENSIONS.
47491
47492 2009-01-25  Jim Meyering  <meyering@redhat.com>
47493
47494         c-strtod: avoid warnings
47495         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
47496         "assignment discards qualifiers from pointer target type" warnings.
47497
47498 2009-01-24  Bruno Haible  <bruno@clisp.org>
47499
47500         Add support for non-UTF-8 locales on MacOS X.
47501         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
47502         canonical encodings. For Darwin 7 and newer, don't map traditional
47503         encodings to UTF-8.
47504         Reported by Vincent Lefevre <vincent@vinc17.org>
47505         at <http://savannah.gnu.org/bugs/?25235>.
47506
47507 2009-01-24  Bruno Haible  <bruno@clisp.org>
47508
47509         * doc/gnulib.texi (Obsolete modules): New section.
47510         Reported by Mike Frysinger <vapier@gentoo.org>.
47511
47512 2009-01-24  Bruno Haible  <bruno@clisp.org>
47513
47514         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
47515         (%.dvi): New rule.
47516
47517 2009-01-24  Bruno Haible  <bruno@clisp.org>
47518
47519         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
47520         Reported by Eric Blake.
47521
47522 2009-01-24  Bruno Haible  <bruno@clisp.org>
47523
47524         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
47525         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
47526         Reported by Gary V. Vaughan <gary@gnu.org>.
47527
47528 2009-01-24  Bruno Haible  <bruno@clisp.org>
47529
47530         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
47531
47532 2009-01-23  Bruno Haible  <bruno@clisp.org>
47533
47534         Make c-strtod, c-strtold usable in libraries.
47535         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47536         (C_STRTOD): Call strdup instead of xstrdup.
47537         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47538         * modules/c-strtold (Depends-on): Likewise.
47539         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47540         * NEWS: Mention the change.
47541         Reported by Michael Gold <mgold@ncf.ca>.
47542
47543 2009-01-23  Jim Meyering  <meyering@redhat.com>
47544
47545         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47546         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47547         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47548
47549 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47550
47551         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47552         GNU CoreUtils.
47553         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47554         * modules/version-etc (Description): Update.
47555
47556 2009-01-22  Bruno Haible  <bruno@clisp.org>
47557
47558         Cache the C locale object.
47559         * lib/c-strtod.c (c_locale_cache): New variable.
47560         (c_locale): New function.
47561         (C_STRTOD): Use it, and don't call freelocale.
47562         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47563         Suggested by Paolo Bonzini.
47564
47565 2009-01-21  Bruno Haible  <bruno@clisp.org>
47566
47567         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47568         conditions other than overflow.
47569
47570 2009-01-21  Bruno Haible  <bruno@clisp.org>
47571
47572         * lib/c-strtod.c: Include errno.h.
47573         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47574         value from STRTOD_L and STRTOD.
47575
47576 2009-01-21  Bruno Haible  <bruno@clisp.org>
47577         and Jim Meyering  <meyering@redhat.com>
47578
47579         nanosleep: skip configure test (fail it) for apple universal builds
47580         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47581         universal builds, assume that nanosleep does not work.
47582         * modules/nanosleep (Depends-on): Add multiarch.
47583
47584         mktime: skip configure test (fail it) for apple universal builds
47585         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47586         universal builds, assume that mktime does not work.
47587         * modules/mktime (Depends-on): Add multiarch.
47588
47589 2009-01-21  Eric Blake  <ebb9@byu.net>
47590
47591         multiarch: avoid expand-before-require warning
47592         * modules/multiarch (configure.ac): Require, rather than expand,
47593         gl_MULTIARCH.
47594         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47595         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47596         enforce that all clients require it.  Partial reversion of
47597         2008-12-29 patch.
47598
47599         error: avoid expand-before-require warning
47600         * modules/errno (configure.ac): Require, rather than expand,
47601         gl_HEADER_ERRNO_H.
47602         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47603         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47604         enforce that all clients require it.
47605
47606         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47607         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47608         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47609         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47610
47611 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47612
47613         Revert:
47614         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47615
47616         regex: do not depend on obsolete modules.
47617         * modules/regex: Remove memcmp and memmove.
47618
47619 2009-01-20  Bruno Haible  <bruno@clisp.org>
47620
47621         Make the 'link' module link on Windows NT 4.
47622         * lib/link.c (_WIN32_WINNT): Don't define.
47623         (CreateHardLinkFuncType): New type.
47624         (CreateHardLinkFunc, initialized): New variables.
47625         (initialize): New function.
47626         (link): Invoke CreateHardLink indirectly through the function pointer.
47627
47628 2009-01-20  Bruno Haible  <bruno@clisp.org>
47629
47630         Fix compilation failure on mingw.
47631         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47632
47633 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47634
47635         * doc/c-strtod.texi: Mention a couple of restrictions.
47636
47637 2009-01-20  Jim Meyering  <meyering@redhat.com>
47638
47639         gettimeofday: move more declarations out of functions
47640         * lib/gettimeofday.c: Move extern declarations of tzset and
47641         gmtime out of containing functions.  Prompted by Bruno Haible.
47642
47643 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47644
47645         regex: do not depend on obsolete modules.
47646         * modules/regex: Remove memcmp and memmove.
47647
47648 2009-01-19  Bruno Haible  <bruno@clisp.org>
47649
47650         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47651         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47652         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47653         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47654         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47655
47656 2009-01-19  Bruno Haible  <bruno@clisp.org>
47657
47658         * tests/test-link.c: Include <errno.h>.
47659         (main): Exit with code 77 when a hard link cannot be created due to
47660         the file system.
47661         * tests/test-link.sh: Skip test when a hard link cannot be created due
47662         to the file system.
47663         Suggested by Eric Blake.
47664
47665 2009-01-19  Martin Lambers  <marlam@marlam.de>
47666
47667         * modules/link-tests: New file.
47668         * tests/test-link.sh: New file.
47669         * tests/test-link.c: New file.
47670
47671 2009-01-19  Eric Blake  <ebb9@byu.net>
47672
47673         doc: mention another function added in cygwin 1.7.0
47674         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47675         Another new function in cygwin 1.7.
47676
47677 2009-01-19  Bruno Haible  <bruno@clisp.org>
47678
47679         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47680         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47681         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47682         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47683         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47684         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47685         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47686         * m4/md4.m4 (gl_MD4): Likewise.
47687         * m4/md5.m4 (gl_MD5): Likewise.
47688         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47689         * m4/sha1.m4 (gl_SHA1): Likewise.
47690         * m4/sha256.m4 (gl_SHA256): Likewise.
47691         * m4/sha512.m4 (gl_SHA512): Likewise.
47692
47693 2009-01-19  Bruno Haible  <bruno@clisp.org>
47694
47695         * modules/uniname/uniname-tests (Depends-on): Add progname.
47696         * tests/uniname/test-uninames.c: Include progname.h.
47697         (main): Call set_program_name.
47698
47699         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47700         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47701         (main): Call set_program_name.
47702
47703         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47704         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47705         (main): Call set_program_name.
47706
47707         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47708         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47709         (main): Call set_program_name.
47710
47711         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47712         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47713         (main): Call set_program_name.
47714
47715         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47716         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47717         (main): Call set_program_name.
47718
47719         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47720         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47721         (main): Call set_program_name.
47722
47723         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47724         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47725         (main): Call set_program_name.
47726
47727         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47728         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47729         (main): Call set_program_name.
47730
47731 2009-01-19  Eric Blake  <ebb9@byu.net>
47732
47733         test-unistd: test previous patch
47734         * tests/test-unistd.c: Test *_FILENO macros.
47735
47736         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47737         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47738         Guarantee a definition.
47739         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47740         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47741         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47742         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47743         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47744         Likewise.
47745         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47746         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47747         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47748         Likewise.
47749         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47750         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47751         (STDERR_FILENO): Likewise.
47752         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47753         (STDERR_FILENO): Likewise.
47754         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47755         (STDERR_FILENO): Likewise.
47756         Reported by Elbert Pol.
47757
47758 2009-01-19  Eric Blake  <ebb9@byu.net>
47759
47760         doc: mention more functions added in cygwin 1.7.0
47761         * doc/posix-functions/abort.texi (abort): Update wording related
47762         to cygwin.
47763         * doc/posix-functions/daylight.texi (daylight): Likewise.
47764         * doc/posix-functions/optarg.texi (optarg): Likewise.
47765         * doc/posix-functions/optarg.texi (opterr): Likewise.
47766         * doc/posix-functions/optarg.texi (optind): Likewise.
47767         * doc/posix-functions/optarg.texi (optopt): Likewise.
47768         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47769         worked in 1.5.x, and was withdrawn in 1.7.
47770         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47771         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47772         cygwin versions.
47773         * doc/posix-functions/perror.texi (perror): Likewise.
47774         * doc/posix-functions/printf.texi (printf): Likewise.
47775         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47776         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47777         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47778         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47779         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47780         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47781         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47782         Likewise.
47783         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47784         Likewise.
47785         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47786         this function.
47787         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47788         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47789         Likewise.
47790         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47791         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47792         * doc/posix-functions/confstr.texi (confstr): Likewise.
47793         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47794         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47795         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47796         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47797         * doc/posix-functions/fputws.texi (fputws): Likewise.
47798         * doc/posix-functions/fwide.texi (fwide): Likewise.
47799         * doc/posix-functions/getwc.texi (getwc): Likewise.
47800         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47801         * doc/posix-functions/putwc.texi (putwc): Likewise.
47802         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47803         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47804         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47805         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47806         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47807         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47808         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47809         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47810         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47811         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47812         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47813
47814 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47815
47816         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47817         * lib/ioctl.c: Include <sys/ioctl.h>.
47818
47819 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47820
47821         * modules/getdate-tests (Depends-on): Add progname.
47822         * tests/test-getdate.c: Use progname module, to avoid link errors
47823         on non-glibc systems.
47824
47825 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47826
47827         * modules/filenamecat-tests (Depends-on): Add progname.
47828         * modules/fstrcmp-tests (Depends-on): Likewise.
47829
47830         * tests/test-filenamecat.c: Use progname module, to avoid link
47831         errors on non-glibc systems.
47832         * tests/test-fstrcmp.c: Likewise.
47833
47834 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47835
47836         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47837         * lib/gettimeofday.c: Move extern declaration out of function.
47838
47839 2009-01-18  Bruno Haible  <bruno@clisp.org>
47840
47841         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47842         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47843         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47844
47845 2009-01-18  Bruno Haible  <bruno@clisp.org>
47846
47847         * lib/strftime.c (MEMPCPY): Remove unused macro.
47848         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47849
47850 2009-01-18  Martin Lambers  <marlam@marlam.de>
47851
47852         New module 'link'.
47853         * lib/unistd.in.h (link): New declaration.
47854         * lib/link.c: New file.
47855         * m4/link.m4: New file.
47856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47857         HAVE_LINK.
47858         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47859         * modules/link: New file.
47860         * doc/posix-functions/link.texi: Mention the new module.
47861
47862 2009-01-18  Bruno Haible  <bruno@clisp.org>
47863
47864         * tests/test-avltree_list.c (main): Call set_program_name.
47865         * tests/test-avltree_oset.c (main): Likewise.
47866         * tests/test-obstack-printf.c: Include progname.h.
47867         (main): Call set_program_name.
47868         * tests/test-quotearg.c: Include progname.h.
47869         (main): Call set_program_name.
47870         * tests/test-xmemdup0.c: Include progname.h.
47871         (main): Call set_program_name.
47872
47873 2009-01-18  Bruno Haible  <bruno@clisp.org>
47874
47875         New module 'alphasort'.
47876         * lib/dirent.in.h (alphasort): New declaration.
47877         * lib/alphasort.c: New file, from glibc with modifications.
47878         * m4/alphasort.m4: New file.
47879         * modules/alphasort: New file.
47880         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47881         HAVE_ALPHASORT.
47882         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47883         HAVE_ALPHASORT.
47884         * doc/posix-functions/alphasort.texi: Mention the new module and the
47885         portability problems.
47886
47887 2009-01-18  Bruno Haible  <bruno@clisp.org>
47888
47889         New module 'scandir'.
47890         * lib/dirent.in.h (scandir): New declaration.
47891         * lib/scandir.c: New file, from glibc with modifications.
47892         * m4/scandir.m4: New file.
47893         * modules/scandir: New file.
47894         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47895         HAVE_SCANDIR.
47896         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47897         HAVE_SCANDIR.
47898         * doc/posix-functions/scandir.texi: Mention the new module and the
47899         portability problems.
47900
47901 2009-01-17  Bruno Haible  <bruno@clisp.org>
47902
47903         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
47904         Update documentation.
47905         (func_remove_suffix): Escape all dots in the suffix. Update
47906         documentation.
47907         (func_filter_filelist): Update documentation.
47908         Reported by Ralf Wildenhues.
47909
47910 2009-01-17  Bruno Haible  <bruno@clisp.org>
47911
47912         * modules/dprintf-posix-tests: New file.
47913         * tests/test-dprintf-posix.sh: New file.
47914         * tests/test-dprintf-posix.c: New file.
47915
47916         New modules 'dprintf', 'dprintf-posix'.
47917         * lib/stdio.in.h (dprintf): New declaration.
47918         * lib/dprintf.c: New file.
47919         * m4/dprintf.m4: New file.
47920         * m4/dprintf-posix.m4: New file.
47921         * modules/dprintf: New file.
47922         * modules/dprintf-posix: New file.
47923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
47924         HAVE_DPRINTF, REPLACE_DPRINTF.
47925         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
47926         HAVE_DPRINTF, REPLACE_DPRINTF.
47927         * doc/posix-functions/dprintf.texi: Mention the new modules.
47928
47929 2009-01-17  Bruno Haible  <bruno@clisp.org>
47930
47931         * modules/vdprintf-posix-tests: New file.
47932         * tests/test-vdprintf-posix.sh: New file.
47933         * tests/test-vdprintf-posix.c: New file.
47934
47935         New modules 'vdprintf', 'vdprintf-posix'.
47936         * lib/stdio.in.h (vdprintf): New declaration.
47937         * lib/vdprintf.c: New file.
47938         * m4/vdprintf.m4: New file.
47939         * m4/vdprintf-posix.m4: New file.
47940         * modules/vdprintf: New file.
47941         * modules/vdprintf-posix: New file.
47942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
47943         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47944         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
47945         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47946         * doc/posix-functions/vdprintf.texi: Mention the new modules.
47947
47948 2009-01-17  Bruno Haible  <bruno@clisp.org>
47949
47950         Fix replacement of fopen on mingw.
47951         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
47952         mingw.
47953
47954 2009-01-17  Bruno Haible  <bruno@clisp.org>
47955
47956         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
47957         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
47958
47959 2009-01-17  Bruno Haible  <bruno@clisp.org>
47960
47961         Avoid test-fflush2.sh failure on mingw.
47962         * tests/test-fflush2.c: Include binary-io.h.
47963         (main): Put standard input into binary mode.
47964         * modules/fflush-tests (Depends-on): Add binary-io.
47965
47966 2009-01-17  Bruno Haible  <bruno@clisp.org>
47967
47968         * lib/wchar.in.h: In another particular situation, include only the
47969         system's <wchar.h> file.
47970         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
47971         Reported by Albert Chin-A-Young <china@thewrittenword.com>
47972         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
47973
47974 2009-01-17  Bruno Haible  <bruno@clisp.org>
47975
47976         Support for stripping executables in --enable-relocatable.
47977         * build-aux/install-reloc: Expect one more argument, or an environment
47978         variable RELOC_STRIP_PROG. If set, strip the destination program and
47979         its wrapper.
47980         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
47981         RELOC_STRIP_PROG.
47982         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
47983         to set RELOCATABLE_STRIP.
47984         * NEWS: Mention the new Makefile requirement.
47985
47986 2009-01-17  Bruno Haible  <bruno@clisp.org>
47987
47988         * build-aux/install-reloc: Remove debugging information left over by
47989         C compiler on MacOS X.
47990
47991 2009-01-17  Bruno Haible  <bruno@clisp.org>
47992
47993         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
47994         * lib/progreloc.c (find_executable): Fix type of pointer passed to
47995         _NSGetExecutablePath.
47996
47997 2009-01-16  Jim Meyering  <meyering@redhat.com>
47998
47999         strerror: avoid warnings about discarding "const"
48000         * lib/strerror.c (rpl_strerror): Instead of returning a const
48001         string from each and every "case", use a variable, and add a single
48002         cast after the switch.
48003
48004 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48005
48006         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48007
48008 2009-01-16  Bruno Haible  <bruno@clisp.org>
48009
48010         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48011         array initializer syntax that also works in C++ mode.
48012         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48013
48014 2009-01-16  Jim Meyering  <meyering@redhat.com>
48015
48016         poll: suppress a warning
48017         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48018         to ignore "...unsigned expression < 0 is always false" warnings.
48019
48020 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48021
48022         poll: remove declarations of unused variables
48023         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48024         sockbuf and optlen.
48025
48026 2009-01-15  Bruno Haible  <bruno@clisp.org>
48027
48028         Make fflush-after-ungetc POSIX compliant on BSD systems.
48029         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48030         (clear_ungetc_buffer): Implement also for other systems.
48031         (rpl_fflush): On glibc systems, invoke
48032         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48033         clear_ungetc_buffer after fetching the stream's position, not before.
48034
48035 2009-01-15  Bruno Haible  <bruno@clisp.org>
48036
48037         Make fflush-after-ungetc POSIX compliant on glibc systems.
48038         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48039         after ungetc.
48040         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48041         (rpl_fflush): On glibc systems, simply call the system's fflush
48042         function after clearing the ungetc buffer.
48043         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48044         Instead, lseek only to the end of file, then use the system's fseeko
48045         for the rest. On glibc systems, reset the EOF indicator bit.
48046
48047 2009-01-15  Jim Meyering  <meyering@redhat.com>
48048
48049         openmp.m4: revert quote-adding change, for portability to older autoconf
48050         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48051         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48052         Simon Josefsson noticed the problem when using autoconf-2.61.
48053
48054 2009-01-15  Bruno Haible  <bruno@clisp.org>
48055
48056         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48057         * tests/test-fflush2.c (ASSERT): Always fail.
48058         (main): Add two tests for fflush() after ungetc(), taking into account
48059         the Austin Group's clarification.
48060         Suggested by Eric Blake.
48061
48062 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48063
48064         mktime.m4: remove K&R-style function prototypes
48065         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48066         for the Sun C++ compiler.
48067
48068 2009-01-14  Bruno Haible  <bruno@clisp.org>
48069
48070         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48071         while including <wchar.h>.
48072         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48073         the system's <wchar.h> file.
48074         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48075
48076 2009-01-14  Bruno Haible  <bruno@clisp.org>
48077
48078         * m4/csharp.m4: Don't mention gettext on the serial number line.
48079         * m4/csharpexec.m4: Likewise.
48080         * m4/eaccess.m4: Likewise.
48081         * m4/javaexec.m4: Likewise.
48082         * m4/sig_atomic_t.m4: Likewise.
48083         * m4/tmpdir.m4: Likewise.
48084         * m4/intldir.m4: Bump gettext version.
48085         * m4/lib-ld.m4: Likewise.
48086
48087 2009-01-14  Bruno Haible  <bruno@clisp.org>
48088
48089         * lib/progname.c (set_program_name): Add more comments.
48090         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48091
48092 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48093
48094         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48095         were sys/stat.h does not define it.
48096
48097 2009-01-14  Jim Meyering  <meyering@redhat.com>
48098
48099         many *.m4 files: improve m4 quoting
48100         99% of this change was performed by running the following commands:
48101         git ls-files | grep '\.m4$' | xargs perl -pi \
48102           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48103           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48104           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48105           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48106         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48107         The remainder were to add Copyright dates, increment serial numbers,
48108         undo some changes in comments, exclude m4/intl.m4, and add quotes
48109         around the "1" in ",1" where the unusual spacing prohibited the
48110         above regexps from doing the job.  For more details, see
48111         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48112         * m4/acl.m4: Modified.
48113         * m4/afs.m4: Likewise.
48114         * m4/alloca.m4: Likewise.
48115         * m4/argp.m4: Likewise.
48116         * m4/argz.m4: Likewise.
48117         * m4/atexit.m4: Likewise.
48118         * m4/bison-i18n.m4: Likewise.
48119         * m4/bison.m4: Likewise.
48120         * m4/byteswap.m4: Likewise.
48121         * m4/c-stack.m4: Likewise.
48122         * m4/c-strtod.m4: Likewise.
48123         * m4/calloc.m4: Likewise.
48124         * m4/canonicalize-lgpl.m4: Likewise.
48125         * m4/chown.m4: Likewise.
48126         * m4/clock_time.m4: Likewise.
48127         * m4/codeset.m4: Likewise.
48128         * m4/copy-file.m4: Likewise.
48129         * m4/csharp.m4: Likewise.
48130         * m4/csharpcomp.m4: Likewise.
48131         * m4/csharpexec.m4: Likewise.
48132         * m4/d-ino.m4: Likewise.
48133         * m4/d-type.m4: Likewise.
48134         * m4/dirfd.m4: Likewise.
48135         * m4/double-slash-root.m4: Likewise.
48136         * m4/eaccess.m4: Likewise.
48137         * m4/eealloc.m4: Likewise.
48138         * m4/environ.m4: Likewise.
48139         * m4/errno_h.m4: Likewise.
48140         * m4/euidaccess.m4: Likewise.
48141         * m4/execute.m4: Likewise.
48142         * m4/fatal-signal.m4: Likewise.
48143         * m4/fchdir.m4: Likewise.
48144         * m4/fcntl_h.m4: Likewise.
48145         * m4/fileblocks.m4: Likewise.
48146         * m4/filenamecat.m4: Likewise.
48147         * m4/findprog.m4: Likewise.
48148         * m4/flexmember.m4: Likewise.
48149         * m4/fnmatch.m4: Likewise.
48150         * m4/fopen.m4: Likewise.
48151         * m4/fpending.m4: Likewise.
48152         * m4/fprintf-posix.m4: Likewise.
48153         * m4/free.m4: Likewise.
48154         * m4/frexp.m4: Likewise.
48155         * m4/frexpl.m4: Likewise.
48156         * m4/fsusage.m4: Likewise.
48157         * m4/ftruncate.m4: Likewise.
48158         * m4/gc-camellia.m4: Likewise.
48159         * m4/gc-random.m4: Likewise.
48160         * m4/gc.m4: Likewise.
48161         * m4/getaddrinfo.m4: Likewise.
48162         * m4/getcwd-abort-bug.m4: Likewise.
48163         * m4/getcwd-path-max.m4: Likewise.
48164         * m4/getdate.m4: Likewise.
48165         * m4/getdomainname.m4: Likewise.
48166         * m4/getgroups.m4: Likewise.
48167         * m4/gethostname.m4: Likewise.
48168         * m4/gethrxtime.m4: Likewise.
48169         * m4/getline.m4: Likewise.
48170         * m4/getloadavg.m4: Likewise.
48171         * m4/getndelim2.m4: Likewise.
48172         * m4/getpass.m4: Likewise.
48173         * m4/gettext.m4: Likewise.
48174         * m4/gettime.m4: Likewise.
48175         * m4/gettimeofday.m4: Likewise.
48176         * m4/gnulib-common.m4: Likewise.
48177         * m4/group-member.m4: Likewise.
48178         * m4/host-os.m4: Likewise.
48179         * m4/iconv.m4: Likewise.
48180         * m4/iconv_open.m4: Likewise.
48181         * m4/inet_ntop.m4: Likewise.
48182         * m4/inet_pton.m4: Likewise.
48183         * m4/inline.m4: Likewise.
48184         * m4/intldir.m4: Likewise.
48185         * m4/intlmacosx.m4: Likewise.
48186         * m4/intmax.m4: Likewise.
48187         * m4/intmax_t.m4: Likewise.
48188         * m4/inttypes.m4: Likewise.
48189         * m4/inttypes_h.m4: Likewise.
48190         * m4/inttypes-pri.m4: Likewise.
48191         * m4/isapipe.m4: Likewise.
48192         * m4/isnand.m4: Likewise.
48193         * m4/isnanf.m4: Likewise.
48194         * m4/isnanl.m4: Likewise.
48195         * m4/javacomp.m4: Likewise.
48196         * m4/javaexec.m4: Likewise.
48197         * m4/jm-winsz1.m4: Likewise.
48198         * m4/jm-winsz2.m4: Likewise.
48199         * m4/lchown.m4: Likewise.
48200         * m4/lcmessage.m4: Likewise.
48201         * m4/ldexpl.m4: Likewise.
48202         * m4/lib-ld.m4: Likewise.
48203         * m4/lib-link.m4: Likewise.
48204         * m4/libsigsegv.m4: Likewise.
48205         * m4/link-follow.m4: Likewise.
48206         * m4/localcharset.m4: Likewise.
48207         * m4/locale-fr.m4: Likewise.
48208         * m4/locale-ja.m4: Likewise.
48209         * m4/locale-tr.m4: Likewise.
48210         * m4/locale-zh.m4: Likewise.
48211         * m4/lock.m4: Likewise.
48212         * m4/longlong.m4: Likewise.
48213         * m4/ls-mntd-fs.m4: Likewise.
48214         * m4/lstat.m4: Likewise.
48215         * m4/malloc.m4: Likewise.
48216         * m4/mathl.m4: Likewise.
48217         * m4/mbrtowc.m4: Likewise.
48218         * m4/mbstate_t.m4: Likewise.
48219         * m4/mbswidth.m4: Likewise.
48220         * m4/memchr.m4: Likewise.
48221         * m4/memcmp.m4: Likewise.
48222         * m4/memcpy.m4: Likewise.
48223         * m4/memmem.m4: Likewise.
48224         * m4/memmove.m4: Likewise.
48225         * m4/mempcpy.m4: Likewise.
48226         * m4/memrchr.m4: Likewise.
48227         * m4/memset.m4: Likewise.
48228         * m4/minmax.m4: Likewise.
48229         * m4/mkdir-slash.m4: Likewise.
48230         * m4/mkdtemp.m4: Likewise.
48231         * m4/mktime.m4: Likewise.
48232         * m4/mmap-anon.m4: Likewise.
48233         * m4/mountlist.m4: Likewise.
48234         * m4/nanosleep.m4: Likewise.
48235         * m4/nls.m4: Likewise.
48236         * m4/nocrash.m4: Likewise.
48237         * m4/open.m4: Likewise.
48238         * m4/openat.m4: Likewise.
48239         * m4/openmp.m4: Likewise.
48240         * m4/pathmax.m4: Likewise.
48241         * m4/perl.m4: Likewise.
48242         * m4/physmem.m4: Likewise.
48243         * m4/pipe.m4: Likewise.
48244         * m4/po.m4: Likewise.
48245         * m4/poll.m4: Likewise.
48246         * m4/posixtm.m4: Likewise.
48247         * m4/posixver.m4: Likewise.
48248         * m4/printf-frexp.m4: Likewise.
48249         * m4/printf-frexpl.m4: Likewise.
48250         * m4/printf-posix.m4: Likewise.
48251         * m4/printf-posix-rpl.m4: Likewise.
48252         * m4/printf.m4: Likewise.
48253         * m4/progtest.m4: Likewise.
48254         * m4/putenv.m4: Likewise.
48255         * m4/readline.m4: Likewise.
48256         * m4/readlink.m4: Likewise.
48257         * m4/readutmp.m4: Likewise.
48258         * m4/realloc.m4: Likewise.
48259         * m4/regex.m4: Likewise.
48260         * m4/relocatable.m4: Likewise.
48261         * m4/relocatable-lib.m4: Likewise.
48262         * m4/rename-dest-slash.m4: Likewise.
48263         * m4/rename.m4: Likewise.
48264         * m4/rmdir-errno.m4: Likewise.
48265         * m4/rmdir.m4: Likewise.
48266         * m4/roundf.m4: Likewise.
48267         * m4/roundl.m4: Likewise.
48268         * m4/rpmatch.m4: Likewise.
48269         * m4/save-cwd.m4: Likewise.
48270         * m4/selinux-selinux-h.m4: Likewise.
48271         * m4/setenv.m4: Likewise.
48272         * m4/settime.m4: Likewise.
48273         * m4/sig2str.m4: Likewise.
48274         * m4/sig_atomic_t.m4: Likewise.
48275         * m4/signalblocking.m4: Likewise.
48276         * m4/signbit.m4: Likewise.
48277         * m4/sigpipe.m4: Likewise.
48278         * m4/sockets.m4: Likewise.
48279         * m4/sockpfaf.m4: Likewise.
48280         * m4/st_dm_mode.m4: Likewise.
48281         * m4/stat-time.m4: Likewise.
48282         * m4/stdbool.m4: Likewise.
48283         * m4/stdint.m4: Likewise.
48284         * m4/stdint_h.m4: Likewise.
48285         * m4/stpcpy.m4: Likewise.
48286         * m4/stpncpy.m4: Likewise.
48287         * m4/strcase.m4: Likewise.
48288         * m4/strchrnul.m4: Likewise.
48289         * m4/strcspn.m4: Likewise.
48290         * m4/strdup.m4: Likewise.
48291         * m4/strftime.m4: Likewise.
48292         * m4/strndup.m4: Likewise.
48293         * m4/strnlen.m4: Likewise.
48294         * m4/strpbrk.m4: Likewise.
48295         * m4/strptime.m4: Likewise.
48296         * m4/strsep.m4: Likewise.
48297         * m4/strtod.m4: Likewise.
48298         * m4/strtoimax.m4: Likewise.
48299         * m4/strtok_r.m4: Likewise.
48300         * m4/strtol.m4: Likewise.
48301         * m4/strtoll.m4: Likewise.
48302         * m4/strtoul.m4: Likewise.
48303         * m4/strtoull.m4: Likewise.
48304         * m4/strtoumax.m4: Likewise.
48305         * m4/strverscmp.m4: Likewise.
48306         * m4/threadlib.m4: Likewise.
48307         * m4/timegm.m4: Likewise.
48308         * m4/tm_gmtoff.m4: Likewise.
48309         * m4/tmpdir.m4: Likewise.
48310         * m4/tmpfile.m4: Likewise.
48311         * m4/tzset.m4: Likewise.
48312         * m4/uintmax_t.m4: Likewise.
48313         * m4/unlinkdir.m4: Likewise.
48314         * m4/unlocked-io.m4: Likewise.
48315         * m4/uptime.m4: Likewise.
48316         * m4/userspec.m4: Likewise.
48317         * m4/utimbuf.m4: Likewise.
48318         * m4/utime.m4: Likewise.
48319         * m4/utimes-null.m4: Likewise.
48320         * m4/utimes.m4: Likewise.
48321         * m4/vararrays.m4: Likewise.
48322         * m4/vasnprintf.m4: Likewise.
48323         * m4/vfprintf-posix.m4: Likewise.
48324         * m4/vprintf-posix.m4: Likewise.
48325         * m4/wait-process.m4: Likewise.
48326         * m4/wchar_t.m4: Likewise.
48327         * m4/wint_t.m4: Likewise.
48328         * m4/write-any-file.m4: Likewise.
48329         * m4/yield.m4: Likewise.
48330
48331 2009-01-13  Bruno Haible  <bruno@clisp.org>
48332
48333         Avoid test-copy-file.sh failures when ACL support insufficient.
48334         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48335         TESTS_ENVIRONMENT.
48336         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48337         Reported by Jim Meyering.
48338
48339 2009-01-13  Bruno Haible  <bruno@clisp.org>
48340
48341         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48342         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48343         * modules/unistdio/u8-printf-parse (Files): Likewise.
48344         * modules/unistdio/u32-printf-parse (Files): Likewise.
48345         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48346
48347 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48348
48349         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48350         and m4/inttypes_h.m4 too.
48351
48352 2009-01-12  Eric Blake  <ebb9@byu.net>
48353
48354         tests: IRIX 6.2 cc can't compile -0.0 into .data
48355         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48356         rather than at compile-time.
48357         * tests/test-floorl.c (minus_zero): Likewise.
48358         * tests/test-frexpl.c (minus_zero): Likewise.
48359         * tests/test-isnan.c (minus_zerol): Likewise.
48360         * tests/test-isnanl.h (minus_zero): Likewise.
48361         * tests/test-ldexpl.c (minus_zero): Likewise.
48362         * tests/test-roundl.c (minus_zero): Likewise.
48363         * tests/test-signbit.c (minus_zerol): Likewise.
48364         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48365         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48366         * tests/test-truncl.c (minus_zero): Likewise.
48367         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48368         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48369         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48370
48371 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48372
48373         regex: fix glibc bug 9697
48374         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48375         handling.
48376
48377 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48378
48379         regex: fix glibc bug 697
48380         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48381         being NULL also if there are no backreferences.
48382
48383 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48384
48385         regex: merge glibc changes
48386         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48387         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48388         re_string_skip_chars, re_string_reconstruct): Likewise.
48389         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48390
48391 2009-01-07  Jim Meyering  <meyering@redhat.com>
48392
48393         poll: filter through cppi
48394         * lib/poll.c: Indent cpp directives to reflect nesting.
48395
48396 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
48397
48398         poll: don't return uninitialized
48399         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
48400
48401 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
48402
48403         avoid compile failure on AIX 6.1
48404         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
48405         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
48406
48407 2009-01-04  Jim Meyering  <meyering@redhat.com>
48408
48409         remove duplicate inclusion of <stdio.h>
48410         * tests/test-fprintf-posix.c: Likewise.
48411         * tests/test-printf-posix.c: Likewise.
48412         * tests/test-snprintf-posix.c: Likewise.
48413         * tests/test-sprintf-posix.c: Likewise.
48414         * tests/test-vasprintf-posix.c: Likewise.
48415         * tests/test-vfprintf-posix.c: Likewise.
48416         * tests/test-vprintf-posix.c: Likewise.
48417         * tests/test-vsnprintf-posix.c: Likewise.
48418         * tests/test-vsprintf-posix.c: Likewise.
48419
48420 2009-01-03  Jim Meyering  <meyering@redhat.com>
48421
48422         gnulib-tool: fix sed-based filtering
48423         * gnulib-tool (func_filter_filelist): Remove extra backslash
48424         in sed_fff_filter definition.
48425
48426 2009-01-02  Jim Meyering  <meyering@redhat.com>
48427
48428         strftime: avoid compilation failure on Solaris 2.6
48429         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
48430         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
48431         Don't #define mbrlen or mbsinit, since now they're guaranteed to
48432         be available.  Reported by Tom G. Christensen.  Details in
48433         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
48434
48435 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48436             Bruno Haible  <bruno@clisp.org>
48437
48438         Speed up gnulib-tool by doing more string processing through shell
48439         built-ins.
48440         * gnulib-tool (fast_func_append): New variable.
48441         (func_remove_prefix, func_remove_suffix): New functions.
48442         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
48443         (func_filter_filelist): New function.
48444         (func_get_dependencies): Use func_remove_suffix instead of sed.
48445         (func_get_automake_snippet): Use func_filter_filelist instead of a
48446         subshell and sed invocation.
48447
48448 2009-01-01  Bruno Haible  <bruno@clisp.org>
48449
48450         Fix a security bug.
48451         * gnulib-tool (func_import, import, update): Don't allow the characters
48452         '"', '$', '`', '\' in macro arguments that become part of commands that
48453         are evaluated.
48454
48455 2009-01-01  Bruno Haible  <bruno@clisp.org>
48456
48457         * gnulib-tool (func_reset_sigpipe): Add more comments.
48458
48459 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48460
48461         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
48462         func_emit_tests_Makefile_am, func_import): Abort loops early if we
48463         already know the answer.
48464
48465 2009-01-01  Jim Meyering  <meyering@redhat.com>
48466
48467         * lib/version-etc.c (version_etc_va): Update copyright year.
48468
48469 2008-12-30  Bruno Haible  <bruno@clisp.org>
48470
48471         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
48472         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
48473         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
48474
48475 2008-12-29  Eric Blake  <ebb9@byu.net>
48476
48477         multiarch: avoid autoconf AC_REQUIRE bug
48478         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
48479         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
48480         2.63 and older.
48481         Reported by Bruno Haible, and analyzed in
48482         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
48483
48484 2008-12-29  Bruno Haible  <bruno@clisp.org>
48485
48486         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
48487         files in subdirectories correctly.
48488         Reported by Ralf Wildenhues.
48489
48490 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48491
48492         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
48493         rather than 'join FILE -', for Solaris join.
48494
48495 2008-12-29  Bruno Haible  <bruno@clisp.org>
48496
48497         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
48498         quoting.
48499         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48500         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
48501         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
48502         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
48503         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48504         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48505         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48506         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48507         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48508         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48509         * m4/nls.m4 (AM_NLS): Likewise.
48510         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
48511         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48512         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48513         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48514         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48515         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48516         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
48517         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48518         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48519         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48520         * m4/xsize.m4 (gl_XSIZE): Likewise.
48521         Suggested by Jim Meyering.
48522
48523 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48524
48525         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
48526         * lib/parse-duration.c: use a switch instead of cascading if's.
48527
48528 2008-12-29  Eric Blake  <ebb9@byu.net>
48529
48530         wchar.h: supply WEOF on Irix 5.3
48531         * lib/wchar.in.h (wint_t): Also supply WEOF.
48532         * lib/wctype.in.h (wint_t): Likewise.
48533         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48534         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48535         Reported by Tom G. Christensen.
48536
48537 2008-12-26  Bruno Haible  <bruno@clisp.org>
48538
48539         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48540         i486, i586, i686.
48541
48542 2008-12-26  Bruno Haible  <bruno@clisp.org>
48543
48544         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48545
48546 2008-12-26  Bruno Haible  <bruno@clisp.org>
48547
48548         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48549         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48550         not __STDC_CONSTANT_MACROS.
48551         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48552
48553 2008-12-25  Bruno Haible  <bruno@clisp.org>
48554
48555         Add support for universal builds to vasnprintf.
48556         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48557         universal builds, guess no.
48558         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48559         * modules/vasprintf-posix (Depends-on): Likewise.
48560         * modules/fprintf-posix (Depends-on): Likewise.
48561         * modules/vfprintf-posix (Depends-on): Likewise.
48562         * modules/snprintf-posix (Depends-on): Likewise.
48563         * modules/vsnprintf-posix (Depends-on): Likewise.
48564         * modules/sprintf-posix (Depends-on): Likewise.
48565         * modules/vsprintf-posix (Depends-on): Likewise.
48566         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48567         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48568         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48569         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48570         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48571         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48572         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48573
48574         Add support for universal builds to <inttypes.h>.
48575         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48576         _SCNu64_PREFIX): In Apple
48577         universal builds, define directly, using _LP64.
48578         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48579         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48580         * modules/inttypes (Depends-on): Add multiarch.
48581         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48582
48583         Add support for universal builds to <stdint.h>.
48584         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48585         universal builds, define directly, using _LP64.
48586         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48587         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48588         and size_t.
48589         * modules/stdint (Depends-on): Add multiarch.
48590         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48591
48592         New module 'multiarch'.
48593         * modules/multiarch: New file.
48594         * m4/multiarch.m4: New file.
48595
48596 2008-12-25  Bruno Haible  <bruno@clisp.org>
48597
48598         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48599
48600 2008-12-25  Bruno Haible  <bruno@clisp.org>
48601
48602         * modules/btowc (License): Relicense under LGPLv2+.
48603         * modules/mbsinit (License): Likewise.
48604         * modules/mbrtowc (License): Likewise.
48605         * modules/wcrtomb (License): Likewise.
48606         * modules/streq (License): Likewise.
48607         Reported by David Lutterkort <lutter@redhat.com>.
48608
48609 2008-12-23  Bruno Haible  <bruno@clisp.org>
48610
48611         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48612
48613 2008-12-23  Bruno Haible  <bruno@clisp.org>
48614
48615         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48616         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48617         GETADDRINFO_LIB, not in LIBS.
48618         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48619         * modules/canon-host (Link): Likewise.
48620         * NEWS: Mention the change.
48621         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48622         GETADDRINFO_LIB.
48623
48624 2008-12-22  Bruno Haible  <bruno@clisp.org>
48625
48626         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48627         * doc/posix-functions/iswalpha_l.texi: Likewise.
48628         * doc/posix-functions/iswblank_l.texi: Likewise.
48629         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48630         * doc/posix-functions/iswctype_l.texi: Likewise.
48631         * doc/posix-functions/iswdigit_l.texi: Likewise.
48632         * doc/posix-functions/iswgraph_l.texi: Likewise.
48633         * doc/posix-functions/iswlower_l.texi: Likewise.
48634         * doc/posix-functions/iswprint_l.texi: Likewise.
48635         * doc/posix-functions/iswpunct_l.texi: Likewise.
48636         * doc/posix-functions/iswspace_l.texi: Likewise.
48637         * doc/posix-functions/iswupper_l.texi: Likewise.
48638         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48639         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48640         * doc/posix-functions/open_wmemstream.texi: Likewise.
48641         * doc/posix-functions/swscanf.texi: Likewise.
48642         * doc/posix-functions/towctrans_l.texi: Likewise.
48643         * doc/posix-functions/towlower.texi: Likewise.
48644         * doc/posix-functions/towlower_l.texi: Likewise.
48645         * doc/posix-functions/towupper.texi: Likewise.
48646         * doc/posix-functions/towupper_l.texi: Likewise.
48647         * doc/posix-functions/vfwprintf.texi: Likewise.
48648         * doc/posix-functions/vfwscanf.texi: Likewise.
48649         * doc/posix-functions/vswscanf.texi: Likewise.
48650         * doc/posix-functions/vwprintf.texi: Likewise.
48651         * doc/posix-functions/vwscanf.texi: Likewise.
48652         * doc/posix-functions/wcpcpy.texi: Likewise.
48653         * doc/posix-functions/wcpncpy.texi: Likewise.
48654         * doc/posix-functions/wcscasecmp.texi: Likewise.
48655         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48656         * doc/posix-functions/wcscoll_l.texi: Likewise.
48657         * doc/posix-functions/wcsdup.texi: Likewise.
48658         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48659         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48660         * doc/posix-functions/wcsnlen.texi: Likewise.
48661         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48662         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48663         * doc/posix-functions/wctrans_l.texi: Likewise.
48664         * doc/posix-functions/wctype_l.texi: Likewise.
48665         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48666         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48667         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48668         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48669         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48670         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48671         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48672         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48673         * doc/glibc-functions/wcschrnul.texi: Likewise.
48674         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48675         * doc/glibc-functions/wcstod_l.texi: Likewise.
48676         * doc/glibc-functions/wcstof_l.texi: Likewise.
48677         * doc/glibc-functions/wcstol_l.texi: Likewise.
48678         * doc/glibc-functions/wcstold_l.texi: Likewise.
48679         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48680         * doc/glibc-functions/wcstoq.texi: Likewise.
48681         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48682         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48683         * doc/glibc-functions/wcstouq.texi: Likewise.
48684         * doc/glibc-functions/wmempcpy.texi: Likewise.
48685
48686 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48687             Eric Blake  <ebb9@byu.net>
48688             Paolo Bonzini  <bonzini@gnu.org>
48689             Bruno Haible  <bruno@clisp.org>
48690
48691         Make c-stack work on Haiku.
48692         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48693         (c_stack_action): Use SA_ONSTACK flag.
48694
48695 2008-12-22  Bruno Haible  <bruno@clisp.org>
48696
48697         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48698
48699 2008-12-22  Bruno Haible  <bruno@clisp.org>
48700
48701         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48702         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48703         being overridden.
48704         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48705         New macros.
48706         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48707         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48708         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48709         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48710
48711 2008-12-22  Bruno Haible  <bruno@clisp.org>
48712
48713         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48714         from test code.
48715
48716 2008-12-22  Eric Blake  <ebb9@byu.net>
48717
48718         Avoid gcc warnings on cygwin.
48719         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48720         Avoid unused variable.
48721         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48722         Likewise.
48723
48724 2008-12-22  Bruno Haible  <bruno@clisp.org>
48725
48726         Remove HAVE_MBRTOWC conditionals.
48727         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48728         (mbscasecmp): Assume mbrtowc function.
48729         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48730         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48731         * lib/mbschr.c: Include mbuiter.h unconditionally.
48732         (mbschr): Assume mbrtowc function.
48733         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48734         (mbscspn): Assume mbrtowc function.
48735         * lib/mbslen.c: Include mbuiter.h unconditionally.
48736         (mbslen): Assume mbrtowc function.
48737         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48738         (mbsncasecmp): Assume mbrtowc function.
48739         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48740         (mbsnlen): Assume mbrtowc function.
48741         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48742         (mbspbrk): Assume mbrtowc function.
48743         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48744         (mbspcasecmp): Assume mbrtowc function.
48745         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48746         (mbsrchr): Assume mbrtowc function.
48747         * lib/mbssep.c: Include mbuiter.h unconditionally.
48748         (mbssep): Assume mbrtowc function.
48749         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48750         (mbsspn): Assume mbrtowc function.
48751         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48752         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48753         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48754         (mbstok_r): Assume mbrtowc function.
48755         * lib/propername.c: Include mbuiter.h unconditionally.
48756         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48757         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48758         (trim2): Assume mbrtowc function.
48759         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48760         (mbsnwidth): Assume mbrtowc function.
48761         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48762         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48763         fallback definitions.
48764         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48765
48766 2008-12-22  Bruno Haible  <bruno@clisp.org>
48767
48768         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48769
48770 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48771
48772         * modules/regex: Request emulations for the mb*/wc* functions we need.
48773         * m4/regex.m4: Don't look for those functions here.
48774         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48775
48776 2008-12-22  Bruno Haible  <bruno@clisp.org>
48777
48778         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48779
48780 2008-12-21  Bruno Haible  <bruno@clisp.org>
48781
48782         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48783         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48784         (Include): Remove conditionalization.
48785         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48786         (Include): Remove conditionalization.
48787         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48788         (Include): Remove conditionalization.
48789         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48790         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48791         * NEWS: Mention the change.
48792         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48793         via Sergey Poznyakoff <gray@gnu.org.ua>.
48794
48795 2008-12-21  Bruno Haible  <bruno@clisp.org>
48796
48797         * MODULES.html.sh (Extended multibyte and wide character utilities
48798         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48799         wcrtomb, wcsrtombs.
48800         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48801         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48802         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48803         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48804
48805 2008-12-21  Bruno Haible  <bruno@clisp.org>
48806
48807         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48808
48809 2008-12-21  Bruno Haible  <bruno@clisp.org>
48810
48811         * modules/wcsnrtombs-tests: New file.
48812         * tests/test-wcsnrtombs1.sh: New file.
48813         * tests/test-wcsnrtombs2.sh: New file.
48814         * tests/test-wcsnrtombs3.sh: New file.
48815         * tests/test-wcsnrtombs4.sh: New file.
48816         * tests/test-wcsnrtombs.c: New file.
48817
48818         New module 'wcsnrtombs'.
48819         * lib/wchar.in.h (wcsnrtombs): New declaration.
48820         * lib/wcsnrtombs.c: New file.
48821         * lib/wcsrtombs-state.c: New file.
48822         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48823         (internal_state): Remove variable.
48824         * m4/wcsnrtombs.m4: New file.
48825         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48826         compilation units.
48827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48828         HAVE_WCSNRTOMBS.
48829         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48830         HAVE_WCSNRTOMBS.
48831         * modules/wcsnrtombs: New file.
48832         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48833         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48834
48835 2008-12-21  Bruno Haible  <bruno@clisp.org>
48836
48837         * modules/wcsrtombs-tests: New file.
48838         * tests/test-wcsrtombs1.sh: New file.
48839         * tests/test-wcsrtombs2.sh: New file.
48840         * tests/test-wcsrtombs3.sh: New file.
48841         * tests/test-wcsrtombs4.sh: New file.
48842         * tests/test-wcsrtombs.c: New file.
48843
48844         New module 'wcsrtombs'.
48845         * lib/wchar.in.h (wcsrtombs): New declaration.
48846         * lib/wcsrtombs.c: New file.
48847         * m4/wcsrtombs.m4: New file.
48848         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48849         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48851         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48852         * modules/wcsrtombs: New file.
48853         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48854         bugs.
48855
48856 2008-12-21  Bruno Haible  <bruno@clisp.org>
48857
48858         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48859         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48860         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48861         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48862         if not correct.
48863         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48864         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48865         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48866         m4/locale-zh.m4, m4/codeset.m4.
48867         * doc/posix-functions/wcrtomb.texi: Document the bug.
48868
48869 2008-12-21  Bruno Haible  <bruno@clisp.org>
48870
48871         Work around a btowc() bug on IRIX 6.5.
48872         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48873         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48874         REPLACE_WTOBC if not.
48875         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48876         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48877         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48878
48879 2008-12-21  Bruno Haible  <bruno@clisp.org>
48880
48881         * modules/wcrtomb-tests: New file.
48882         * tests/test-wcrtomb.sh: New file.
48883         * tests/test-wcrtomb.c: New file.
48884
48885         New module 'wcrtomb'.
48886         * lib/wchar.in.h (wcrtomb): New declaration.
48887         * lib/wcrtomb.c: New file.
48888         * m4/wcrtomb.m4: New file.
48889         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48890         HAVE_WCRTOMB.
48891         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48892         HAVE_WCRTOMB.
48893         * modules/wcrtomb: New file.
48894         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48895
48896 2008-12-21  Bruno Haible  <bruno@clisp.org>
48897
48898         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48899         * modules/mbsrtowcs (Files): Likewise.
48900         * modules/wctob (Files): Likewise.
48901         * modules/c-strcase-tests (Files): Likewise.
48902         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48903         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48904         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48905         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48906         * modules/vasnprintf-posix-tests (Files): Likewise.
48907
48908 2008-12-21  William Pursell  <bill.pursell@gmail.com>
48909
48910         gitlog-to-changelog: pass all command-line arguments to git-log
48911         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
48912         it is sometimes convenient to filter the commits in various ways.
48913         gitlog-to-changelog only allows --since to specify a start date,
48914         but git-log itself supports many other filtering mechanisms.
48915         At the moment, I want to filter by branch name.  Rather than
48916         adding a --branch option to gitlog-to-changelog, it seems more
48917         flexible to simply pass all options directly to git-log and let
48918         git do the work.  Notice that this effectively makes --since a
48919         redundant option for gitlog-to-changelog, but removing it would
48920         require current usage to change since calls would then require
48921         an additional '--'.
48922
48923 2008-12-21  Bruno Haible  <bruno@clisp.org>
48924
48925         * modules/mbsnrtowcs-tests: New file.
48926         * tests/test-mbsnrtowcs1.sh: New file.
48927         * tests/test-mbsnrtowcs2.sh: New file.
48928         * tests/test-mbsnrtowcs3.sh: New file.
48929         * tests/test-mbsnrtowcs4.sh: New file.
48930         * tests/test-mbsnrtowcs.c: New file.
48931
48932         New module 'mbsnrtowcs'.
48933         * lib/wchar.in.h (mbsnrtowcs): New declaration.
48934         * lib/mbsnrtowcs.c: New file.
48935         * lib/mbsrtowcs-state.c: New file.
48936         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
48937         (internal_state): Remove variable.
48938         * m4/mbsnrtowcs.m4: New file.
48939         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
48940         compilation units.
48941         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
48942         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48943         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
48944         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48945         * modules/mbsnrtowcs: New file.
48946         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
48947         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
48948         portability problem.
48949
48950 2008-12-21  Bruno Haible  <bruno@clisp.org>
48951
48952         Work around mbsrtowcs bug.
48953         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
48954         (gl_FUNC_MBSRTOWCS): Invoke it.
48955         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48956         m4/locale-zh.m4.
48957         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
48958
48959 2008-12-21  Bruno Haible  <bruno@clisp.org>
48960
48961         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
48962
48963 2008-12-21  Bruno Haible  <bruno@clisp.org>
48964
48965         Update doc for AIX.
48966         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
48967         16-bit wchar_t type.
48968         * doc/posix-functions/btowc.texi: Likewise.
48969         * doc/posix-functions/fgetwc.texi: Likewise.
48970         * doc/posix-functions/fgetws.texi: Likewise.
48971         * doc/posix-functions/fputwc.texi: Likewise.
48972         * doc/posix-functions/fputws.texi: Likewise.
48973         * doc/posix-functions/fwide.texi: Likewise.
48974         * doc/posix-functions/fwprintf.texi: Likewise.
48975         * doc/posix-functions/fwscanf.texi: Likewise.
48976         * doc/posix-functions/getwchar.texi: Likewise.
48977         * doc/posix-functions/getwc.texi: Likewise.
48978         * doc/posix-functions/iswalnum.texi: Likewise.
48979         * doc/posix-functions/iswalpha.texi: Likewise.
48980         * doc/posix-functions/iswblank.texi: Likewise.
48981         * doc/posix-functions/iswcntrl.texi: Likewise.
48982         * doc/posix-functions/iswctype.texi: Likewise.
48983         * doc/posix-functions/iswdigit.texi: Likewise.
48984         * doc/posix-functions/iswgraph.texi: Likewise.
48985         * doc/posix-functions/iswlower.texi: Likewise.
48986         * doc/posix-functions/iswprint.texi: Likewise.
48987         * doc/posix-functions/iswpunct.texi: Likewise.
48988         * doc/posix-functions/iswspace.texi: Likewise.
48989         * doc/posix-functions/iswupper.texi: Likewise.
48990         * doc/posix-functions/iswxdigit.texi: Likewise.
48991         * doc/posix-functions/mbrtowc.texi: Likewise.
48992         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48993         * doc/posix-functions/mbstowcs.texi: Likewise.
48994         * doc/posix-functions/mbtowc.texi: Likewise.
48995         * doc/posix-functions/putwchar.texi: Likewise.
48996         * doc/posix-functions/putwc.texi: Likewise.
48997         * doc/posix-functions/swprintf.texi: Likewise.
48998         * doc/posix-functions/tolower.texi: Likewise.
48999         * doc/posix-functions/toupper.texi: Likewise.
49000         * doc/posix-functions/towctrans.texi: Likewise.
49001         * doc/posix-functions/ungetwc.texi: Likewise.
49002         * doc/posix-functions/vswprintf.texi: Likewise.
49003         * doc/posix-functions/wcrtomb.texi: Likewise.
49004         * doc/posix-functions/wcscat.texi: Likewise.
49005         * doc/posix-functions/wcschr.texi: Likewise.
49006         * doc/posix-functions/wcscmp.texi: Likewise.
49007         * doc/posix-functions/wcscoll.texi: Likewise.
49008         * doc/posix-functions/wcscpy.texi: Likewise.
49009         * doc/posix-functions/wcscspn.texi: Likewise.
49010         * doc/posix-functions/wcsftime.texi: Likewise.
49011         * doc/posix-functions/wcslen.texi: Likewise.
49012         * doc/posix-functions/wcsncat.texi: Likewise.
49013         * doc/posix-functions/wcsncmp.texi: Likewise.
49014         * doc/posix-functions/wcsncpy.texi: Likewise.
49015         * doc/posix-functions/wcspbrk.texi: Likewise.
49016         * doc/posix-functions/wcsrchr.texi: Likewise.
49017         * doc/posix-functions/wcsrtombs.texi: Likewise.
49018         * doc/posix-functions/wcsspn.texi: Likewise.
49019         * doc/posix-functions/wcsstr.texi: Likewise.
49020         * doc/posix-functions/wcstod.texi: Likewise.
49021         * doc/posix-functions/wcstof.texi: Likewise.
49022         * doc/posix-functions/wcstoimax.texi: Likewise.
49023         * doc/posix-functions/wcstok.texi: Likewise.
49024         * doc/posix-functions/wcstold.texi: Likewise.
49025         * doc/posix-functions/wcstoll.texi: Likewise.
49026         * doc/posix-functions/wcstol.texi: Likewise.
49027         * doc/posix-functions/wcstombs.texi: Likewise.
49028         * doc/posix-functions/wcstoull.texi: Likewise.
49029         * doc/posix-functions/wcstoul.texi: Likewise.
49030         * doc/posix-functions/wcstoumax.texi: Likewise.
49031         * doc/posix-functions/wcswidth.texi: Likewise.
49032         * doc/posix-functions/wcsxfrm.texi: Likewise.
49033         * doc/posix-functions/wctob.texi: Likewise.
49034         * doc/posix-functions/wctomb.texi: Likewise.
49035         * doc/posix-functions/wctrans.texi: Likewise.
49036         * doc/posix-functions/wctype.texi: Likewise.
49037         * doc/posix-functions/wcwidth.texi: Likewise.
49038         * doc/posix-functions/wmemchr.texi: Likewise.
49039         * doc/posix-functions/wmemcmp.texi: Likewise.
49040         * doc/posix-functions/wmemcpy.texi: Likewise.
49041         * doc/posix-functions/wmemmove.texi: Likewise.
49042         * doc/posix-functions/wmemset.texi: Likewise.
49043         * doc/posix-functions/wprintf.texi: Likewise.
49044         * doc/posix-functions/wscanf.texi: Likewise.
49045
49046 2008-12-21  Bruno Haible  <bruno@clisp.org>
49047
49048         Update doc for HP-UX 11.11.
49049         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49050         in HP-UX version 11.00, not in all versions of HP-UX 11.
49051         * doc/posix-functions/fwide.texi: Likewise.
49052         * doc/posix-functions/fwprintf.texi: Likewise.
49053         * doc/posix-functions/fwscanf.texi: Likewise.
49054         * doc/posix-functions/inet_ntop.texi: Likewise.
49055         * doc/posix-functions/inet_pton.texi: Likewise.
49056         * doc/posix-functions/mbrlen.texi: Likewise.
49057         * doc/posix-functions/mbrtowc.texi: Likewise.
49058         * doc/posix-functions/mbsinit.texi: Likewise.
49059         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49060         * doc/posix-functions/swprintf.texi: Likewise.
49061         * doc/posix-functions/swscanf.texi: Likewise.
49062         * doc/posix-functions/towctrans.texi: Likewise.
49063         * doc/posix-functions/vfwprintf.texi: Likewise.
49064         * doc/posix-functions/vswprintf.texi: Likewise.
49065         * doc/posix-functions/vwprintf.texi: Likewise.
49066         * doc/posix-functions/wcrtomb.texi: Likewise.
49067         * doc/posix-functions/wcsrtombs.texi: Likewise.
49068         * doc/posix-functions/wcsstr.texi: Likewise.
49069         * doc/posix-functions/wctob.texi: Likewise.
49070         * doc/posix-functions/wctrans.texi: Likewise.
49071         * doc/posix-functions/wmemchr.texi: Likewise.
49072         * doc/posix-functions/wmemcmp.texi: Likewise.
49073         * doc/posix-functions/wmemcpy.texi: Likewise.
49074         * doc/posix-functions/wmemmove.texi: Likewise.
49075         * doc/posix-functions/wmemset.texi: Likewise.
49076         * doc/posix-functions/wprintf.texi: Likewise.
49077         * doc/posix-functions/wscanf.texi: Likewise.
49078
49079 2008-12-21  Bruno Haible  <bruno@clisp.org>
49080
49081         Work around a portability problem.
49082         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49083         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49084
49085 2008-12-20  Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49088         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49089         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49090         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49091         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49092
49093         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49094         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49095         set.
49096         (GNULIB_defined_mbstate_t): New macro.
49097         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49098         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49099         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49100         reuses the system's mbrtowc function but works around the bugs.
49101         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49102         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49103         macros.
49104         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49105         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49106         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49107         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49108         REPLACE_MBSINIT if mbsinit needs to be overridden.
49109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49110         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49111         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49112         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49113         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49114         m4/locale-zh.m4.
49115         (Depends): Add mbsinit.
49116         * modules/mbsinit (Depends): Add mbrtowc.
49117         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49118
49119 2008-12-20  Bruno Haible  <bruno@clisp.org>
49120
49121         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49122         so that there are no conversion errors on AIX.
49123         * tests/test-mbsrtowcs.c (main): LIkewise.
49124
49125 2008-12-20  Bruno Haible  <bruno@clisp.org>
49126
49127         Work around wctob bug on Solaris <= 9.
49128         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49129         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49131         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49132         * modules/wctob (Files): Add m4/locale-fr.m4.
49133         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49134
49135 2008-12-20  Bruno Haible  <bruno@clisp.org>
49136
49137         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49138         /dev/null.
49139         * tests/test-select-in.sh: Likewise.
49140         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49141
49142 2008-12-20  Bruno Haible  <bruno@clisp.org>
49143
49144         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49145         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49146         Cygwin 1.5.x.
49147
49148 2008-12-20  Bruno Haible  <bruno@clisp.org>
49149
49150         Ensure mbstate_t is defined on HP-UX 11.11.
49151         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49152         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49153         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49154         AC_USE_SYSTEM_EXTENSIONS.
49155         * modules/fnmatch (Depends-on): Add extensions.
49156         * modules/mbrlen (Depends-on): Likewise.
49157         * modules/mbrtowc (Depends-on): Likewise.
49158         * modules/mbsinit (Depends-on): Likewise.
49159         * modules/mbsrtowcs (Depends-on): Likewise.
49160         * modules/mbswidth (Depends-on): Likewise.
49161         * modules/quotearg (Depends-on): Likewise.
49162         * modules/strftime (Depends-on): Likewise.
49163
49164 2008-12-20  Bruno Haible  <bruno@clisp.org>
49165
49166         Ensure wctob is declared on IRIX 6.5.
49167         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49168         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49169         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49170         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49171         of HAVE_WCTOB.
49172         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49173         HAVE_WCTOB.
49174         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49175
49176 2008-12-19  Bruno Haible  <bruno@clisp.org>
49177
49178         * modules/mbsrtowcs-tests: New file.
49179         * tests/test-mbsrtowcs1.sh: New file.
49180         * tests/test-mbsrtowcs2.sh: New file.
49181         * tests/test-mbsrtowcs3.sh: New file.
49182         * tests/test-mbsrtowcs4.sh: New file.
49183         * tests/test-mbsrtowcs.c: New file.
49184
49185         New module 'mbsrtowcs'.
49186         * lib/wchar.in.h (mbsrtowcs): New declaration.
49187         * lib/mbsrtowcs.c: New file.
49188         * m4/mbsrtowcs.m4: New file.
49189         * modules/mbsrtowcs: New file.
49190         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49191         HAVE_MBSRTOWCS.
49192         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49193         HAVE_MBSRTOWCS.
49194         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49195
49196 2008-12-19  Bruno Haible  <bruno@clisp.org>
49197
49198         New module 'mbrlen'.
49199         * lib/wchar.in.h (mbrlen): New declaration.
49200         * lib/mbrlen.c: New file.
49201         * m4/mbrlen.m4: New file.
49202         * modules/mbrlen: New file.
49203         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49204         HAVE_MBRLEN.
49205         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49206         HAVE_MBRLEN.
49207         * doc/posix-functions/mbrlen.texi: Document the new module.
49208
49209 2008-12-19  Bruno Haible  <bruno@clisp.org>
49210
49211         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49212         * modules/mbrtowc (Depends-on): Add verify.
49213         Suggested by Paul Eggert.
49214
49215 2008-12-18  Bruno Haible  <bruno@clisp.org>
49216
49217         * modules/mbsinit-tests: New file.
49218         * tests/test-mbsinit.sh: New file.
49219         * tests/test-mbsinit.c: New file.
49220
49221 2008-12-18  Bruno Haible  <bruno@clisp.org>
49222
49223         * modules/mbrtowc-tests: New file.
49224         * tests/test-mbrtowc1.sh: New file.
49225         * tests/test-mbrtowc2.sh: New file.
49226         * tests/test-mbrtowc3.sh: New file.
49227         * tests/test-mbrtowc4.sh: New file.
49228         * tests/test-mbrtowc.c: New file.
49229
49230         New module 'mbrtowc'.
49231         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49232         mbsinit and mbrtowc.
49233         (mbrtowc): New declaration.
49234         * lib/mbrtowc.c: New file.
49235         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49236         * modules/mbrtowc: New file.
49237         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49238         HAVE_MBRTOWC.
49239         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49240         HAVE_MBRTOWC.
49241         * doc/posix-functions/mbrtowc.texi: Document the new module.
49242
49243 2008-12-18  Bruno Haible  <bruno@clisp.org>
49244
49245         New module 'wctob'.
49246         * lib/wchar.in.h (wctob): New declaration.
49247         * lib/wctob.c: New file.
49248         * m4/wctob.m4: New file.
49249         * modules/wctob: New file.
49250         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49251         HAVE_WCTOB.
49252         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49253         * doc/posix-functions/wctob.texi: Document the new module.
49254
49255 2008-12-18  Bruno Haible  <bruno@clisp.org>
49256
49257         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49258         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49259
49260 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49261
49262         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49263         G. Christensen" <tgc@jupiterrise.com>.
49264
49265         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49266         G. Christensen" <tgc@jupiterrise.com>.
49267
49268         * lib/flock.c: Need to include string.h.  Reported by "Tom
49269         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49270         <ebb9@byu.net>.
49271
49272 2008-12-18  Bruno Haible  <bruno@clisp.org>
49273
49274         * m4/locale-ja.m4: New file, from GNU gettext.
49275
49276 2008-12-17  Bruno Haible  <bruno@clisp.org>
49277
49278         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49279         Suggested by Eric Blake.
49280
49281 2008-12-17  Bruno Haible  <bruno@clisp.org>
49282
49283         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49284
49285 2008-12-17  Bruno Haible  <bruno@clisp.org>
49286
49287         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49288         * modules/mbsinit (Depends-on): Add verify.
49289         Suggested by Paul Eggert.
49290
49291 2008-12-17  Bruno Haible  <bruno@clisp.org>
49292
49293         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49294         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49295         gl_FUNC_MBRTOWC.
49296         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49297         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49298         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49299         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49300         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49301         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49302         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49303         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49304         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49305         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49306         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49307         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49308         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49309         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49310         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49311         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49312         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49313         * modules/trim (configure.ac): Likewise.
49314
49315 2008-12-17  Bruno Haible  <bruno@clisp.org>
49316
49317         * modules/btowc-tests: New file.
49318         * tests/test-btowc1.sh: New file.
49319         * tests/test-btowc2.sh: New file.
49320         * tests/test-btowc.c: New file.
49321
49322         New module 'btowc'.
49323         * lib/wchar.in.h (btowc): New declaration.
49324         * lib/btowc.c: New file.
49325         * m4/btowc.m4: New file.
49326         * modules/btowc: New file.
49327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49328         HAVE_BTOWC.
49329         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49330         * doc/posix-functions/btowc.texi: Document the new module.
49331
49332 2008-12-17  Bruno Haible  <bruno@clisp.org>
49333
49334         New module 'mbsinit'.
49335         * lib/wchar.in.h (mbsinit): New declaration.
49336         * lib/mbsinit.c: New file.
49337         * m4/mbsinit.m4: New file.
49338         * modules/mbsinit: New file.
49339         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49340         HAVE_MBSINIT.
49341         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49342         HAVE_MBSINIT.
49343         * doc/posix-functions/mbsinit.texi: Document the new module.
49344
49345 2008-12-16  Bruno Haible  <bruno@clisp.org>
49346
49347         * lib/unistd.in.h: Add comment.
49348         * tests/test-environ.c: Don't include <stdlib.h>.
49349
49350 2008-12-16  Bruno Haible  <bruno@clisp.org>
49351
49352         * lib/parse-duration.h (parse_duration): Document return value
49353         convention.
49354         * lib/parse-duration.c: Include specification header first. Add
49355         comments.
49356         (_): Remove macro.
49357         (parse_year_month_day, parse_hour_minute_second): Move side effects
49358         outside of strchr call.
49359         (parse_non_iso8601): Move side effects outside of isspace call.
49360         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49361         call.
49362
49363 2008-12-16  Bruno Haible  <bruno@clisp.org>
49364
49365         * tests/test-parse-duration.sh: Produce no output when the test
49366         succeeds.
49367
49368 2008-12-16  Bruno Haible  <bruno@clisp.org>
49369
49370         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49371         expressions.
49372
49373 2008-12-15  Bruno Haible  <bruno@clisp.org>
49374
49375         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49376         * doc/glibc-functions/flistxattr.texi: Likewise.
49377         * doc/glibc-functions/fopencookie.texi: Likewise.
49378         * doc/glibc-functions/fremovexattr.texi: Likewise.
49379         * doc/glibc-functions/fsetxattr.texi: Likewise.
49380         * doc/glibc-functions/getxattr.texi: Likewise.
49381         * doc/glibc-functions/lgetxattr.texi: Likewise.
49382         * doc/glibc-functions/listxattr.texi: Likewise.
49383         * doc/glibc-functions/llistxattr.texi: Likewise.
49384         * doc/glibc-functions/lremovexattr.texi: Likewise.
49385         * doc/glibc-functions/lsetxattr.texi: Likewise.
49386         * doc/glibc-functions/removexattr.texi: Likewise.
49387         * doc/glibc-functions/setxattr.texi: Likewise.
49388         * doc/posix-functions/open_memstream.texi: Likewise.
49389
49390 2008-12-15  Eric Blake  <ebb9@byu.net>
49391
49392         Update doc for cygwin 1.7.
49393         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
49394         functions.
49395         * doc/posix-functions/fchmodat.texi: Likewise.
49396         * doc/posix-functions/fchownat.texi: Likewise.
49397         * doc/posix-functions/fdopendir.texi: Likewise.
49398         * doc/posix-functions/fmemopen.texi: Likewise.
49399         * doc/posix-functions/freeaddrinfo.texi: Likewise.
49400         * doc/posix-functions/fstatat.texi: Likewise.
49401         * doc/posix-functions/futimens.texi: Likewise.
49402         * doc/posix-functions/gai_strerror.texi: Likewise.
49403         * doc/posix-functions/getaddrinfo.texi: Likewise.
49404         * doc/posix-functions/getnameinfo.texi: Likewise.
49405         * doc/posix-functions/if_freenameindex.texi: Likewise.
49406         * doc/posix-functions/if_indextoname.texi: Likewise.
49407         * doc/posix-functions/if_nameindex.texi: Likewise.
49408         * doc/posix-functions/if_nametoindex.texi: Likewise.
49409         * doc/posix-functions/insque.texi: Likewise.
49410         * doc/posix-functions/linkat.texi: Likewise.
49411         * doc/posix-functions/llrint.texi: Likewise.
49412         * doc/posix-functions/llrintf.texi: Likewise.
49413         * doc/posix-functions/llrintl.texi: Likewise.
49414         * doc/posix-functions/lockf.texi: Likewise.
49415         * doc/posix-functions/lrintl.texi: Likewise.
49416         * doc/posix-functions/mkdirat.texi: Likewise.
49417         * doc/posix-functions/mkfifoat.texi: Likewise.
49418         * doc/posix-functions/mknodat.texi: Likewise.
49419         * doc/posix-functions/mq_close.texi: Likewise.
49420         * doc/posix-functions/mq_getattr.texi: Likewise.
49421         * doc/posix-functions/mq_notify.texi: Likewise.
49422         * doc/posix-functions/mq_open.texi: Likewise.
49423         * doc/posix-functions/mq_receive.texi: Likewise.
49424         * doc/posix-functions/mq_send.texi: Likewise.
49425         * doc/posix-functions/mq_setattr.texi: Likewise.
49426         * doc/posix-functions/mq_timedreceive.texi: Likewise.
49427         * doc/posix-functions/mq_timedsend.texi: Likewise.
49428         * doc/posix-functions/mq_unlink.texi: Likewise.
49429         * doc/posix-functions/open_memstream.texi: Likewise.
49430         * doc/posix-functions/openat.texi: Likewise.
49431         * doc/posix-functions/posix_fadvise.texi: Likewise.
49432         * doc/posix-functions/posix_fallocate.texi: Likewise.
49433         * doc/posix-functions/posix_madvise.texi: Likewise.
49434         * doc/posix-functions/posix_memalign.texi: Likewise.
49435         * doc/posix-functions/posix_openpt.texi: Likewise.
49436         * doc/posix-functions/readlinkat.texi: Likewise.
49437         * doc/posix-functions/remque.texi: Likewise.
49438         * doc/posix-functions/renameat.texi: Likewise.
49439         * doc/posix-functions/rintl.texi: Likewise.
49440         * doc/posix-functions/sem_unlink.texi: Likewise.
49441         * doc/posix-functions/shm_open.texi: Likewise.
49442         * doc/posix-functions/shm_unlink.texi: Likewise.
49443         * doc/posix-functions/signgam.texi: Likewise.
49444         * doc/posix-functions/sigset.texi: Likewise.
49445         * doc/posix-functions/stpcpy.texi: Likewise.
49446         * doc/posix-functions/stpncpy.texi: Likewise.
49447         * doc/posix-functions/strerror.texi: Likewise.
49448         * doc/posix-functions/strtod.texi: Likewise.
49449         * doc/posix-functions/symlinkat.texi: Likewise.
49450         * doc/posix-functions/unlinkat.texi: Likewise.
49451         * doc/posix-functions/utimensat.texi: Likewise.
49452         * doc/glibc-functions/bindresvport.texi: Likewise.
49453         * doc/glibc-functions/dn_expand.texi: Likewise.
49454         * doc/glibc-functions/exp10.texi: Likewise.
49455         * doc/glibc-functions/exp10f.texi: Likewise.
49456         * doc/glibc-functions/fgetxattr.texi: Likewise.
49457         * doc/glibc-functions/flistxattr.texi: Likewise.
49458         * doc/glibc-functions/fopencookie.texi: Likewise.
49459         * doc/glibc-functions/freeifaddrs.texi: Likewise.
49460         * doc/glibc-functions/fremovexattr.texi: Likewise.
49461         * doc/glibc-functions/fsetxattr.texi: Likewise.
49462         * doc/glibc-functions/getifaddrs.texi: Likewise.
49463         * doc/glibc-functions/getxattr.texi: Likewise.
49464         * doc/glibc-functions/lgetxattr.texi: Likewise.
49465         * doc/glibc-functions/listxattr.texi: Likewise.
49466         * doc/glibc-functions/llistxattr.texi: Likewise.
49467         * doc/glibc-functions/lremovexattr.texi: Likewise.
49468         * doc/glibc-functions/lsetxattr.texi: Likewise.
49469         * doc/glibc-functions/pow10.texi: Likewise.
49470         * doc/glibc-functions/pow10f.texi: Likewise.
49471         * doc/glibc-functions/rcmd_af.texi: Likewise.
49472         * doc/glibc-functions/removexattr.texi: Likewise.
49473         * doc/glibc-functions/res_init.texi: Likewise.
49474         * doc/glibc-functions/res_mkquery.texi: Likewise.
49475         * doc/glibc-functions/res_query.texi: Likewise.
49476         * doc/glibc-functions/res_querydomain.texi: Likewise.
49477         * doc/glibc-functions/res_send.texi: Likewise.
49478         * doc/glibc-functions/rresvport_af.texi: Likewise.
49479         * doc/glibc-functions/setxattr.texi: Likewise.
49480         * doc/glibc-functions/strcasestr.texi: Likewise.
49481
49482 2008-12-15  Bruno Haible  <bruno@clisp.org>
49483
49484         Fix compilation error on OSF/1 4.0.
49485         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
49486         <sys/time.h>, simply delegate to the system header.
49487         Reported by Daniel Richard G. <oss@teragram.com>.
49488
49489 2008-12-15  Bruno Haible  <bruno@clisp.org>
49490
49491         * doc/posix-functions/openat.texi: Mention the 'openat' module.
49492         * doc/posix-functions/fchmodat.texi: Likewise.
49493         * doc/posix-functions/fchownat.texi: Likewise.
49494         * doc/posix-functions/fdopendir.texi: Likewise.
49495         * doc/posix-functions/fstatat.texi: Likewise.
49496         * doc/posix-functions/mkdirat.texi: Likewise.
49497         * doc/posix-functions/unlinkat.texi: Likewise.
49498
49499 2008-12-14  Bruno Haible  <bruno@clisp.org>
49500
49501         Update doc for POSIX:2008.
49502         * doc/posix-functions/faccessat.texi: New file.
49503         * doc/posix-functions/fchmodat.texi: New file.
49504         * doc/posix-functions/fchownat.texi: New file.
49505         * doc/posix-functions/fdopendir.texi: New file.
49506         * doc/posix-functions/fstatat.texi: New file.
49507         * doc/posix-functions/futimens.texi: New file.
49508         * doc/posix-functions/linkat.texi: New file.
49509         * doc/posix-functions/mkdirat.texi: New file.
49510         * doc/posix-functions/mkfifoat.texi: New file.
49511         * doc/posix-functions/mknodat.texi: New file.
49512         * doc/posix-functions/open_wmemstream.texi: New file.
49513         * doc/posix-functions/openat.texi: New file.
49514         * doc/posix-functions/psiginfo.texi: New file.
49515         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
49516         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
49517         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
49518         * doc/posix-functions/readlinkat.texi: New file.
49519         * doc/posix-functions/renameat.texi: New file.
49520         * doc/posix-functions/strerror_l.texi: New file.
49521         * doc/posix-functions/symlinkat.texi: New file.
49522         * doc/posix-functions/unlinkat.texi: New file.
49523         * doc/posix-functions/utimensat.texi: New file.
49524         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49525
49526 2008-12-14  Bruno Haible  <bruno@clisp.org>
49527
49528         Update doc for POSIX:2008.
49529         * doc/posix-functions/alphasort.texi: Renamed from
49530         doc/glibc-functions/alphasort.texi.
49531         * doc/posix-functions/dirfd.texi: Renamed from
49532         doc/glibc-functions/dirfd.texi.
49533         * doc/posix-functions/dprintf.texi: Renamed from
49534         doc/glibc-functions/dprintf.texi.
49535         * doc/posix-functions/duplocale.texi: Renamed from
49536         doc/glibc-functions/duplocale.texi.
49537         * doc/posix-functions/fexecve.texi: Renamed from
49538         doc/glibc-functions/fexecve.texi.
49539         * doc/posix-functions/fmemopen.texi: Renamed from
49540         doc/glibc-functions/fmemopen.texi.
49541         * doc/posix-functions/freelocale.texi: Renamed from
49542         doc/glibc-functions/freelocale.texi.
49543         * doc/posix-functions/getdate_err.texi: Renamed from
49544         doc/glibc-functions/getdate_err.texi.
49545         * doc/posix-functions/isalnum_l.texi: Renamed from
49546         doc/glibc-functions/isalnum_l.texi.
49547         * doc/posix-functions/isalpha_l.texi: Renamed from
49548         doc/glibc-functions/isalpha_l.texi.
49549         * doc/posix-functions/isblank_l.texi: Renamed from
49550         doc/glibc-functions/isblank_l.texi.
49551         * doc/posix-functions/iscntrl_l.texi: Renamed from
49552         doc/glibc-functions/iscntrl_l.texi.
49553         * doc/posix-functions/isdigit_l.texi: Renamed from
49554         doc/glibc-functions/isdigit_l.texi.
49555         * doc/posix-functions/isgraph_l.texi: Renamed from
49556         doc/glibc-functions/isgraph_l.texi.
49557         * doc/posix-functions/islower_l.texi: Renamed from
49558         doc/glibc-functions/islower_l.texi.
49559         * doc/posix-functions/isprint_l.texi: Renamed from
49560         doc/glibc-functions/isprint_l.texi.
49561         * doc/posix-functions/ispunct_l.texi: Renamed from
49562         doc/glibc-functions/ispunct_l.texi.
49563         * doc/posix-functions/isspace_l.texi: Renamed from
49564         doc/glibc-functions/isspace_l.texi.
49565         * doc/posix-functions/isupper_l.texi: Renamed from
49566         doc/glibc-functions/isupper_l.texi.
49567         * doc/posix-functions/iswalnum_l.texi: Renamed from
49568         doc/glibc-functions/iswalnum_l.texi.
49569         * doc/posix-functions/iswalpha_l.texi: Renamed from
49570         doc/glibc-functions/iswalpha_l.texi.
49571         * doc/posix-functions/iswblank_l.texi: Renamed from
49572         doc/glibc-functions/iswblank_l.texi.
49573         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49574         doc/glibc-functions/iswcntrl_l.texi.
49575         * doc/posix-functions/iswctype_l.texi: Renamed from
49576         doc/glibc-functions/iswctype_l.texi.
49577         * doc/posix-functions/iswdigit_l.texi: Renamed from
49578         doc/glibc-functions/iswdigit_l.texi.
49579         * doc/posix-functions/iswgraph_l.texi: Renamed from
49580         doc/glibc-functions/iswgraph_l.texi.
49581         * doc/posix-functions/iswlower_l.texi: Renamed from
49582         doc/glibc-functions/iswlower_l.texi.
49583         * doc/posix-functions/iswprint_l.texi: Renamed from
49584         doc/glibc-functions/iswprint_l.texi.
49585         * doc/posix-functions/iswpunct_l.texi: Renamed from
49586         doc/glibc-functions/iswpunct_l.texi.
49587         * doc/posix-functions/iswspace_l.texi: Renamed from
49588         doc/glibc-functions/iswspace_l.texi.
49589         * doc/posix-functions/iswupper_l.texi: Renamed from
49590         doc/glibc-functions/iswupper_l.texi.
49591         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49592         doc/glibc-functions/iswxdigit_l.texi.
49593         * doc/posix-functions/isxdigit_l.texi: Renamed from
49594         doc/glibc-functions/isxdigit_l.texi.
49595         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49596         doc/glibc-functions/mbsnrtowcs.texi.
49597         * doc/posix-functions/mkdtemp.texi: Renamed from
49598         doc/glibc-functions/mkdtemp.texi.
49599         * doc/posix-functions/newlocale.texi: Renamed from
49600         doc/glibc-functions/newlocale.texi.
49601         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49602         doc/glibc-functions/nl_langinfo_l.texi.
49603         * doc/posix-functions/open_memstream.texi: Renamed from
49604         doc/glibc-functions/open_memstream.texi.
49605         * doc/posix-functions/opterr.texi: Renamed from
49606         doc/glibc-functions/opterr.texi.
49607         * doc/posix-functions/optind.texi: Renamed from
49608         doc/glibc-functions/optind.texi.
49609         * doc/posix-functions/optopt.texi: Renamed from
49610         doc/glibc-functions/optopt.texi.
49611         * doc/posix-functions/psignal.texi: Renamed from
49612         doc/glibc-functions/psignal.texi.
49613         * doc/posix-functions/scandir.texi: Renamed from
49614         doc/glibc-functions/scandir.texi.
49615         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49616         doc/glibc-functions/sched_get_priority_min.texi.
49617         * doc/posix-functions/signgam.texi: Renamed from
49618         doc/glibc-functions/signgam.texi.
49619         * doc/posix-functions/stpcpy.texi: Renamed from
49620         doc/glibc-functions/stpcpy.texi.
49621         * doc/posix-functions/stpncpy.texi: Renamed from
49622         doc/glibc-functions/stpncpy.texi.
49623         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49624         doc/glibc-functions/strcasecmp_l.texi.
49625         * doc/posix-functions/strcoll_l.texi: Renamed from
49626         doc/glibc-functions/strcoll_l.texi.
49627         * doc/posix-functions/strfmon_l.texi: Renamed from
49628         doc/glibc-functions/strfmon_l.texi.
49629         * doc/posix-functions/strftime_l.texi: Renamed from
49630         doc/glibc-functions/strftime_l.texi.
49631         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49632         doc/glibc-functions/strncasecmp_l.texi.
49633         * doc/posix-functions/strndup.texi: Renamed from
49634         doc/glibc-functions/strndup.texi.
49635         * doc/posix-functions/strnlen.texi: Renamed from
49636         doc/glibc-functions/strnlen.texi.
49637         * doc/posix-functions/strsignal.texi: Renamed from
49638         doc/glibc-functions/strsignal.texi.
49639         * doc/posix-functions/strxfrm_l.texi: Renamed from
49640         doc/glibc-functions/strxfrm_l.texi.
49641         * doc/posix-functions/timer_gettime.texi: Renamed from
49642         doc/glibc-functions/timer_gettime.texi.
49643         * doc/posix-functions/tolower_l.texi: Renamed from
49644         doc/glibc-functions/tolower_l.texi.
49645         * doc/posix-functions/toupper_l.texi: Renamed from
49646         doc/glibc-functions/toupper_l.texi.
49647         * doc/posix-functions/towctrans_l.texi: Renamed from
49648         doc/glibc-functions/towctrans_l.texi.
49649         * doc/posix-functions/towlower_l.texi: Renamed from
49650         doc/glibc-functions/towlower_l.texi.
49651         * doc/posix-functions/towupper_l.texi: Renamed from
49652         doc/glibc-functions/towupper_l.texi.
49653         * doc/posix-functions/uselocale.texi: Renamed from
49654         doc/glibc-functions/uselocale.texi.
49655         * doc/posix-functions/vdprintf.texi: Renamed from
49656         doc/glibc-functions/vdprintf.texi.
49657         * doc/posix-functions/wcpcpy.texi:
49658         Renamed from doc/glibc-functions/wcpcpy.texi.
49659         * doc/posix-functions/wcpncpy.texi: Renamed from
49660         doc/glibc-functions/wcpncpy.texi.
49661         * doc/posix-functions/wcscasecmp.texi: Renamed from
49662         doc/glibc-functions/wcscasecmp.texi.
49663         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49664         doc/glibc-functions/wcscasecmp_l.texi.
49665         * doc/posix-functions/wcscoll_l.texi: Renamed from
49666         doc/glibc-functions/wcscoll_l.texi.
49667         * doc/posix-functions/wcsdup.texi: Renamed from
49668         doc/glibc-functions/wcsdup.texi.
49669         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49670         doc/glibc-functions/wcsncasecmp.texi.
49671         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49672         doc/glibc-functions/wcsncasecmp_l.texi.
49673         * doc/posix-functions/wcsnlen.texi: Renamed from
49674         doc/glibc-functions/wcsnlen.texi.
49675         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49676         doc/glibc-functions/wcsnrtombs.texi.
49677         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49678         doc/glibc-functions/wcsxfrm_l.texi.
49679         * doc/posix-functions/wctrans_l.texi: Renamed from
49680         doc/glibc-functions/wctrans_l.texi.
49681         * doc/posix-functions/wctype_l.texi: Renamed from
49682         doc/glibc-functions/wctype_l.texi.
49683         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49684         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49685         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49686         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49687         these subsections.
49688         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49689         Remove sections.
49690
49691 2008-12-14  Bruno Haible  <bruno@clisp.org>
49692
49693         Update doc for POSIX:2008.
49694         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49695
49696 2008-12-14  Bruno Haible  <bruno@clisp.org>
49697
49698         Update doc for POSIX:2008.
49699         * doc/pastposix-functions/bcmp.texi: Renamed from
49700         doc/posix-functions/bcmp.texi.
49701         * doc/pastposix-functions/bcopy.texi: Renamed from
49702         doc/posix-functions/bcopy.texi.
49703         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49704         doc/posix-functions/bsd_signal.texi.
49705         * doc/pastposix-functions/bzero.texi: Renamed from
49706         doc/posix-functions/bzero.texi.
49707         * doc/pastposix-functions/ecvt.texi: Renamed from
49708         doc/posix-functions/ecvt.texi.
49709         * doc/pastposix-functions/fcvt.texi: Renamed from
49710         doc/posix-functions/fcvt.texi.
49711         * doc/pastposix-functions/ftime.texi: Renamed from
49712         doc/posix-functions/ftime.texi.
49713         * doc/pastposix-functions/gcvt.texi: Renamed from
49714         doc/posix-functions/gcvt.texi.
49715         * doc/pastposix-functions/getcontext.texi: Renamed from
49716         doc/posix-functions/getcontext.texi.
49717         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49718         doc/posix-functions/gethostbyaddr.texi.
49719         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49720         doc/posix-functions/gethostbyname.texi.
49721         * doc/pastposix-functions/getwd.texi: Renamed from
49722         doc/posix-functions/getwd.texi.
49723         * doc/pastposix-functions/h_errno.texi: Renamed from
49724         doc/posix-functions/h_errno.texi.
49725         * doc/pastposix-functions/index.texi: Renamed from
49726         doc/posix-functions/index.texi.
49727         * doc/pastposix-functions/makecontext.texi: Renamed from
49728         doc/posix-functions/makecontext.texi.
49729         * doc/pastposix-functions/mktemp.texi: Renamed from
49730         doc/posix-functions/mktemp.texi.
49731         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49732         doc/posix-functions/pthread_attr_getstackaddr.texi.
49733         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49734         doc/posix-functions/pthread_attr_setstackaddr.texi.
49735         * doc/pastposix-functions/rindex.texi: Renamed from
49736         doc/posix-functions/rindex.texi.
49737         * doc/pastposix-functions/scalb.texi: Renamed from
49738         doc/posix-functions/scalb.texi.
49739         * doc/pastposix-functions/setcontext.texi: Renamed from
49740         doc/posix-functions/setcontext.texi.
49741         * doc/pastposix-functions/swapcontext.texi: Renamed from
49742         doc/posix-functions/swapcontext.texi.
49743         * doc/pastposix-functions/ualarm.texi: Renamed from
49744         doc/posix-functions/ualarm.texi.
49745         * doc/pastposix-functions/usleep.texi: Renamed from
49746         doc/posix-functions/usleep.texi.
49747         * doc/pastposix-functions/vfork.texi: Renamed from
49748         doc/posix-functions/vfork.texi.
49749         * doc/pastposix-functions/wcswcs.texi: Renamed from
49750         doc/posix-functions/wcswcs.texi.
49751         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49752         (Function Substitutes): Update.
49753
49754 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49755
49756         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49757         m4/strerror.m4.
49758
49759 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49760             Bruno Haible  <bruno@clisp.org>
49761
49762         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49763
49764 2008-12-13  Bruno Haible  <bruno@clisp.org>
49765
49766         * modules/strtoull (Depends-on): Remove unistd.
49767
49768 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49769
49770         * modules/strtoull (Depends-on): Add stdlib.
49771
49772 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49773
49774         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49775
49776 2008-12-10  Jim Meyering  <meyering@redhat.com>
49777
49778         gl_ASSERT: don't say assertions are disabled when they're not
49779         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49780         "checking whether to enable assertions... no", when they are in
49781         fact enabled.  This is solely a bug in the output of configure.
49782         In spite of saying "no", NDEBUG was not defined in that case.
49783         Also, as noted by Eric Blake, leave assertions enabled upon
49784         --enable-assert=INVALID.
49785
49786 2008-12-10  Bruno Haible  <bruno@clisp.org>
49787
49788         Change MODULES.html to refer to POSIX:2008 where possible.
49789         * MODULES.html.sh (POSIX2008_URL): New variable.
49790         (posix_headers): Remove sys/timeb, ucontext.
49791         (posix2001_headers): New variable.
49792         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49793         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49794         index, makecontext, mktemp, pthread_attr_getstackaddr,
49795         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49796         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49797         (posix2001_functions): New variable.
49798         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49799         otherwise.
49800
49801 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49802
49803         add missing include to parse-duration.c
49804         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49805         * modules/parse-duration (Depends-on): Add xalloc.
49806
49807         fix sed script reading maint.mk
49808         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49809         (syntax-check-rules): Use it.
49810
49811 2008-12-09  Bruno Haible  <bruno@clisp.org>
49812
49813         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49814         MacOS X 10.4/PowerPC.
49815         Reported by Simon Josefsson.
49816
49817 2008-12-08  Jim Meyering  <meyering@redhat.com>
49818
49819         work around mingw's lack of some S_IF definitions
49820         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49821         Reported by Simon Josefsson.
49822
49823 2008-12-08  Bruno Haible  <bruno@clisp.org>
49824
49825         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49826         applied to variables. Needed on MacOS X 10.4/PowerPC.
49827         Reported by Simon Josefsson.
49828
49829 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49830         and Eric Blake  <ebb9@byu.net>
49831
49832         assert: honor --enable-assert
49833         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49834         order to honor --enable-assert, rather than treating it as a
49835         synonym for --disable-assert.
49836
49837 2008-12-08  Jim Meyering  <meyering@redhat.com>
49838
49839         * lib/posixtm.c: Remove now-useless declaration of mktime.
49840
49841         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49842
49843 2008-12-07  Bruno Haible  <bruno@clisp.org>
49844
49845         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49846         test_once): Mark functions as static.
49847         * tests/test-tls.c (test_tls): Likewise.
49848
49849 2008-12-07  Bruno Haible  <bruno@clisp.org>
49850
49851         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49852         iconv_register_autodetect.
49853
49854 2008-12-07  Jim Meyering  <meyering@redhat.com>
49855
49856         posixtm.c: avoid a warning
49857         * lib/posixtm.c (posixtime): Don't initialize tm0.
49858         It's no longer needed to placate gcc4's -Wuninitialized,
49859         and the attempt to placate would elicit a new warning.
49860
49861         unicodeio.c: mark unused parameters
49862         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49863         (fallback_failure_callback): Likewise.
49864
49865 2008-12-07  Bruno Haible  <bruno@clisp.org>
49866
49867         * gnulib-tool (func_create_testdir): When building the tests
49868         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49869         Reported by Simon Josefsson.
49870
49871 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49872
49873         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49874
49875 2008-12-06  Bruno Haible  <bruno@clisp.org>
49876
49877         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49878         Suggested by Eric Blake.
49879
49880 2008-12-06  Bruno Haible  <bruno@clisp.org>
49881
49882         Fix a c-stack test failure on MacOS X.
49883         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49884         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49885         handler for SIGBUS as well.
49886         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49887         install a signal handler for SIGBUS as well.
49888         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49889
49890 2008-12-06  Bruno Haible  <bruno@clisp.org>
49891
49892         Advocacy documentation.
49893         * doc/gnulib-intro.texi (Benefits): New section.
49894         * doc/gnulib.texi: Update.
49895
49896 2008-12-06  Bruno Haible  <bruno@clisp.org>
49897
49898         Document the 'manywarnings' module.
49899         * doc/manywarnings.texi: New file.
49900         * doc/gnulib.texi: Include it.
49901
49902 2008-12-05  Eric Blake  <ebb9@byu.net>
49903
49904         tests: silence some gcc warnings
49905         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
49906         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
49907         type mismatches.
49908
49909 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49910             Bruno Haible  <bruno@clisp.org>
49911
49912         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
49913
49914 2008-11-29  Jim Meyering  <meyering@redhat.com>
49915
49916         unicodeio.c: mark unused parameters
49917         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49918         (fallback_failure_callback): Likewise.
49919
49920         fts: fix a thinko
49921         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
49922         (set_stat_type): Return S_IF*-valued "type" directly.
49923         Prompted by James Youngman's spotting a related bug.
49924         Confirmed by further testing through find.
49925
49926         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
49927         * lib/fts.c (D_TYPE): Define.
49928         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
49929         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
49930         (s_ifmt_shift_bits): New function.
49931         (set_stat_type): New function.
49932         (fts_build): When not calling fts_stat, call set_stat_type
49933         to propagate dirent.d_type info to fts_read caller.
49934         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
49935         fts_statp->st_mode type information may be valid.
49936
49937 2008-11-28  Simon Josefsson  <simon@josefsson.org>
49938
49939         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
49940         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
49941         <sds@gnu.org>.
49942
49943 2008-11-20  Bruno Haible  <bruno@clisp.org>
49944
49945         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
49946         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
49947         INCLUDE_NEXT.
49948         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
49949         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
49950         * modules/math (Makefile.am): Substitute
49951         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
49952         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49953
49954 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
49955             Bruno Haible  <bruno@clisp.org>
49956
49957         * lib/stdint.in.h: Define all type macros so that their expansion is
49958         a single typedef'ed token. Fixes a compilation failure in Boost which
49959         does "using ::int8_t;".
49960
49961 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49962
49963         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
49964         gl_MANYWARN_ALL_GCC.
49965         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
49966         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
49967         * modules/manywarnings: New file.
49968         * MODULES.html.sh: Mention manywarnings module.
49969
49970 2008-11-18  Bruno Haible  <bruno@clisp.org>
49971
49972         * doc/gnulib-tool.texi (Unit tests): New section.
49973
49974 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49975
49976         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
49977         paths like 'lib/po/foo.po'.
49978
49979 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49980
49981         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
49982         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
49983
49984 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49985
49986         * m4/warnings.m4: Use CPPFLAGS to really check whether the
49987         parameter works.
49988
49989 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49990
49991         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
49992
49993 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49994
49995         * modules/parse-duration-tests: New file.
49996         * tests/test-parse-duration.sh: New file.
49997         * tests/test-parse-duration.c: New file.
49998
49999         New module 'parse-duration'.
50000         * lib/parse-duration.h: New file.
50001         * lib/parse-duration.c: New file.
50002         * modules/parse-duration: New file.
50003
50004 2008-11-17  Bruno Haible  <bruno@clisp.org>
50005
50006         * tests/test-select-out.sh: Comment out the first pipe test.
50007         Reported by Simon Josefsson.
50008
50009 2008-11-17  Bruno Haible  <bruno@clisp.org>
50010
50011         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50012         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50013         gl_HOSTENT.
50014
50015 2008-11-17  Bruno Haible  <bruno@clisp.org>
50016
50017         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50018         -lnetwork and -lnet. Needed for Haiku and BeOS.
50019
50020 2008-11-16  Bruno Haible  <bruno@clisp.org>
50021
50022         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50023
50024 2008-11-16  Bruno Haible  <bruno@clisp.org>
50025
50026         Avoid test failure on Haiku.
50027         * tests/test-fsync.c: Include <errno.h>.
50028         (main): Don't require that fsync (0) fails.
50029
50030 2008-11-15  Bruno Haible  <bruno@clisp.org>
50031
50032         New module 'hostent'.
50033         * modules/hostent: New file.
50034         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50035
50036 2008-11-15  Bruno Haible  <bruno@clisp.org>
50037
50038         New module 'servent'.
50039         * modules/servent: New file.
50040         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50041
50042 2008-11-15  Bruno Haible  <bruno@clisp.org>
50043
50044         Avoid generating same test program with two different rules.
50045         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50046         test-frexp to test-frexp-nolibm.
50047         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50048         test-frexpl to test-frexpl-nolibm.
50049
50050 2008-11-15  Bruno Haible  <bruno@clisp.org>
50051
50052         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50053         $(FREXPL_LIBM).
50054
50055 2008-11-15  Bruno Haible  <bruno@clisp.org>
50056
50057         * lib/netdb.in.h: Activate the definitions also when the system's
50058         <netdb.h> has 'struct addrinfo'.
50059         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50060         EAI_OVERFLOW or AI_NUMERICSERV.
50061         * doc/posix-headers/netdb.texi: Document the problem.
50062
50063 2008-11-15  Bruno Haible  <bruno@clisp.org>
50064
50065         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50066
50067         Make the 'sched' module work on platforms where <sched.h> exists but
50068         is incomplete (such as Haiku).
50069         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50070         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50071         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50072         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50073         HAVE_STRUCT_SCHED_PARAM.
50074         * modules/sched (Depends-on): Add include_next.
50075         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50076         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50077         * doc/posix-headers/sched.texi: Document the issue.
50078
50079 2008-11-13  Jim Meyering  <meyering@redhat.com>
50080
50081         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50082         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50083         test would fail due to the difference in the Report bugs to ...
50084         line.  The expected address is empty, "<>", while the actual
50085         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50086
50087 2008-11-12  Bruno Haible  <bruno@clisp.org>
50088
50089         lstat: don't compile lstat.c on systems lacking lstat
50090         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50091         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50092         Reported by Daniel P. Berrange via Jim Meyering.
50093
50094 2008-11-12  Jim Meyering  <meyering@redhat.com>
50095
50096         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50097
50098 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50099
50100         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50101         instead.
50102
50103 2008-11-12  Bruno Haible  <bruno@clisp.org>
50104
50105         * lib/unicodeio.c: Include unistr.h.
50106         (utf8_wctomb): Remove function.
50107         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50108
50109 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50110
50111         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50112         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50113         <bruno@clisp.org>.
50114         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50115
50116 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50117
50118         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50119         * doc/gnulib.texi: Add section for warnings.
50120
50121 2008-11-11  Bruno Haible  <bruno@clisp.org>
50122
50123         * lib/sockets.h: Add a comment.
50124
50125 2008-11-11  Karl Berry  <karl@gnu.org>
50126
50127         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50128
50129 2008-11-11  Eric Blake  <ebb9@byu.net>
50130
50131         fdl.texi: avoid git symlinks
50132         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50133
50134 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50135
50136         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50137
50138 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50139
50140         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50141         (gl_WARN_ADD): Substitute $2 if literal.
50142
50143 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50144
50145         * m4/warning.m4: Remove.
50146
50147 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50148
50149         * m4/warnings.m4: Almost complete rewrite. :-)
50150
50151 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50152
50153         * modules/warnings: New module.
50154         * m4/warnings.m4: New file.
50155         * MODULES.html.sh: Mention warnings module.
50156         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50157         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50158
50159 2008-11-10  Eric Blake  <ebb9@byu.net>
50160
50161         fdl.texi: make a symlink to the latest version
50162         * doc/standards.texi: Revert today's earlier change.
50163         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50164         * doc/fdl.texi: ...and replace this with a symlink to the newer
50165         fdl-1.3.texi.
50166
50167 2008-11-10  Bruno Haible  <bruno@clisp.org>
50168
50169         * tests/test-select-fd.c (main): Accept the result file name as fourth
50170         argument.
50171         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50172         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50173
50174 2008-11-10  Bruno Haible  <bruno@clisp.org>
50175
50176         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50177         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50178         as autoconf-substituted macros.
50179         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50180         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50181         gl_NETDB_H_DEFAULTS. Set these variables.
50182         * modules/netdb (Makefile.am): Substitute these variables.
50183
50184 2008-11-10  Eric Blake  <ebb9@byu.net>
50185
50186         standards.texi: include correct file for FDL 1.3
50187         * doc/standards.texi (GNU Free Documentation License): Change
50188         include file to pull in FDL 1.3, not 1.2.
50189
50190         fdl.texi: revert accidental change to license
50191         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50192
50193 2008-11-10  Bruno Haible  <bruno@clisp.org>
50194
50195         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50196         cross-compiling guesses also when the native compile gives no result.
50197
50198 2008-11-10  Bruno Haible  <bruno@clisp.org>
50199
50200         * lib/spawni.c (__spawni): Force variable into the stack.
50201
50202 2008-11-10  Bruno Haible  <bruno@clisp.org>
50203
50204         Add support for Haiku.
50205         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50206         glibc and BeOS, but also on Haiku.
50207         * lib/fpurge.c (fpurge): Likewise.
50208         * lib/freadable.c (freadable): Likewise.
50209         * lib/freadahead.c (freadahead): Likewise.
50210         * lib/freading.c (freading): Likewise.
50211         * lib/freadptr.c (freadptr): Likewise.
50212         * lib/freadseek.c (freadptrinc): Likewise.
50213         * lib/fseeko.c (rpl_fseeko): Likewise.
50214         * lib/fseterr.c (fseterr): Likewise.
50215         * lib/fwritable.c (fwritable): Likewise.
50216         * lib/fwriting.c (fwriting): Likewise.
50217         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50218
50219 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50220
50221         * lib/config.charset: Treat Haiku like BeOS.
50222
50223 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50224
50225         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50226         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50227
50228 2008-11-08  Bruno Haible  <bruno@clisp.org>
50229
50230         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50231         AC_CACHE_CHECK.
50232
50233 2008-11-08  Bruno Haible  <bruno@clisp.org>
50234
50235         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50236
50237 2008-11-08  Bruno Haible  <bruno@clisp.org>
50238
50239         * tests/test-select-fd.c: New file.
50240         * tests/test-select-in.sh: New file.
50241         * tests/test-select-out.sh: New file.
50242         * tests/test-select-stdin.c: New file.
50243         * modules/select-tests (Files): Add the new files.
50244         (Depends-on): Add gettimeofday.
50245         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50246         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50247         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50248
50249 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50250             Bruno Haible  <bruno@clisp.org>
50251
50252         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50253
50254 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50255
50256         * build-aux/pmccabe2html: Added support for C++ source files.
50257
50258 2008-11-05  Ben Pfaff  <blp@gnu.org>
50259
50260         Fix lib/close.c build on Windows.
50261         * modules/close (Files): Add lib/w32sock.h.
50262
50263 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50264
50265         Accept Bison's NEWS format.
50266         * build-aux/announce-gen (print_news_deltas): Tweak
50267         $re_prefix.
50268
50269 2008-11-04  Bruno Haible  <bruno@clisp.org>
50270
50271         * modules/random_r (Maintainer): Add glibc.
50272
50273 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50274
50275         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50276         by karl@freefriends.org (Karl Berry).
50277         * doc/alloca.texi: Likewise.
50278         * doc/c-ctype.texi: Likewise.
50279         * doc/c-strcase.texi: Likewise.
50280         * doc/c-strcaseeq.texi: Likewise.
50281         * doc/c-strcasestr.texi: Likewise.
50282         * doc/c-strstr.texi: Likewise.
50283         * doc/c-strtod.texi: Likewise.
50284         * doc/c-strtold.texi: Likewise.
50285         * doc/ctime.texi: Likewise.
50286         * doc/error.texi: Likewise.
50287         * doc/fdl.texi: Likewise.
50288         * doc/gcd.texi: Likewise.
50289         * doc/getdate.texi: Likewise.
50290         * doc/gnulib-intro.texi: Likewise.
50291         * doc/gnulib-tool.texi: Likewise.
50292         * doc/gnulib.texi: Likewise.
50293         * doc/inet_ntoa.texi: Likewise.
50294         * doc/maintain.texi: Likewise.
50295         * doc/make-stds.texi: Likewise.
50296         * doc/quote.texi: Likewise.
50297         * doc/regexprops-generic.texi: Likewise.
50298         * doc/standards.texi: Likewise.
50299         * doc/verify.texi: Likewise.
50300         * doc/visibility.texi: Likewise.
50301         * doc/gnulib.texi (GNU Free Documentation License): Include
50302         fdl-1.3.texi instead of fdl.texi.
50303
50304 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50305
50306         * doc/fdl-1.3.texi: New file, from
50307         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50308         * modules/fdl-1.3: Add.
50309         * MODULES.html.sh: Add fdl-1.3.
50310
50311 2008-11-03  Bruno Haible  <bruno@clisp.org>
50312
50313         Make determination of absolute name of header file work with AIX xlc.
50314         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50315         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50316         preprocessing.
50317         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50318         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50319
50320 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50321
50322         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50323         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50324         <ludo@gnu.org>.
50325
50326 2008-11-02  Bruno Haible  <bruno@clisp.org>
50327
50328         Mark 'strpbrk' obsolete.
50329         * modules/strpbrk (Status, Notice): New sections.
50330         * modules/strtok_r (Depends-on): Add strpbrk.
50331
50332 2008-11-02  Bruno Haible  <bruno@clisp.org>
50333
50334         Mark 'strdup' obsolete.
50335         * modules/strdup (Status, Notice): New sections.
50336         * modules/findprog (Depends-on): Add strdup.
50337         * modules/getaddrinfo (Depends-on): Likewise.
50338         * modules/localename (Depends-on): Likewise.
50339         * modules/relocatable-lib (Depends-on): Likewise.
50340         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50341         * modules/relocatable-prog (Depends-on): Likewise.
50342         * modules/trim (Depends-on): Likewise.
50343         * modules/unictype/gen-ctype (Depends-on): Likewise.
50344         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50345
50346 2008-11-02  Bruno Haible  <bruno@clisp.org>
50347
50348         Mark 'strcspn' obsolete.
50349         * modules/strcspn (Status, Notice): New sections.
50350
50351 2008-11-02  Bruno Haible  <bruno@clisp.org>
50352
50353         Mark 'rmdir' obsolete.
50354         * modules/rmdir (Status, Notice): New sections.
50355         * modules/clean-temp (Depends-on): Add rmdir.
50356         * modules/openat (Depends-on): Likewise.
50357
50358 2008-11-02  Bruno Haible  <bruno@clisp.org>
50359
50360         Mark 'raise' obsolete.
50361         * modules/raise (Status, Notice): New sections.
50362         (Include): Specify <signal.h>.
50363         * modules/stdio (Depends-on): Add raise.
50364         * modules/write (Depends-on): Likewise.
50365
50366 2008-11-02  Bruno Haible  <bruno@clisp.org>
50367
50368         Mark 'memset' obsolete.
50369         * modules/memset (Status, Notice): New sections.
50370
50371 2008-11-02  Bruno Haible  <bruno@clisp.org>
50372
50373         Mark 'memmove' obsolete.
50374         * modules/memmove (Status, Notice): New sections.
50375         * modules/argp (Depends-on): Add memmove.
50376         * modules/argz (Depends-on): Likewise.
50377         * modules/canonicalize (Depends-on): Likewise.
50378         * modules/canonicalize-lgpl (Depends-on): Likewise.
50379         * modules/fts (Depends-on): Likewise.
50380         * modules/getcwd (Depends-on): Likewise.
50381         * modules/human (Depends-on): Likewise.
50382         * modules/regex (Depends-on): Likewise.
50383         * modules/striconveh (Depends-on): Likewise.
50384         * modules/trim (Depends-on): Likewise.
50385         * modules/unistr/u8-move (Depends-on): Likewise.
50386         * modules/unistr/u16-move (Depends-on): Likewise.
50387         * modules/unistr/u32-move (Depends-on): Likewise.
50388
50389 2008-11-02  Bruno Haible  <bruno@clisp.org>
50390
50391         Mark 'memcpy' obsolete.
50392         * modules/memcpy (Status, Notice): New sections.
50393
50394 2008-11-02  Bruno Haible  <bruno@clisp.org>
50395
50396         Mark 'memcmp' obsolete.
50397         * modules/memcmp (Status, Notice): New sections.
50398         * modules/argmatch (Depends-on): Add memchr.
50399         * modules/backupfile (Depends-on): Likewise.
50400         * modules/c-strcasestr (Depends-on): Likewise.
50401         * modules/crypto/des (Depends-on): Likewise.
50402         * modules/csharpcomp (Depends-on): Likewise.
50403         * modules/fnmatch (Depends-on): Likewise.
50404         * modules/git-merge-changelog (Depends-on): Likewise.
50405         * modules/isnand (Depends-on): Likewise.
50406         * modules/isnand-nolibm (Depends-on): Likewise.
50407         * modules/isnanf (Depends-on): Likewise.
50408         * modules/isnanf-nolibm (Depends-on): Likewise.
50409         * modules/isnanl (Depends-on): Likewise.
50410         * modules/isnanl-nolibm (Depends-on): Likewise.
50411         * modules/mbchar (Depends-on): Likewise.
50412         * modules/memcoll (Depends-on): Likewise.
50413         * modules/quotearg (Depends-on): Likewise.
50414         * modules/regex (Depends-on): Likewise.
50415         * modules/relocatable-prog (Depends-on): Likewise.
50416         * modules/same (Depends-on): Likewise.
50417         * modules/signbit (Depends-on): Likewise.
50418         * modules/strcasestr-simple (Depends-on): Likewise.
50419         * modules/unictype/gen-ctype (Depends-on): Likewise.
50420         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50421         * modules/uniname/uniname (Depends-on): Likewise.
50422         * modules/unistr/u8-cmp (Depends-on): Likewise.
50423
50424 2008-11-02  Bruno Haible  <bruno@clisp.org>
50425
50426         Mark 'memchr' obsolete.
50427         * modules/memchr (Status, Notice): New sections.
50428         * modules/argp (Depends-on): Add memchr.
50429         * modules/base64 (Depends-on): Likewise.
50430         * modules/c-strcasestr (Depends-on): Likewise.
50431         * modules/chdir-long (Depends-on): Likewise.
50432         * modules/fnmatch (Depends-on): Likewise.
50433         * modules/getsubopt (Depends-on): Likewise.
50434         * modules/git-merge-changelog (Depends-on): Likewise.
50435         * modules/glob (Depends-on): Likewise.
50436         * modules/strcasestr-simple (Depends-on): Likewise.
50437         * modules/strnlen (Depends-on): Likewise.
50438
50439 2008-11-02  Bruno Haible  <bruno@clisp.org>
50440
50441         Mark 'atexit' obsolete.
50442         * modules/atexit (Status, Notice): New sections.
50443         * modules/chdir-long (Depends-on): Add atexit.
50444         * modules/wait-process (Depends-on): Likewise.
50445
50446 2008-11-02  Bruno Haible  <bruno@clisp.org>
50447
50448         * gnulib-tool: New option --with-obsolete.
50449         (func_usage): Document it.
50450         (func_modules_transitive_closure): Drop obsolete dependencies if
50451         incobsolete is not true.
50452         (func_import): Read and save the incobsolete variable to the cache.
50453
50454 2008-11-02  Bruno Haible  <bruno@clisp.org>
50455
50456         * modules/TEMPLATE-EXTENDED: New field 'Status'.
50457         * gnulib-tool: New option --extract-status.
50458         (func_usage): Document it.
50459         (sed_extract_prog): Recognize it.
50460         (func_get_status): New function.
50461
50462 2008-10-30  Simon Josefsson  <simon@josefsson.org>
50463
50464         * modules/sockets (License): Change from LGPL to LGPLv2+.
50465
50466 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50467
50468         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
50469
50470 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50471
50472         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50473         Mention times and sys_times.
50474         * modules/sys_times, modules/sys_times-tests: New modules.
50475         * modules/times, modules/times-tests: Likewise
50476         * m4/sys_times_h.m4: New file.
50477         * lib/sys_times.in.h: Likewise
50478         * lib/times.c: Likewise.
50479         * tests/test-sys_times.c: Likewise.
50480         * tests/test-times.c: Likewise.
50481         * doc/posix-headers/sys_times.texi: Update.
50482         * doc/posix-functions/times.texi: Update.
50483
50484 2008-10-28  Jim Meyering  <meyering@redhat.com>
50485
50486         * modules/tempname (Depends-on): Add lstat.
50487
50488         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
50489
50490 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50491
50492         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
50493         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
50494         using idiom used elsewhere in gnulib.
50495
50496 2008-10-27  Jim Meyering  <meyering@redhat.com>
50497
50498         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
50499
50500 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50501
50502         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
50503         TESTS_ENVIRONMENT, for shell scripts that needs to call built
50504         programs.
50505         * tests/test-argp-2.sh: Use $EXEEXT when needed.
50506
50507 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50508
50509         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
50510
50511 2008-10-27  Bruno Haible  <bruno@clisp.org>
50512
50513         * tests/test-lstat.c: Include <stdio.h>.
50514
50515 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50516
50517         * modules/lstat-tests: New module.
50518         * tests/test-lstat.c: New file.
50519
50520 2008-10-26  Jim Meyering  <meyering@redhat.com>
50521
50522         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
50523
50524 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50525             Bruno Haible  <bruno@clisp.org>
50526
50527         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
50528         * modules/configmake (Include): Add a note that the include must come
50529         after all system headers.
50530         * lib/javaversion.c: Include configmake.h after all other includes.
50531
50532 2008-10-26  Bruno Haible  <bruno@clisp.org>
50533
50534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50535         HAVE_STRUCT_RANDOM_DATA to 1.
50536         (gl_STDLIB_H): Simplify.
50537
50538 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50539
50540         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50541         substitute HAVE_STRUCT_RANDOM_DATA.
50542         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50543         random_data.
50544         * modules/stdlib (Makefile.am): Substitute
50545         HAVE_STRUCT_RANDOM_DATA.
50546
50547 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50548
50549         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50550         * doc/gnulib-intro.texi (Copyright): Likewise.
50551
50552 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50553
50554         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50555         findings.
50556
50557 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50558             Bruno Haible  <bruno@clisp.org>
50559
50560         * lib/unistd.in.h: Include <winsock2.h>.
50561         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50562         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50563         Provide dummy declarations.
50564         (gethostname): Override.
50565         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50566         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50567         gl_PREREQ_SYS_H_WINSOCK2.
50568         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50569         * doc/posix-functions/gethostname.texi: More details.
50570
50571 2008-10-25  Bruno Haible  <bruno@clisp.org>
50572
50573         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50574         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50575         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50576
50577         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50578         here ...
50579         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50580         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50581         gl_UNISTD_H_DEFAULTS.
50582
50583 2008-10-25  Eric Blake  <ebb9@byu.net>
50584
50585         signbit: avoid spurious compiler failure
50586         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50587         declarations inside function.
50588
50589 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50590             Bruno Haible  <bruno@clisp.org>
50591
50592         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50593         * modules/random_r (Depends-on): Add stdint.
50594
50595 2008-10-24  Bruno Haible  <bruno@clisp.org>
50596
50597         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50598         Eggert.
50599         * modules/strerror (License): Likewise.
50600
50601 2008-10-24  Jim Meyering  <meyering@redhat.com>
50602
50603         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50604         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50605
50606 2008-10-24  Eric Blake  <ebb9@byu.net>
50607
50608         getgroups: fix compilation when getgroups is available
50609         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50610         but with <config.h> override of getgroups disabled.
50611
50612 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50613
50614         * doc/gnulib.texi (Header files): Add note about C++ problems.
50615         Explained by Bruno Haible <bruno@clisp.org>.
50616
50617 2008-10-23  Bruno Haible  <bruno@clisp.org>
50618
50619         Define a dummy SA_NODEFER macro on Interix.
50620         * lib/signal.in.h (SA_NODEFER): Define fallback.
50621         Reported by Aleksey Cheusov <cheusov@tut.by> via
50622         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50623
50624 2008-10-23  Bruno Haible  <bruno@clisp.org>
50625
50626         * modules/freadahead (License): Change to LGPLv2+.
50627         Suggested by Simon Josefsson.
50628
50629 2008-10-23  Jim Meyering  <meyering@redhat.com>
50630
50631         random_r: new module
50632         * modules/random_r: New file.
50633         * m4/random_r.m4: New file.
50634         * lib/random_r.c: New file, from glibc.
50635         * modules/random_r-tests: New file.
50636         * tests/test-random_r.c: New file.
50637         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50638          Declare.
50639         (RAND_MAX): Define.
50640         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50641         * modules/stdlib: Substitute them, too.
50642         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50643         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50644         * doc/glibc-functions/random_r.texi: Likewise.
50645         * doc/glibc-functions/setstate_r.texi: Likewise.
50646         * doc/glibc-functions/srandom_r.texi: Likewise.
50647         * config/srclist.txt: Mention it.
50648
50649 2008-10-23  David Lutterkort  <lutter@redhat.com>
50650
50651         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50652         link requirement
50653
50654 2008-10-23  Jim Meyering  <meyering@redhat.com>
50655
50656         selinux-h: mark parameters of stub functions as intentionally unused
50657         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50658         * lib/se-context.in.h: Likewise.
50659
50660 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50661
50662         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50663
50664 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50665
50666         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50667
50668 2008-10-22  Eric Blake  <ebb9@byu.net>
50669
50670         glthread/thread: avoid compiler warning
50671         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50672         Add unreachable abort to silence compiler.
50673
50674 2008-10-22  Eric Blake  <ebb9@byu.net>
50675
50676         netdb: also supply struct addrinfo for cygwin 1.5.x
50677         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50678         older cygwin.
50679         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50680         cygwin.
50681         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50682
50683 2008-10-22  Bruno Haible  <bruno@clisp.org>
50684
50685         * users.txt: Update entry about pspp.
50686
50687 2008-10-21  Bruno Haible  <bruno@clisp.org>
50688
50689         Simplification.
50690         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50691         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50692
50693         Simplification.
50694         * lib/ioctl.c (ioctl): Don't undefine.
50695         * lib/socket.c (socket): Don't undefine.
50696
50697         Remove unused module indicator macros.
50698         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50699         GNULIB_$1 as a C macro.
50700
50701         * doc/posix-functions/close.texi: Undo last change.
50702         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50703         Windows platforms.
50704
50705 2008-10-21  Bruno Haible  <bruno@clisp.org>
50706
50707         Add gethostname() declaration to <unistd.h>.
50708         * lib/unistd.in.h (gethostname): New declaration.
50709         * lib/gethostname.c: Include <unistd.h>.
50710         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50711         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50713         and HAVE_GETHOSTNAME.
50714         * modules/gethostname (Depends-on): Add unistd.
50715         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50716         (Include): Specify <unistd.h>.
50717         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50718         HAVE_GETHOSTNAME.
50719         * tests/test-gethostname.c: Include <unistd.h> first.
50720
50721 2008-10-21  Bruno Haible  <bruno@clisp.org>
50722
50723         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50724         * modules/select-tests (Depends-on): Likewise.
50725         Reported by Simon Josefsson.
50726
50727 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50728
50729         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50730         * lib/accept.c: New file, based on winsock.c.
50731         * lib/bind.c: New file, based on winsock.c.
50732         * lib/connect.c: New file, based on winsock.c.
50733         * lib/getpeername.c: New file, based on winsock.c.
50734         * lib/getsockname.c: New file, based on winsock.c.
50735         * lib/getsockopt.c: New file, based on winsock.c.
50736         * lib/ioctl.c: New file, based on winsock.c.
50737         * lib/listen.c: New file, based on winsock.c.
50738         * lib/recv.c: New file, based on winsock.c.
50739         * lib/recvfrom.c: New file, based on winsock.c.
50740         * lib/send.c: New file, based on winsock.c.
50741         * lib/sendto.c: New file, based on winsock.c.
50742         * lib/setsockopt.c: New file, based on winsock.c.
50743         * lib/shutdown.c: New file, based on winsock.c.
50744         * lib/socket.c: New file, based on winsock.c.
50745         * lib/w32sock.h: New file, based on winsock.c.
50746         * lib/winsock.c: Remove file.
50747         * modules/accept: Likewise.
50748         * modules/bind: Likewise.
50749         * modules/connect: Likewise.
50750         * modules/getpeername: Likewise.
50751         * modules/getsockname: Likewise.
50752         * modules/getsockopt: Likewise.
50753         * modules/ioctl: Likewise.
50754         * modules/listen: Likewise.
50755         * modules/recv: Likewise.
50756         * modules/recvfrom: Likewise.
50757         * modules/send: Likewise.
50758         * modules/sendto: Likewise.
50759         * modules/setsockopt: Likewise.
50760         * modules/shutdown: Likewise.
50761         * modules/socket: Use socket.c instead of winsock.c.
50762         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50763         * doc/posix-functions/accept.texi: Doc fix.
50764         * doc/posix-functions/bind.texi: Doc fix.
50765         * doc/posix-functions/close.texi: Doc fix.
50766         * doc/posix-functions/connect.texi: Doc fix.
50767         * doc/posix-functions/getpeername.texi: Doc fix.
50768         * doc/posix-functions/getsockname.texi: Doc fix.
50769         * doc/posix-functions/getsockopt.texi: Doc fix.
50770         * doc/posix-functions/ioctl.texi: Doc fix.
50771         * doc/posix-functions/listen.texi: Doc fix.
50772         * doc/posix-functions/recv.texi: Doc fix.
50773         * doc/posix-functions/recvfrom.texi: Doc fix.
50774         * doc/posix-functions/send.texi: Doc fix.
50775         * doc/posix-functions/sendto.texi: Doc fix.
50776         * doc/posix-functions/setsockopt.texi: Doc fix.
50777         * doc/posix-functions/shutdown.texi: Doc fix.
50778         * doc/posix-functions/socket.texi: Doc fix.
50779
50780 2008-10-20  Bruno Haible  <bruno@clisp.org>
50781
50782         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50783         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50784         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50785         as an alias for SIGABRT.
50786         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50787         (sigaction): Map it to SIGABRT.
50788         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50789
50790 2008-10-20  Bruno Haible  <bruno@clisp.org>
50791
50792         * lib/fts.c: Don't include lstat.h.
50793         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50794
50795         Move the lstat() declaration to <sys/stat.h>.
50796         * lib/lstat.h: Remove file.
50797         * lib/sys_stat.in.h: Add special invocation convention.
50798         (lstat): New declaration.
50799         * lib/lstat.c (orig_lstat): New function.
50800         (rpl_lstat): Use orig_lstat instead of lstat.
50801         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50802         AC_C_INLINE. Set REPLACE_LSTAT.
50803         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50804         and REPLACE_LSTAT.
50805         * modules/lstat (Files): Remove lib/lstat.h.
50806         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50807         (Include): Specify <sys/stat.h> instead of lstat.h.
50808         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50809         REPLACE_LSTAT.
50810         * NEWS: Mention the change.
50811
50812 2008-10-20  Bruno Haible  <bruno@clisp.org>
50813
50814         * modules/posix_spawn-tests: New file.
50815         * tests/test-posix_spawn3.c: New file.
50816
50817 2008-10-20  Bruno Haible  <bruno@clisp.org>
50818
50819         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50820         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50821         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50822         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50823         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50824
50825 2008-10-20  Bruno Haible  <bruno@clisp.org>
50826
50827         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50828         of posix_spawn on AIX 5.3.
50829
50830 2008-10-20  Bruno Haible  <bruno@clisp.org>
50831
50832         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50833
50834 2008-10-20  Bruno Haible  <bruno@clisp.org>
50835
50836         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50837         of AC_LANG_PROGRAM.
50838
50839 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50840
50841         * lib/netdb.in.h: Don't define GNU specific constants until they
50842         are supported or needed.  Reported by Bruno Haible
50843         <bruno@clisp.org>.
50844
50845 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50846
50847         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50848
50849 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50850
50851         * lib/getaddrinfo.h: Remove file.
50852         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50853         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50854         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50855         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50856         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50857         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50858         * tests/test-getaddrinfo.c: Likewise.
50859         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50860         * NEWS: Mention change.
50861
50862 2008-10-19  Bruno Haible  <bruno@clisp.org>
50863
50864         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50865
50866 2008-10-19  Bruno Haible  <bruno@clisp.org>
50867
50868         * lib/wait-process.c: Include simply <sys/wait.h>.
50869         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50870         WIFSTOPPED): Remove fallback definitions.
50871         * modules/wait-process (Depends-on): Add sys_wait.
50872
50873         New module 'sys_wait'.
50874         * modules/sys_wait: New file.
50875         * lib/sys_wait.in.h: New file, partially copied from
50876         lib/wait-process.c.
50877         * m4/sys_wait_h.m4: New file.
50878         * doc/posix-headers/sys_wait.texi: Mention the new module.
50879
50880 2008-10-19  Bruno Haible  <bruno@clisp.org>
50881
50882         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50883
50884 2008-10-19  Bruno Haible  <bruno@clisp.org>
50885
50886         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50887         * lib/wait-process.c (WAIT_T): Remove type.
50888         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50889         (wait_subprocess): Update.
50890
50891 2008-10-19  Bruno Haible  <bruno@clisp.org>
50892
50893         New module 'atoll'.
50894         * modules/atoll: New file.
50895         * lib/stdlib.in.h (atoll): New declaration.
50896         * lib/atoll.c: New file, from glibc with modifications.
50897         * m4/atoll.m4: New file.
50898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50899         HAVE_ATOLL.
50900         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50901         * doc/posix-functions/atoll.texi: Mention the new module.
50902
50903 2008-10-19  Bruno Haible  <bruno@clisp.org>
50904
50905         Add strtoull() declaration to <stdlib.h>.
50906         * lib/stdlib.in.h (strtoull): New declaration.
50907         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50908         Set HAVE_STRTOULL.
50909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
50910         HAVE_STRTOULL.
50911         * modules/strtoull (Depends-on): Add stdlib.
50912         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50913         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
50914         HAVE_STRTOULL.
50915
50916 2008-10-19  Bruno Haible  <bruno@clisp.org>
50917
50918         Add strtoll() declaration to <stdlib.h>.
50919         * lib/stdlib.in.h (strtoll): New declaration.
50920         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50921         Set HAVE_STRTOLL.
50922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
50923         HAVE_STRTOLL.
50924         * modules/strtoll (Depends-on): Add stdlib.
50925         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50926         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
50927
50928 2008-10-19  Bruno Haible  <bruno@clisp.org>
50929
50930         * modules/bcopy (Depends-on): Add strings.
50931         (Include): Specify <strings.h>.
50932
50933 2008-10-19  Bruno Haible  <bruno@clisp.org>
50934
50935         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
50936
50937 2008-10-19  Bruno Haible  <bruno@clisp.org>
50938
50939         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
50940         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
50941         mingw.
50942
50943 2008-10-19  Bruno Haible  <bruno@clisp.org>
50944
50945         * lib/atanl.c: Don't include isnanl.h.
50946         * lib/cosl.c: Likewise.
50947         * lib/ldexpl.c: Likewise.
50948         * lib/logl.c: Likewise.
50949         * lib/sinl.c: Likewise.
50950         * lib/sqrtl.c: Likewise.
50951         * lib/tanl.c: Likewise.
50952
50953         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
50954         * lib/isnanf.h: Remove file.
50955         * lib/isnand.h: Remove file.
50956         * lib/isnanl.h: Remove file.
50957         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
50958         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
50959         macros.
50960         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
50961         HAVE_ISNANF, don't define it as a C macro.
50962         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
50963         HAVE_ISNAND, don't define it as a C macro.
50964         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
50965         HAVE_ISNANL, don't define it as a C macro.
50966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
50967         HAVE_ISNAN[FDL].
50968         * modules/isnanf (Files): Remove lib/isnanf.h.
50969         (Depends-on): Add math.
50970         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50971         (Include): Specify <math.h> instead of isnanf.h.
50972         * modules/isnand (Files): Remove lib/isnand.h.
50973         (Depends-on): Add math.
50974         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50975         (Include): Specify <math.h> instead of isnand.h.
50976         * modules/isnanl (Files): Remove lib/isnanl.h.
50977         (Depends-on): Add math.
50978         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50979         (Include): Specify <math.h> instead of isnanl.h.
50980         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
50981         HAVE_ISNAN[FDL].
50982         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
50983         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
50984         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
50985         * NEWS: Mention the change.
50986
50987 2008-10-18  Bruno Haible  <bruno@clisp.org>
50988
50989         Add getusershell(), setusershell(), endusershell() declarations to
50990         <unistd.h>.
50991         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
50992         declarations.
50993         * lib/getusershell.c: Include unistd.h.
50994         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
50995         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50996         HAVE_GETUSERSHELL.
50997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
50998         and HAVE_GETUSERSHELL.
50999         * modules/getusershell (Depends-on): Add unistd, extensions.
51000         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51001         (Include): Specify <unistd.h>.
51002         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51003         HAVE_GETUSERSHELL.
51004
51005 2008-10-18  Bruno Haible  <bruno@clisp.org>
51006
51007         Add a getloadavg() declaration to <stdlib.h>.
51008         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51009         getloadavg declaration.
51010         (getloadavg): New declaration.
51011         * lib/getloadavg.c: Include <stdlib.h> first.
51012         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51013         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51014         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51015         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51016         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51017         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51018         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51019         (Include): Specify <stdlib.h>.
51020         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51021         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51022
51023 2008-10-18  Bruno Haible  <bruno@clisp.org>
51024
51025         * lib/dirchownmod.c: Don't include lchmod.h.
51026
51027         Move the lchmod() declaration to <sys/stat.h>.
51028         * lib/lchmod.h: Remove file.
51029         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51030         (lchmod): New declaration, moved here from lib/lchown.h.
51031         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51032         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51033         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51034         and HAVE_LCHMOD.
51035         * modules/lchmod (Files): Remove lib/lchmod.h.
51036         (Depends-on): Add sys_stat, extensions.
51037         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51038         (Include): Specify <sys/stat.h> instead of lchmod.h.
51039         * modules/sys_stat (Depends-on): Add link-warning.
51040         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51041         definition of GL_LINK_WARNING.
51042         * NEWS: Mention the change.
51043
51044 2008-10-18  Bruno Haible  <bruno@clisp.org>
51045
51046         * lib/fchdir.c: Don't include dirfd.h.
51047         * lib/fts.c: Likewise.
51048         * lib/getcwd.c: Likewise.
51049         * lib/glob.c: Likewise.
51050
51051         Move the dirfd() declaration to <dirent.h>.
51052         * lib/dirfd.h: Remove file.
51053         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51054         (dirfd): New declaration.
51055         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51056         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51057         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51058         HAVE_DECL_DIRFD.
51059         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51060         HAVE_DECL_DIRFD.
51061         * modules/dirfd (Files): Remove lib/dirfd.h.
51062         (Depends-on): Add dirent, extensions.
51063         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51064         (Include): Specify <dirent.h> instead of dirfd.h.
51065         * modules/dirent (Depends-on): Add link-warning.
51066         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51067         definition of GL_LINK_WARNING.
51068         * NEWS: Mention the change.
51069
51070 2008-10-18  Bruno Haible  <bruno@clisp.org>
51071
51072         Move the euidaccess() declaration to <unistd.h>.
51073         * lib/euidaccess.h: Remove file.
51074         * lib/unistd.in.h (euidaccess): New declaration.
51075         * lib/euidaccess.c: Don't include euidaccess.h.
51076         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51077         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51079         and HAVE_EUIDACCESS.
51080         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51081         (Depends-on): Add unistd.
51082         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51083         (Include): Specify <unistd.h> instead of euidaccess.h.
51084         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51085         HAVE_EUIDACCESS.
51086         * NEWS: Mention the change.
51087
51088 2008-10-18  Bruno Haible  <bruno@clisp.org>
51089
51090         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51091
51092         Move the getdomainname() declaration to <unistd.h>.
51093         * lib/getdomainname.h: Remove file.
51094         * lib/unistd.in.h (getdomainname): New declaration.
51095         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51096         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51097         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51098         HAVE_GETDOMAINNAME.
51099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51100         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51101         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51102         (Depends-on): Add unistd, extensions.
51103         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51104         (Includes): Specify <unistd.h> instead of getdomainname.h.
51105         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51106         HAVE_GETDOMAINNAME.
51107         * NEWS: Mention the change.
51108
51109 2008-10-18  Bruno Haible  <bruno@clisp.org>
51110
51111         * modules/dirent: New file.
51112         * m4/dirent_h.m4: New file.
51113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51114         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51115         * modules/fchdir (Files): Remove lib/dirent.in.h.
51116         (Depends-on): Add dirent.
51117         (Makefile.am): Move rules to modules/dirent.
51118         * doc/posix-headers/dirent.texi: Mention the new module.
51119
51120 2008-10-18  Bruno Haible  <bruno@clisp.org>
51121
51122         Avoid -Wunused-parameter warnings in public gnulib header files.
51123         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51124         macro.
51125         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51126
51127 2008-10-18  Bruno Haible  <bruno@clisp.org>
51128
51129         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51130         * doc/glibc-functions/error.texi: Mention the module 'error'.
51131         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51132         * doc/glibc-functions/getdomainname.texi: Mention the module
51133         'getdomainname'.
51134         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51135         * doc/glibc-functions/getpagesize.texi: Mention the module
51136         'getpagesize'.
51137         * doc/glibc-functions/getusershell.texi: Mention the module
51138         'getusershell'.
51139         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51140         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51141         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51142         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51143         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51144         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51145         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51146         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51147         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51148         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51149         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51150         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51151         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51152         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51153
51154 2008-10-17  Bruno Haible  <bruno@clisp.org>
51155
51156         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51157         HP-UX and IRIX, use -0.0L.
51158         * tests/test-ceill.c (minus_zero): Likewise.
51159         * tests/test-floorl.c (minus_zero): Likewise.
51160         * tests/test-frexpl.c (minus_zero): Likewise.
51161         * tests/test-isnan.c (minus_zerol): Likewise.
51162         * tests/test-isnanl.h (minus_zero): Likewise.
51163         * tests/test-ldexpl.c (minus_zero): Likewise.
51164         * tests/test-roundl.c (minus_zero): Likewise.
51165         * tests/test-signbit.c (minus_zerol): Likewise.
51166         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51167         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51168         * tests/test-truncl.c (minus_zero): Likewise.
51169         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51170         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51171         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51172         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51173
51174 2008-10-17  Bruno Haible  <bruno@clisp.org>
51175
51176         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51177         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51178         that it gets activated only for gcc >= 3.0.
51179         * lib/dirent.in.h: Likewise.
51180         * lib/errno.in.h: Likewise.
51181         * lib/fcntl.in.h: Likewise.
51182         * lib/float.in.h: Likewise.
51183         * lib/iconv.in.h: Likewise.
51184         * lib/inttypes.in.h: Likewise.
51185         * lib/locale.in.h: Likewise.
51186         * lib/math.in.h: Likewise.
51187         * lib/netdb.in.h: Likewise.
51188         * lib/netinet_in.in.h: Likewise.
51189         * lib/search.in.h: Likewise.
51190         * lib/signal.in.h: Likewise.
51191         * lib/spawn.in.h: Likewise.
51192         * lib/stdarg.in.h: Likewise.
51193         * lib/stdint.in.h: Likewise.
51194         * lib/stdio.in.h: Likewise.
51195         * lib/stdlib.in.h: Likewise.
51196         * lib/string.in.h: Likewise.
51197         * lib/strings.in.h: Likewise.
51198         * lib/sys_file.in.h: Likewise.
51199         * lib/sys_ioctl.in.h: Likewise.
51200         * lib/sys_select.in.h: Likewise.
51201         * lib/sys_socket.in.h: Likewise.
51202         * lib/sys_stat.in.h: Likewise.
51203         * lib/sys_time.in.h: Likewise.
51204         * lib/sysexits.in.h: Likewise.
51205         * lib/time.in.h: Likewise.
51206         * lib/unistd.in.h: Likewise.
51207         * lib/wchar.in.h: Likewise.
51208         * lib/wctype.in.h: Likewise.
51209         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51210
51211 2008-10-17  Jim Meyering  <meyering@redhat.com>
51212
51213         ignore-value: don't depend on inline module
51214         * modules/ignore-value (Depends-on): Remove 'inline'.
51215         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51216         Suggestion from Bruno Haible.
51217
51218 2008-10-17  Bruno Haible  <bruno@clisp.org>
51219
51220         New implementation of condition variables for Win32.
51221         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51222         (gl_linked_waitqueue_t): New type.
51223         (gl_cond_t): Use it.
51224         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51225         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51226         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51227         (glthread_cond_init_func, glthread_cond_wait_func,
51228         glthread_cond_timedwait_func, glthread_cond_signal_func,
51229         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51230         Reimplemented on the basis of gl_linked_waitqueue_t.
51231         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51232         gl_waitqueue_t.
51233         (gl_rwlock_t): Update.
51234         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51235
51236 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51237
51238         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51239         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51240
51241 2008-10-17  Jim Meyering  <meyering@redhat.com>
51242
51243         ignore-value: new module
51244         * modules/ignore-value: New file.
51245         * lib/ignore-value.h: New file.
51246         * MODULES.html.sh (Compiler warning management): New section,
51247         just for this module.  More to come.
51248
51249 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51250
51251         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51252         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51253         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51254
51255 2008-10-16  Jim Meyering  <meyering@redhat.com>
51256
51257         openat-die.c: avoid 'no previous prototype' warning
51258         * lib/openat-die.c: Include "openat.h".
51259         Reported by Reuben Thomas <rrt@sc3d.org>.
51260
51261 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51262
51263         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51264         * lib/netdb.in.h: Fix typo.
51265         Reported by Bruno Haible  <bruno@clisp.org>
51266
51267         * lib/netdb.in.h: Include sys/socket.h for platforms without
51268         netdb.h, to get structures like hostent on MinGW.
51269         * modules/netdb (Depends-on): Add sys_socket.
51270
51271 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51272
51273         * modules/netdb, modules/netdb-tests: New file.
51274         * m4/netdb_h.m4: New file.
51275         * lib/netdb.in.h: Add, currently just an empty file pending
51276         definitions.
51277         * tests/test-netdb.c: New file.
51278         * doc/posix-headers/netdb.texi: Mention that we replace it if
51279         needed.
51280         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51281         netdb.
51282
51283 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51284
51285         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51286         with code.
51287
51288 2008-10-13  Bruno Haible  <bruno@clisp.org>
51289
51290         * lib/glthread/cond.c (glthread_cond_wait_func,
51291         glthread_cond_timedwait_func): Add a comment.
51292
51293 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51294
51295         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51296         * tests/test-select.c: Likewise,
51297
51298 2008-10-13  Bruno Haible  <bruno@clisp.org>
51299
51300         * lib/glthread/cond.c (glthread_cond_wait_func,
51301         glthread_cond_timedwait_func): Fix variable name.
51302         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51303
51304 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51305
51306         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51307         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51308         struct sockaddr.sa_len.
51309         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51310
51311 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51312
51313         * build-aux/pmccabe2html: Add css and css_url parameters.
51314
51315 2008-10-12  Bruno Haible  <bruno@clisp.org>
51316
51317         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51318         calling aclx_get.
51319         Reported by Rainer Tammer <tammer@tammer.net>.
51320
51321 2008-10-12  Bruno Haible  <bruno@clisp.org>
51322
51323         Use msvcrt aware primitives for creation/termination of Win32 threads.
51324         * lib/glthread/thread.c: Include <process.h>.
51325         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51326         (wrapper_func): Update signature.
51327         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51328
51329 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51330             Bruno Haible  <bruno@clisp.org>
51331
51332         Provide a Win32 implementation of the 'cond' module.
51333         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51334         * lib/glthread/cond.c (glthread_cond_init_func,
51335         glthread_cond_wait_func, glthread_cond_timedwait_func,
51336         glthread_cond_signal_func, glthread_cond_broadcast_func,
51337         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51338         * modules/cond (Dependencies): Add gettimeofday.
51339
51340 2008-10-11  Bruno Haible  <bruno@clisp.org>
51341
51342         Make sleep work on older versions of mingw.
51343         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51344         only whether it exists.
51345         * doc/posix-functions/sleep.texi: Mention the problem with older
51346         versions of mingw.
51347
51348 2008-10-11  Bruno Haible  <bruno@clisp.org>
51349
51350         New module 'shutdown'.
51351         * modules/shutdown: New file.
51352         * lib/sys_socket.in.h (shutdown): New declaration.
51353         * lib/winsock.c (shutdown): New function.
51354         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51355         GNULIB_SHUTDOWN.
51356         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51357         * doc/posix-functions/shutdown.texi: Document the new module.
51358
51359 2008-10-11  Jim Meyering  <meyering@redhat.com>
51360
51361         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51362
51363 2008-10-11  Bruno Haible  <bruno@clisp.org>
51364
51365         New module 'fclose'.
51366         * modules/fclose: New file.
51367         * lib/stdio.in.h (fclose): New declaration.
51368         * lib/fclose.c: New file.
51369         * m4/fclose.m4: New file.
51370         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51371         REPLACE_FCLOSE.
51372         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51373         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51374         REPLACE_FCLOSE.
51375         * modules/close (Depends-on): fclose.
51376         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51377
51378 2008-10-11  Bruno Haible  <bruno@clisp.org>
51379
51380         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51381         set errno and don't call _close.
51382
51383 2008-10-10  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51386         ACL, not afterwards. Fixes test failure on Cygwin.
51387
51388 2008-10-09  Ben Pfaff  <blp@gnu.org>
51389
51390         * build-aux/announce-gen: Fix gnulib version related part of usage
51391         message.  Die with a useful error message if no tarballs are
51392         found.
51393
51394 2008-10-10  Jim Meyering  <meyering@redhat.com>
51395
51396         bootstrap: use git's --depth=N option only if it's supported
51397         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
51398         recognize the --depth option.  Reported by Pádraig Brady.
51399
51400 2008-10-09  Bruno Haible  <bruno@clisp.org>
51401
51402         New module 'ioctl'.
51403         * modules/ioctl: New file.
51404         * lib/sys_socket.in.h (ioctl): Remove declaration.
51405         * lib/winsock.c: Include <sys/ioctl.h>.
51406         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
51407         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51408         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
51409         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
51410         * doc/posix-functions/ioctl.texi: Mention the new module.
51411
51412 2008-10-09  Bruno Haible  <bruno@clisp.org>
51413
51414         New module 'sys_ioctl'.
51415         * lib/sys_ioctl.in.h: New file.
51416         * m4/sys_ioctl_h.m4: New file.
51417         * modules/sys_ioctl: New file.
51418         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
51419
51420 2008-10-09  Bruno Haible  <bruno@clisp.org>
51421
51422         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
51423         * lib/winsock.c: Include <stdarg.h>.
51424         (rpl_ioctl): Change to second argument 'int' and then varargs.
51425
51426 2008-10-09  Bruno Haible  <bruno@clisp.org>
51427
51428         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
51429         when the sys_socket module is present and the system has <winsock2.h>.
51430
51431 2008-10-09  Bruno Haible  <bruno@clisp.org>
51432
51433         * doc/posix-functions/close.texi: Mention module 'close' instead of
51434         module 'sys_socket'.
51435
51436 2008-10-09  Bruno Haible  <bruno@clisp.org>
51437
51438         * doc/glibc-headers/sys_ioctl.texi: New file.
51439         * doc/gnulib.texi: Include it.
51440
51441 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51442             Bruno Haible  <bruno@clisp.org>
51443
51444         Combine the two replacements of 'close'.
51445         * lib/sys_socket.in.h (close): Define to a reminder to include
51446         <unistd.h>.
51447         (_gl_close_fd_maybe_socket): New declaration.
51448         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
51449         * lib/winsock.c (close): Remove undefinition.
51450         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
51451         needed for the gnulib module 'close'.
51452         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
51453         define to an error symbol or to a warning, if suitable.
51454         * lib/close.c: Include <sys/socket.h>.
51455         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
51456         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
51457         UNISTD_H_HAVE_WINSOCK2_H.
51458         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
51459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51460         UNISTD_H_HAVE_WINSOCK2_H.
51461         * modules/sys_socket (Files): Add m4/unistd_h.m4.
51462         (configure.ac): Set a module indicator.
51463         (Makefile.am): Substitute GNULIB_CLOSE.
51464         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
51465         * modules/poll-tests (Depends-on): Add close.
51466         * modules/select-tests (Depends-on): Likewise.
51467
51468 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51469             Bruno Haible  <bruno@clisp.org>
51470
51471         New module 'close'.
51472         * modules/close: New file.
51473         * lib/unistd.in.h (close): Move declaration out of the
51474         FCHDIR_REPLACEMENT scope.
51475         (_gl_unregister_fd): New declaration.
51476         * lib/close.c: New file.
51477         * lib/fchdir.c (rpl_close): Remove function.
51478         * m4/close.m4: New file.
51479         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51480         close.
51481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
51482         REPLACE_CLOSE.
51483         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
51484         REPLACE_CLOSE.
51485         * modules/fchdir (Depends-on): Add close.
51486
51487 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51488             Bruno Haible  <bruno@clisp.org>
51489
51490         * lib/fcntl.in.h (open): Simplify conditionals.
51491         (_gl_register_fd): New declaration.
51492         * lib/fchdir.c (rpl_open): Remove function.
51493         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
51494         also.
51495         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
51496         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51497         open.
51498
51499 2008-10-09  Jim Meyering  <meyering@redhat.com>
51500
51501         GNUmakefile: use the more name-space-friendly "_version"
51502         * top/GNUmakefile (_dummy): Update.
51503         (_version): Rename from "version".
51504
51505 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51506             Bruno Haible  <bruno@clisp.org>
51507
51508         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
51509         rpl_close.
51510         (_gl_register_fd): New function, extracted from rpl_open.
51511         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
51512         (rpl_open, rpl_opendir): Use _gl_register_fd.
51513
51514 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51515
51516         Fix organization of 'open' replacement.
51517         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
51518         (gl_FUNC_OPEN): Use it.
51519         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
51520
51521 2008-10-08  Bruno Haible  <bruno@clisp.org>
51522
51523         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
51524
51525 2008-10-08  Simon Josefsson  <simon@josefsson.org>
51526
51527         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
51528         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
51529         listen).
51530
51531 2008-10-08  Eric Blake  <ebb9@byu.net>
51532
51533         GNUmakefile: add 'make version' target
51534         * top/GNUmakefile (_curr-ver): Split version update rules...
51535         (version): ...into a target.
51536
51537 2008-10-07  Bruno Haible  <bruno@clisp.org>
51538
51539         Use a more portable replacement expression for -0.0L.
51540         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51541         instead of -0.0L. Fix m4 quotation.
51542
51543         * tests/test-signbit.c: Include <float.h>.
51544         (minus_zero): New variable.
51545         (test_signbitl): Use minus_zero instead of -zero.
51546         * modules/signbit-tests (Depends-on): Add float.
51547
51548         * tests/test-ceill.c: Include <float.h>.
51549         (zero): Remove variable.
51550         (minus_zero): New variable.
51551         (main): Use minus_zero instead of -zero.
51552         * modules/ceill-tests (Depends-on): Add float.
51553
51554         * tests/test-floorl.c: Include <float.h>.
51555         (zero): Remove variable.
51556         (minus_zero): New variable.
51557         (main): Use minus_zero instead of -zero.
51558         * modules/floorl-tests (Depends-on): Add float.
51559
51560         * tests/test-roundl.c: Include <float.h>.
51561         (zero): Remove variable.
51562         (minus_zero): New variable.
51563         (main): Use minus_zero instead of -zero.
51564         * modules/roundl-tests (Depends-on): Add float.
51565
51566         * tests/test-truncl.c: Include <float.h>.
51567         (zero): Remove variable.
51568         (minus_zero): New variable.
51569         (main): Use minus_zero instead of -zero.
51570         * modules/truncl-tests (Depends-on): Add float.
51571
51572         * tests/test-frexpl.c (zero): Remove variable.
51573         (minus_zero): New variable.
51574         (main): Use minus_zero instead of -zero.
51575         * modules/frexpl-tests (Depends-on): Add float.
51576
51577         * tests/test-isnan.c (zerol): Remove variable.
51578         (minus_zerol): New variable.
51579         (test_long_double): Use minus_zerol instead of -zerol.
51580         * modules/isnan-tests (Depends-on): Add float.
51581
51582         * tests/test-isnanl.h (zero): Remove variable.
51583         (minus_zero): New variable.
51584         (main): Use minus_zero instead of -zero.
51585         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51586         * modules/isnanl-tests (Depends-on): Add float.
51587
51588         * tests/test-ldexpl.c (zero): Remove variable.
51589         (minus_zero): New variable.
51590         (main): Use minus_zero instead of -zero.
51591         * modules/ldexpl-tests (Depends-on): Add float.
51592
51593         * tests/test-snprintf-posix.h (zerol): Remove variable.
51594         (minus_zerol): New variable.
51595         (test_function): Use minus_zerol instead of -zerol.
51596         * modules/snprintf-posix-tests (Depends-on): Add float.
51597         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51598
51599         * tests/test-sprintf-posix.h (zerol): Remove variable.
51600         (minus_zerol): New variable.
51601         (test_function): Use minus_zerol instead of -zerol.
51602         * modules/sprintf-posix-tests (Depends-on): Add float.
51603         * modules/vsprintf-posix-tests (Depends-on): Add float.
51604
51605         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51606         (minus_zerol): New variable.
51607         (test_function): Use minus_zerol instead of -zerol.
51608         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51609
51610         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51611         (minus_zerol): New variable.
51612         (test_function): Use minus_zerol instead of -zerol.
51613         * modules/vasprintf-posix-tests (Depends-on): Add float.
51614
51615 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51616
51617         * MODULES.html.sh (Support for building documentation): Mention
51618         pmccabe2html.  Sort entries.
51619
51620         Add pmccabe2html module, from gnupdf.
51621         * build-aux/pmccabe.css: New file.
51622         * build-aux/pmccabe2html: New file.
51623         * m4/pmccabe2html.m4: New file.
51624         * modules/pmccabe2html: New file.
51625
51626 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51627
51628         flock: new module
51629         * MODULES.html.sh: Add to list of modules.
51630         * lib/flock.c: flock implementation for Windows and Unix systems
51631         which have fcntl.
51632         * doc/glibc-functions/flock.texi: Update documentation.
51633         * lib/sys_file.in.h: <sys/file.h> header file.
51634         * m4/flock.m4: M4 macros.
51635         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51636         * modules/flock: flock module.
51637         * modules/flock-tests: flock tests module.
51638         * modules/sys_file: sys/file.h module.
51639         * tests/test-flock.c: test suite for flock.
51640
51641 2008-10-06  Jim Meyering  <meyering@redhat.com>
51642
51643         bootstrap: check for LT_INIT more portably still ;-)
51644         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51645         Spotted by Bruno Haible.
51646
51647 2008-10-06  Eric Blake  <ebb9@byu.net>
51648
51649         test-signbit: avoid tripping Irix cc bug on -0.0L
51650         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51651         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51652         entire testsuite consistent and avoids an Irix 6.2 bug.
51653
51654 2008-10-05  Bruno Haible  <bruno@clisp.org>
51655             Jim Meyering  <jim@meyering.net>
51656
51657         Add an option for ignoring EPIPE during close_stdout.
51658         * lib/closeout.h: Include <stdbool.h>.
51659         (close_stdout_set_ignore_EPIPE): New declaration.
51660         * lib/closeout.c: Include <stdbool.h>.
51661         (ignore_EPIPE): New variable.
51662         (close_stdout_set_ignore_EPIPE): New function.
51663         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51664         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51665         failure.
51666         * modules/closeout (Depends-on): Add stdbool.
51667
51668 2008-10-05  Bruno Haible  <bruno@clisp.org>
51669
51670         * modules/accept: New file.
51671         * modules/bind: New file.
51672         * modules/connect: New file.
51673         * modules/getpeername: New file.
51674         * modules/getsockname: New file.
51675         * modules/getsockopt: New file.
51676         * modules/listen: New file.
51677         * modules/recv: New file.
51678         * modules/recvfrom: New file.
51679         * modules/send: New file.
51680         * modules/sendto: New file.
51681         * modules/setsockopt: New file.
51682         * modules/socket: New file.
51683         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51684         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51685         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51686         the particular module is requested. Add a link warning when the
51687         particular module is not requested.
51688         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51689         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51690         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51691         the particular module is requested.
51692         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51693         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51694         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51695         * modules/sys_socket (Depends-on): Add link-warning.
51696         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51697         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51698         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51699         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51700         GL_LINK_WARNING.
51701         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51702         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51703         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51704         * doc/posix-functions/getpeername.texi: Mention the new module
51705         'getpeername'.
51706         * doc/posix-functions/getsockname.texi: Mention the new module
51707         'getsockname'.
51708         * doc/posix-functions/getsockopt.texi: Mention the new module
51709         'getsockopt'.
51710         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51711         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51712         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51713         * doc/posix-functions/send.texi: Mention the new module 'send'.
51714         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51715         * doc/posix-functions/setsockopt.texi: Mention the new module
51716         'setsockopt'.
51717         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51718         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51719         listen, connect, accept.
51720         * modules/select-tests (Depends-on): Likewise.
51721
51722 2008-10-05  Bruno Haible  <bruno@clisp.org>
51723
51724         * lib/winsock.c (strerror): Remove unused #undef.
51725         (rpl_close): Remove unused local variable.
51726
51727         * modules/sys_socket (Depends-on); Add errno.
51728
51729 2008-10-05  Bruno Haible  <bruno@clisp.org>
51730
51731         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51732         (select): Add a link warning when the 'select' module is not used.
51733         * modules/sys_select (Depends-on): Add link-warning.
51734         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51735         Suggested by Paolo Bonzini.
51736
51737 2008-10-05  Jim Meyering  <meyering@redhat.com>
51738
51739         bootstrap: check for LT_INIT more portably
51740         * build-aux/bootstrap: Avoid using grep -E, since it's not
51741         portable enough.  Suggestion from Bruno Haible.
51742
51743 2008-10-05  Bruno Haible  <bruno@clisp.org>
51744
51745         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51746         as being fixed by gnulib.
51747
51748 2008-10-05  Bruno Haible  <bruno@clisp.org>
51749
51750         * modules/select-tests: New file, mostly copied from
51751         modules/sys_select-tests.
51752         * tests/test-select.c: New file, mostly copied from
51753         tests/test-sys_select.c.
51754         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51755         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51756         (Makefile.am): Remove test_sys_select_LDADD.
51757
51758         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51759         to an undefined symbol, for an error message.
51760         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51761         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51762         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51763         winsock-select.c here.
51764         * modules/sys_select (Files): Remove lib/winsock-select.c.
51765         (Depends-on): Remove alloca.
51766         (Makefile.am): Substitute GNULIB_SELECT.
51767         * modules/select: New file.
51768         * doc/posix-functions/select.texi: Update.
51769
51770 2008-10-05  Bruno Haible  <bruno@clisp.org>
51771
51772         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51773         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51774         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51775         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51776         getdtablesize.
51777         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51778         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51779
51780 2008-10-05  Bruno Haible  <bruno@clisp.org>
51781
51782         * modules/getdtablesize-tests: New file.
51783         * tests/test-getdtablesize.c: New file.
51784
51785         New module 'getdtablesize'.
51786         * lib/unistd.in.h (getdtablesize): New declaration.
51787         * lib/getdtablesize.c: New file.
51788         * m4/getdtablesize.m4: New file.
51789         * modules/getdtablesize: New file.
51790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51791         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51792         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51793         HAVE_GETDTABLESIZE.
51794         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51795
51796 2008-10-05  Bruno Haible  <bruno@clisp.org>
51797
51798         * modules/sched (Makefile.am): Fix typo.
51799         Reported by Simon Josefsson.
51800
51801 2008-10-05  Jim Meyering  <meyering@redhat.com>
51802
51803         bootstrap: check for LT_INIT, too
51804         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51805         are deprecated.  Suggestion from Ralf Wildenhues.
51806
51807 2008-10-05  Bruno Haible  <bruno@clisp.org>
51808
51809         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51810         overriding them by ours.
51811         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51812
51813 2008-10-05  Jim Meyering  <meyering@redhat.com>
51814
51815         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51816         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51817         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51818
51819 2008-10-04  Bruno Haible  <bruno@clisp.org>
51820
51821         * modules/dup2 (License): Change to LGPLv2+.
51822         * modules/sleep (License): Likewise.
51823         * modules/perror (License): Likewise.
51824         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51825         Blake.
51826         * modules/signal (License): Likewise.
51827         * modules/sigprocmask (License): Likewise.
51828         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51829         Meyering.
51830
51831 2008-10-04  Bruno Haible  <bruno@clisp.org>
51832
51833         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51834         Reported by Rainer Tammer <tammer@tammer.net>.
51835
51836 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51837             Bruno Haible  <bruno@clisp.org>
51838
51839         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51840         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51841         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51842
51843 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51844
51845         filevercmp: new module
51846         * lib/filevercmp.h: New function filevercmp comparing version strings.
51847         * lib/filevercmp.c: Implementation of filevercmp function.
51848         * modules/filevercmp: Module metadata.
51849         * tests/test-filevercmp.c: Unit test for new module.
51850         * modules/filevercmp-tests: Unit test metadata.
51851         * MODULES.html.sh: Add filevercmp module.
51852
51853 2008-10-03  Bruno Haible  <bruno@clisp.org>
51854
51855         * lib/c-ctype.h: Add comment.
51856         Reported by Jim Meyering.
51857
51858 2008-10-02  Bruno Haible  <bruno@clisp.org>
51859
51860         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51861
51862 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51863
51864         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51865         name of bootstrap.conf accordingly.
51866
51867 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51868
51869         * build-aux/bootstrap: Install git-merge-changelog configuration
51870         items into .gitconfig if needed.
51871
51872 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51873
51874         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51875         git repository, and initialize/update it accordingly.
51876
51877 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51878
51879         * modules/fsync-tests: New file.
51880         * tests/test-fsync.c: New file.
51881
51882         New module 'fsync'.
51883         * lib/fsync.c: New file.
51884         * m4/fsync.m4: New file.
51885         * modules/fsync: New file.
51886         * lib/unistd.in.h (fsync): New declaration.
51887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51888         GNULIB_FSYNC and HAVE_FSYNC.
51889         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51890         * MODULES.html.sh (posix_functions): Add fsync.
51891         * doc/posix-functions/fsync.texi: Mention the new module.
51892
51893 2008-10-02  Jim Meyering  <meyering@redhat.com>
51894
51895         fts.c: sync with similar code from coreutils' remove.c
51896         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51897         Guard also with "#if defined __linux__", since for now at least,
51898         this code is Linux-kernel-specific.
51899
51900 2008-10-02  Jim Meyering  <meyering@redhat.com>
51901
51902         fts: bug fixes
51903         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
51904         Include <sys/vfs.h>, not <sys/statfs.h>.
51905
51906         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
51907         Include <sys/vfs.h>, not <sys/statfs.h>.
51908
51909 2008-10-01  Bruno Haible  <bruno@clisp.org>
51910
51911         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
51912         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
51913         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
51914         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
51915         * doc/posix-functions/posix_spawnp.texi: Likewise.
51916         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
51917         whether posix_spawn actually works.
51918         * m4/pipe.m4 (gl_PIPE): Likewise.
51919         * modules/execute (Files): Add m4/posix_spawn.m4.
51920         * modules/pipe (Files): Add m4/posix_spawn.m4.
51921         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
51922
51923 2008-10-01  Jim Meyering  <meyering@redhat.com>
51924
51925         remove trailing spaces
51926         * NEWS: Likewise.
51927         * lib/poll.c (poll): Likewise.
51928         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
51929         * lib/winsock.c (rpl_close): Likewise.
51930         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
51931         * modules/yield: Likewise.
51932         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
51933         * tests/test-sys_select.c (connect_to_socket): Likewise.
51934
51935         fts.c: adjust a new interface to be more generally useful
51936         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
51937         (fts_build): Adjust caller.
51938
51939 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51940
51941         * modules/cond-tests: New file.
51942         * tests/test-cond.c: New file.
51943
51944 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51945             Bruno Haible  <bruno@clisp.org>
51946
51947         * modules/cond (Dependencies): Add errno, time.
51948         * lib/glthread/cond.h: Include <time.h>.
51949         (gl_cond_define, gl_cond_define_initialized): Use the same definition
51950         across platforms.
51951
51952 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51953             Bruno Haible  <bruno@clisp.org>
51954
51955         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
51956
51957 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51958             Bruno Haible  <bruno@clisp.org>
51959
51960         * modules/tls-tests (Depends-on): Add thread, yield.
51961         (configure.ac): Remove all checks.
51962         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
51963         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51964         gl_thread_self): Remove definitions. Include glthread/thread.h and
51965         glthread/yield.h instead.
51966         (test_tls): Pass an additional NULL argument to gl_thread_join.
51967
51968 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51969             Bruno Haible  <bruno@clisp.org>
51970
51971         * modules/lock-tests (Depends-on): Add thread, yield.
51972         (configure.ac): Remove all checks.
51973         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
51974         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51975         gl_thread_self): Remove definitions. Include glthread/thread.h and
51976         glthread/yield.h instead.
51977         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
51978         additional NULL argument to gl_thread_join.
51979
51980 2008-09-30  Bruno Haible  <bruno@clisp.org>
51981
51982         Fix the Win32 implementation of the 'thread' module.
51983         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
51984         pointer type.
51985         (gl_thread_self): Invoke gl_thread_self_func.
51986         (gl_thread_self_func): New declaration.
51987         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
51988         (do_init_self_key, init_self_key): New functions.
51989         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
51990         Remove some fields.
51991         (running_threads, running_lock): Remove variables.
51992         (get_current_thread_handle): New function.
51993         (gl_thread_self_func, wrapper_func, glthread_create_func,
51994         glthread_join_func, gl_thread_exit_func): Largely rewritten and
51995         simplified.
51996
51997 2008-09-30  Bruno Haible  <bruno@clisp.org>
51998
51999         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52000         files.
52001
52002 2008-09-30  Jim Meyering  <meyering@redhat.com>
52003
52004         fts.m4: correct the test for statfs.f_type
52005         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52006         when checking for statfs.f_type.
52007
52008 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52009
52010         tests: avoid some compiler warnings
52011         * tests/test-memchr.c (main): Pass NULL indirectly.
52012         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52013
52014 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52015
52016         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52017         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52018         exactly specified dayshifts.
52019         (dayshift): New rule.
52020         (rel): Add dayshift.
52021         (relative_time_table) [tomorrow, yesterday, today, now]:
52022         Use tDAY_SHIFT in place of tDAY_UNIT.
52023         * tests/test-getdate.c: Add tests for now-disallowed countable
52024         dayshifts, e.g., "4 yesterday ago".
52025
52026 2008-09-29  Bruno Haible  <bruno@clisp.org>
52027
52028         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52029         * tests/test-posix_spawn1.in.sh: Renamed from
52030         tests/test-posix_spawn.in.sh.
52031         * tests/test-posix_spawn2.c: New file.
52032         * tests/test-posix_spawn2.in.sh: New file.
52033         * modules/posix_spawnp-tests (Files): Update.
52034         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52035
52036 2008-09-29  Bruno Haible  <bruno@clisp.org>
52037
52038         Propagate effects of putenv/setenv/unsetenv to child processes.
52039         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52040         * lib/pipe.c (create_pipe): Likewise.
52041
52042 2008-09-29  Bruno Haible  <bruno@clisp.org>
52043
52044         Enable use of shell scripts as executables in mingw.
52045         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52046         run the program as a shell script.
52047         * lib/pipe.c (create_pipe): Likewise.
52048         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52049         resulting array.
52050
52051 2008-09-29  Eric Blake  <ebb9@byu.net>
52052
52053         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52054
52055 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52056
52057         * doc/posix-functions/accept.texi: Update mingw problems.
52058         * doc/posix-functions/bind.texi: Update mingw problems.
52059         * doc/posix-functions/close.texi: Update mingw problems.
52060         * doc/posix-functions/connect.texi: Update mingw problems.
52061         * doc/posix-functions/getpeername.texi: Update mingw problems.
52062         * doc/posix-functions/getsockname.texi: Update mingw problems.
52063         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52064         * doc/posix-functions/ioctl.texi: Update mingw problems.
52065         * doc/posix-functions/listen.texi: Update mingw problems.
52066         * doc/posix-functions/recv.texi: Update mingw problems.
52067         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52068         * doc/posix-functions/select.texi: Update mingw problems.
52069         * doc/posix-functions/send.texi: Update mingw problems.
52070         * doc/posix-functions/sendto.texi: Update mingw problems.
52071         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52072         * doc/posix-functions/socket.texi: Update mingw problems.
52073
52074 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52075             Bruno Haible  <bruno@clisp.org>
52076
52077         * lib/sys_select.in.h: Include sys/time.h.
52078         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52079         * modules/sys_select: Depend on sys_time.
52080         * tests/test-sys_select.c: Test that sys/select.h defines struct
52081         timeval fully.
52082
52083 2008-09-29  Bruno Haible  <bruno@clisp.org>
52084
52085         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52086         * lib/sys_select.in.h: Likewise.
52087
52088 2008-09-29  Bruno Haible  <bruno@clisp.org>
52089
52090         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52091
52092 2008-09-29  Bruno Haible  <bruno@clisp.org>
52093
52094         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52095         Set LIBSOCKET instead of augmenting LIBS.
52096         * modules/sockets (Link): New section.
52097         * modules/sockets-tests (test_sockets_LDADD): New variable.
52098         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52099         * modules/poll-tests (test_poll_LDADD): New variable.
52100         * NEWS: Document the change.
52101
52102 2008-09-29  Bruno Haible  <bruno@clisp.org>
52103
52104         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52105         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52106         ARPA_INET_H directly.
52107         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52108
52109 2008-09-28  Bruno Haible  <bruno@clisp.org>
52110
52111         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52112         from gl_HEADER_SYS_SOCKET.
52113         (gl_HEADER_SYS_SOCKET): Invoke it.
52114         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52115
52116 2008-09-28  Bruno Haible  <bruno@clisp.org>
52117
52118         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52119         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52120         Needed on OSF/1 4.0.
52121
52122 2008-09-28  Bruno Haible  <bruno@clisp.org>
52123
52124         Override open more carefully.
52125         * lib/open.c (orig_open): New function.
52126         (rpl_open): Use orig_open instead of open.
52127         * lib/fcntl.in.h: Add special invocation convention.
52128         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52129         (gl_FUNC_OPEN): Invoke it.
52130
52131         Override freopen more carefully.
52132         * lib/freopen.c (orig_freopen): New function.
52133         (rpl_freopen): Use orig_freopen instead of freopen.
52134         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52135         (gl_FUNC_FREOPEN): Invoke it.
52136
52137         Override fopen more carefully.
52138         * lib/fopen.c (orig_fopen): New function.
52139         (rpl_fopen): Use orig_fopen instead of fopen.
52140         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52141         (gl_FUNC_FOPEN): Invoke it.
52142         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52143
52144 2008-09-28  Bruno Haible  <bruno@clisp.org>
52145
52146         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52147         SIGPIPE.
52148
52149 2008-09-28  Bruno Haible  <bruno@clisp.org>
52150
52151         * tests/test-sigaction.c (handler, main): Disable the check whether
52152         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52153         glibc systems with LinuxThreads.
52154
52155 2008-09-28  Bruno Haible  <bruno@clisp.org>
52156
52157         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52158
52159         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52160         with AIX xlc.
52161         * lib/fcntl.in.h (open): Likewise.
52162         Reported by Rainer Tammer <tammer@tammer.net>.
52163
52164 2008-09-28  Bruno Haible  <bruno@clisp.org>
52165
52166         * modules/posix_spawnp-tests: New file.
52167         * tests/test-posix_spawn.c: New file.
52168         * tests/test-posix_spawn.in.sh: New file.
52169
52170         New module 'posix_spawnp'.
52171         * modules/posix_spawnp: New file.
52172         * lib/spawnp.c: New file, from GNU libc with modifications.
52173         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52174
52175         New module 'posix_spawn'.
52176         * modules/posix_spawn: New file.
52177         * lib/spawn.c: New file, from GNU libc with modifications.
52178         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52179
52180         New module 'posix_spawnattr_destroy'.
52181         * modules/posix_spawnattr_destroy: New file.
52182         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52183         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52184         module.
52185
52186         New module 'posix_spawnattr_setsigmask'.
52187         * modules/posix_spawnattr_setsigmask: New file.
52188         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52189         modifications.
52190         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52191         new module.
52192
52193         New module 'posix_spawnattr_getsigmask'.
52194         * modules/posix_spawnattr_getsigmask: New file.
52195         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52196         modifications.
52197         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52198         new module.
52199
52200         New module 'posix_spawnattr_setsigdefault'.
52201         * modules/posix_spawnattr_setsigdefault: New file.
52202         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52203         modifications.
52204         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52205         new module.
52206
52207         New module 'posix_spawnattr_getsigdefault'.
52208         * modules/posix_spawnattr_getsigdefault: New file.
52209         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52210         modifications.
52211         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52212         new module.
52213
52214         New module 'posix_spawnattr_setschedpolicy'.
52215         * modules/posix_spawnattr_setschedpolicy: New file.
52216         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52217         modifications.
52218         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52219         new module.
52220
52221         New module 'posix_spawnattr_getschedpolicy'.
52222         * modules/posix_spawnattr_getschedpolicy: New file.
52223         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52224         modifications.
52225         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52226         new module.
52227
52228         New module 'posix_spawnattr_setschedparam'.
52229         * modules/posix_spawnattr_setschedparam: New file.
52230         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52231         modifications.
52232         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52233         new module.
52234
52235         New module 'posix_spawnattr_getschedparam'.
52236         * modules/posix_spawnattr_getschedparam: New file.
52237         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52238         modifications.
52239         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52240         new module.
52241
52242         New module 'posix_spawnattr_setpgroup'.
52243         * modules/posix_spawnattr_setpgroup: New file.
52244         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52245         modifications.
52246         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52247         module.
52248
52249         New module 'posix_spawnattr_getpgroup'.
52250         * modules/posix_spawnattr_getpgroup: New file.
52251         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52252         modifications.
52253         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52254         module.
52255
52256         New module 'posix_spawnattr_setflags'.
52257         * modules/posix_spawnattr_setflags: New file.
52258         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52259         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52260         module.
52261
52262         New module 'posix_spawnattr_getflags'.
52263         * modules/posix_spawnattr_getflags: New file.
52264         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52265         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52266         module.
52267
52268         New module 'posix_spawnattr_init'.
52269         * modules/posix_spawnattr_init: New file.
52270         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52271         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52272         module.
52273
52274         New module 'posix_spawn_file_actions_destroy'.
52275         * modules/posix_spawn_file_actions_destroy: New file.
52276         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52277         modifications.
52278         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52279         the new module.
52280
52281         New module 'posix_spawn_file_actions_addopen'.
52282         * modules/posix_spawn_file_actions_addopen: New file.
52283         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52284         modifications.
52285         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52286         the new module.
52287
52288         New module 'posix_spawn_file_actions_adddup2'.
52289         * modules/posix_spawn_file_actions_adddup2: New file.
52290         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52291         modifications.
52292         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52293         the new module.
52294
52295         New module 'posix_spawn_file_actions_addclose'.
52296         * modules/posix_spawn_file_actions_addclose: New file.
52297         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52298         modifications.
52299         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52300         the new module.
52301
52302         New module 'posix_spawn_file_actions_init'.
52303         * modules/posix_spawn_file_actions_init: New file.
52304         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52305         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52306         new module.
52307
52308         New module 'posix_spawn-internal'.
52309         * modules/posix_spawn-internal: New file.
52310         * lib/spawn_int.h: New file, from GNU libc with modifications.
52311         * lib/spawni.c: New file, from GNU libc with modifications.
52312         * m4/posix_spawn.m4: New file.
52313
52314         New module 'spawn'.
52315         * modules/spawn: New file.
52316         * lib/spawn.in.h: New file, from GNU libc with modifications.
52317         * m4/spawn_h.m4: New file.
52318         * doc/posix-headers/spawn.texi: Mention the new module.
52319
52320 2008-09-28  Bruno Haible  <bruno@clisp.org>
52321
52322         * modules/sched-tests: New file.
52323         * tests/test-sched.c: New file.
52324
52325         New module 'sched'.
52326         * modules/sched: New file.
52327         * lib/sched.in.h: New file.
52328         * m4/sched_h.m4: New file.
52329         * doc/posix-headers/sched.texi: Mention the new module.
52330
52331 2008-09-27  Eric Blake  <ebb9@byu.net>
52332
52333         Fix previous patch, and tweak references to $0.
52334         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52335         (func_version, func_gnulib_dir): Don't call this program
52336         gnulib-tool.
52337         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52338         with using $0 in function.
52339         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52340         (func_fatal_error): Reuse the name the user invoked us with.
52341
52342 2008-09-27  Bruno Haible  <bruno@clisp.org>
52343
52344         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52345         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52346         (gl_ICONV_H): Not here.
52347         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52348         instead of assigning ICONV_H directly.
52349
52350         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52352         WCHAR_H directly.
52353
52354 2008-09-27  Bruno Haible  <bruno@clisp.org>
52355
52356         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52357         * modules/arpa_inet (Depends-on): Add link-warning.
52358         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52359         * modules/unistd (Makefile.am): Likewise.
52360
52361 2008-09-26  Bruno Haible  <bruno@clisp.org>
52362
52363         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52364         variables.
52365         (func_version): Essentially copied from gnulib-tool.
52366         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52367         func_readlink): Copied from gnulib-tool.
52368
52369 2008-09-26  Bruno Haible  <bruno@clisp.org>
52370
52371         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52372         invoking git-version-gen.
52373
52374 2008-09-26  Bruno Haible  <bruno@clisp.org>
52375
52376         * posix-modules: Update to directory names changed on 2008-01-19.
52377         Remove commas in output before splitting into words. No more need to
52378         avoid 'ftruncate' since 2007-02-19.
52379
52380 2008-09-26  Bruno Haible  <bruno@clisp.org>
52381
52382         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52383
52384 2008-09-26  Bruno Haible  <bruno@clisp.org>
52385
52386         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52387         * modules/fwriteerror (Depends-on): Add errno.
52388
52389 2008-09-26  Bruno Haible  <bruno@clisp.org>
52390
52391         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52392         * tests/test-vc-list-files-cvs.sh: Likewise.
52393
52394 2008-09-26  Bruno Haible  <bruno@clisp.org>
52395
52396         * doc/posix-headers/sys_resource.texi: Reorder items.
52397
52398 2008-09-26  Jim Meyering  <meyering@redhat.com>
52399
52400         fts: tweak inode comparison function
52401         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
52402         inode numbers, as documented.
52403
52404         fts: sort dirent entries on inode number before traversing
52405         This avoids a quadratic, seek-related performance penalty when
52406         operating on a directory containing many entries (measurable at 10k;
52407         3.5 hours at 2 million entries with a cold cache) on certain types
52408         of file systems, including ext3 and ext4, but not tmpfs.
52409         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
52410         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
52411         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
52412         (fs_handles_readdir_ordered_dirents_efficiently): New function.
52413         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
52414         (fts_build): Set the stat.st_ino member from D_INO.
52415         If it is likely to be useful, sort dirent entries on inode number.
52416
52417         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
52418         and the struct statfs.f_type member.
52419         * modules/fts (Depends-on): Add d-ino.
52420
52421 2008-09-26  Bruno Haible  <bruno@clisp.org>
52422
52423         * modules/sigpipe-die (Depends-on): Add sigpipe.
52424
52425         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
52426         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
52427         and GNULIB_STDIO_H_SIGPIPE are set.
52428         * lib/stdio-write.c: New file.
52429         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
52430         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52431         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52432         REPLACE_STDIO_WRITE_FUNCS.
52433         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
52434         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52435         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52436         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52437         * modules/stdio (Files): Add lib/stdio-write.c.
52438         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
52439         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52440         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52441         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52442         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
52443         REPLACE_FPRINTF_POSIX.
52444         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
52445         REPLACE_PRINTF_POSIX.
52446         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
52447         REPLACE_VFPRINTF_POSIX.
52448         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
52449         REPLACE_VPRINTF_POSIX.
52450         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
52451         SIGPIPE issue.
52452         * doc/posix-functions/fputc.texi: Likewise.
52453         * doc/posix-functions/fputs.texi: Likewise.
52454         * doc/posix-functions/fwrite.texi: Likewise.
52455         * doc/posix-functions/printf.texi: Likewise.
52456         * doc/posix-functions/putc.texi: Likewise.
52457         * doc/posix-functions/putchar.texi: Likewise.
52458         * doc/posix-functions/puts.texi: Likewise.
52459         * doc/posix-functions/vfprintf.texi: Likewise.
52460         * doc/posix-functions/vprintf.texi: Likewise.
52461
52462         * modules/safe-write (Depends-on): Add write.
52463
52464         * modules/sigpipe-tests: New file.
52465         * tests/test-sigpipe.c: New file.
52466         * tests/test-sigpipe.sh: New file.
52467
52468         * modules/write: New file.
52469         * lib/unistd.in.h: Include <sys/types.h>.
52470         (write): New declaration.
52471         * lib/write.c: New file.
52472         * m4/write.m4: New file.
52473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52474         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
52475         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
52476         GNULIB_WRITE, REPLACE_WRITE.
52477         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
52478         and the SIGPIPE issue.
52479
52480         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
52481         (raise): New declaration.
52482         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
52483         (ext_signal): New function.
52484         (rpl_raise): New function.
52485         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52486         GNULIB_SIGNAL_H_SIGPIPE.
52487         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
52488         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
52489
52490         * modules/sigpipe: New file.
52491         * m4/sigpipe.m4: New file.
52492
52493 2008-09-25  Derek Price  <derek@ximbiot.com>
52494             Bruno Haible  <bruno@clisp.org>
52495
52496         * gnulib-tool (func_import): Report all license incompatibilities, not
52497         just the first one.
52498
52499 2008-09-25  Bruno Haible  <bruno@clisp.org>
52500
52501         * gnulib-tool (func_import): When computing the edits, consider not
52502         only the Makefile.ams that exist but also those that will be generated.
52503
52504 2008-09-25  Simon Josefsson  <simon@josefsson.org>
52505
52506         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
52507         fixes gnulib-tool --test warning about duplicate dependency.
52508
52509 2008-09-25  Bruno Haible  <bruno@clisp.org>
52510
52511         * gnulib-tool: Don't ask the user to perform edits in the generated
52512         Makefile.ams.
52513         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
52514         apply to the Makefile.am being generated.
52515         (func_emit_tests_Makefile_am): Execute edits that apply to the
52516         Makefile.am being generated.
52517         (func_import): Setup list of Makefile.am edits before emitting the
52518         Makefile.ams, not at the end.
52519         (func_create_testdir): Update.
52520         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52521
52522 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52523
52524         * gnulib-tool (func_import): Store the --tests-base option in the
52525         comment in gnulib-cache.m4.
52526
52527 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
52528
52529         * NEWS: Document increased portability that sys_select now provides.
52530
52531         * lib/sys_select.in.h: Install select wrapper.
52532         * lib/sys_socket.in.h: Use more descriptive name when there is no
52533         select wrapper.
52534         * lib/winsock-select.c: New.
52535         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52536         Require gl_HEADER_SYS_SOCKET.
52537         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52538         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52539         * tests/test-sys_select.c: Add functional tests.
52540
52541 2008-09-24  Eric Blake  <ebb9@byu.net>
52542
52543         open, fopen: close fd leak in last patch
52544         * lib/open.c (rpl_open): Close fd before returning error.
52545         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52546         * doc/posix-functions/open.texi (open): Document that Irix also
52547         has the bug.
52548         * doc/posix-functions/fopen.texi (fopen): Likewise.
52549         Reported by Paolo Bonzini.
52550
52551 2008-09-24  Bruno Haible  <bruno@clisp.org>
52552
52553         Ensure that a filename ending in a slash cannot be used to access a
52554         non-directory.
52555         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52556         to check whether it's really a directory.
52557         * lib/fopen.c: Include fcntl.h, unistd.h.
52558         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52559         and fdopen().
52560         * modules/fopen (Depends-on): Add unistd.
52561         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52562         * tests/test-fopen.c (main): Likewise.
52563         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52564         * doc/posix-functions/fopen.texi: Likewise.
52565         Reported by Eric Blake.
52566
52567 2008-09-23  Eric Blake  <ebb9@byu.net>
52568
52569         c-stack: avoid compiler optimizations when provoking overflow
52570         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52571         recursion harder to optimize, to ensure a stack overflow occurs.
52572         * tests/test-c-stack.c (recurse): Likewise.
52573         Borrowed from libsigsegv.
52574
52575         c-stack: work around Irix sigaltstack bug
52576         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52577         whether sigaltstack uses wrong end of stack_t (copied in part from
52578         libsigsegv).
52579         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52580         Irix bug, without requiring an over-allocation.
52581         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52582         bug.
52583
52584         fopen: document mingw bug on directories
52585         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52586         not allowing a stream visiting a directory, even though reading
52587         from such a stream is not portable.
52588
52589 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52590
52591         * lib/poll.c: Rewrite.
52592         * modules/poll: Depend on alloca.
52593
52594 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52595
52596         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52597         instead define prototypes for a full set of wrappers.  Ensure
52598         that Cygwin does not use the compatibility code, which is only
52599         for MinGW.
52600         * lib/winsock.c: New.
52601         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52602         * modules/sys_socket: Add lib/winsock.c.
52603
52604         * modules/poll-tests: Add errno and perror.
52605         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52606
52607 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52608
52609         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52610
52611 2008-09-23  Bruno Haible  <bruno@clisp.org>
52612
52613         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52614         * doc/glibc-functions/*: Likewise.
52615
52616 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52617
52618         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52619         success.
52620
52621 2008-09-22  Eric Blake  <ebb9@byu.net>
52622             Bruno Haible  <bruno@clisp.org>
52623
52624         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52625         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52626         supply %A but mishandle pseudo-NaN.
52627         Reported by Simon Josefsson.
52628
52629 2008-09-21  Bruno Haible  <bruno@clisp.org>
52630
52631         * tests/test-lock.c (main): Tweak skip message.
52632         * tests/test-tls.c (main): Likewise.
52633
52634 2008-09-21  Bruno Haible  <bruno@clisp.org>
52635
52636         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52637         whether 'struct sigaction' has sa_sigaction here...
52638         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52639         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52640
52641 2008-09-21  Bruno Haible  <bruno@clisp.org>
52642
52643         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52644         section.
52645         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52646         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52647         the new section.
52648         (Support for obsolete systems lacking POSIX:2001): New section.
52649         (String handling <string.h>): Move strdup to the new section.
52650         Suggested by Simon Josefsson and Paolo Bonzini.
52651
52652 2008-09-21  Bruno Haible  <bruno@clisp.org>
52653
52654         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52655         exponents in %e and %g results on 'long double'. Needed for mingw's
52656         improved *printf functions.
52657         * tests/test-vasprintf-posix.c (test_function): Likewise.
52658         * tests/test-snprintf-posix.h (test_function): Likewise.
52659         * tests/test-sprintf-posix.h (test_function): Likewise.
52660         Reported by Eric Blake.
52661
52662 2008-09-21  Bruno Haible  <bruno@clisp.org>
52663
52664         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52665         * tests/test-sprintf-posix.h (test_function): Likewise.
52666
52667 2008-09-21  Bruno Haible  <bruno@clisp.org>
52668
52669         * modules/getpass (Depends-on): Add strdup-posix.
52670
52671         New module 'strdup-posix'.
52672         * modules/strdup-posix: New file.
52673         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52674         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52675         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52676         REPLACE_STRDUP.
52677         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52678         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52680         strdup-posix.
52681
52682         * modules/strdup (Depends-on): Remove malloc-posix.
52683
52684 2008-09-20  Bruno Haible  <bruno@clisp.org>
52685
52686         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52687         Wildenhues.
52688
52689 2008-09-20  Bruno Haible  <bruno@clisp.org>
52690
52691         Ensure that wint_t gets defined on IRIX 5.3.
52692         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52693         * lib/wctype.in.h (wint_t): Likewise.
52694         (__wctype_wint_t): Remove type.
52695         (isw*): Use wint_t instead of __wctype_wint_t.
52696         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52697         * modules/wchar (Files): Add m4/wint_t.m4.
52698         (Makefile.am): Substitute HAVE_WINT_T.
52699         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52700         * tests/test-wctype.c: Check that wint_t is defined.
52701         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52702         * doc/posix-headers/wctype.texi: Likewise.
52703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52704
52705 2008-09-18  Bruno Haible  <bruno@clisp.org>
52706
52707         * gnulib-tool (func_exit): Update comment.
52708
52709 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52710
52711         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52712         assumes strdup exists and does not depend on strdup to return
52713         ENOMEM on out of memory conditions.
52714
52715 2008-09-18  Bruno Haible  <bruno@clisp.org>
52716
52717         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52718         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52719         digits for the exponent.
52720
52721 2008-09-18  Jim Meyering  <meyering@redhat.com>
52722             Bruno Haible  <bruno@clisp.org>
52723
52724         * lib/vasnprintf.c (decimal_point_char): Define also if
52725         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52726
52727 2008-09-16  Bruno Haible  <bruno@clisp.org>
52728         and Eric Blake  <ebb9@byu.net>
52729
52730         vasnprintf: support Irix 5.3
52731         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52732         that mishandle long double infinity.
52733         Reported by Tom G. Christensen.
52734
52735 2008-09-16  Bruno Haible  <bruno@clisp.org>
52736
52737         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52738         Solaris 9.
52739         * doc/glibc-functions/alphasort.texi: Likewise.
52740         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52741
52742 2008-09-16  Jim Meyering  <meyering@redhat.com>
52743
52744         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52745         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52746         a umask modification leak out of a subshell.  Otherwise, the
52747         opensolaris /bin/sh would be accepted and thus cause unwarranted
52748         failures in the coreutils test suite.
52749
52750 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52751
52752         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52753         to succeed.
52754
52755 2008-09-16  Jim Meyering  <meyering@redhat.com>
52756
52757         avoid spurious test failure when library is built without ACL support
52758         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52759         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52760         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52761         * tests/test-copy-acl.sh: Likewise.
52762
52763 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52764
52765         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52766         based on character occurrence counts.
52767
52768 2008-09-15  Eric Blake  <ebb9@byu.net>
52769
52770         tests: avoid some compiler warnings
52771         * tests/test-memchr.c (main): Pass NULL indirectly.
52772         * tests/test-closein.c (main): Avoid unused variable.
52773
52774 2008-09-15  Bruno Haible  <bruno@clisp.org>
52775
52776         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52777         are missing on OpenBSD 4.0 individually.
52778         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52779
52780 2008-09-15  Bruno Haible  <bruno@clisp.org>
52781
52782         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52783         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52784         * doc/posix-functions/perror.texi: Likewise.
52785         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52786         is missing.
52787         Reported by Eric Blake.
52788
52789         * lib/errno.in.h: Use replacement values >= 2000.
52790         Reported by Eric Blake.
52791
52792 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52793
52794         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52795         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52796         limit.
52797         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52798         compareseq was aborted.
52799
52800 2008-09-14  Bruno Haible  <bruno@clisp.org>
52801
52802         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52803         yvec_edit_count.
52804         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52805         (fstrcmp_bounded): Simplify result computation accordingly.
52806
52807 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52808
52809         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52810         (fstrcmp): Define in terms of fstrcmp_bounded.
52811         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52812         lower_bound argument.
52813         Return quickly if the result is certainly < lower_bound.
52814         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52815
52816 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52817
52818         * lib/diffseq.h (EARLY_ABORT): New macro.
52819         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52820         evaluates to true.
52821
52822 2008-09-14  Bruno Haible  <bruno@clisp.org>
52823
52824         * modules/perror-tests: New file.
52825         * tests/test-perror.sh: New file.
52826         * tests/test-perror.c: New file.
52827
52828         New module 'perror'.
52829         * lib/stdio.in.h (perror): New declaration.
52830         * lib/perror.c: New file.
52831         * m4/perror.m4: New file.
52832         * modules/perror: New file.
52833         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52834         * doc/posix-functions/perror.texi: Mention the perror module.
52835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52836         REPLACE_PERROR.
52837         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52838         REPLACE_PERROR.
52839
52840 2008-09-14  Bruno Haible  <bruno@clisp.org>
52841
52842         * modules/stdio (Makefile.am): Reorder to match the order in
52843         lib/stdio.in.h.
52844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52845
52846 2008-09-13  Bruno Haible  <bruno@clisp.org>
52847
52848         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52849
52850 2008-09-13  Bruno Haible  <bruno@clisp.org>
52851
52852         Extend strerror to cover the added errno values.
52853         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52854         (rpl_strerror): Provide error messages for the added errno values and
52855         for the WSA* values.
52856         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52857         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52858         strerror.
52859         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52860         * modules/strerror (Depends-on): Add errno.
52861         * doc/posix-functions/strerror.texi: Document the change.
52862         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52863         and EOVERFLOW.
52864
52865 2008-09-13  Bruno Haible  <bruno@clisp.org>
52866
52867         * modules/EOVERFLOW: Remove file.
52868         * m4/eoverflow.m4: Remove file.
52869         * modules/EOVERFLOW-tests: Remove file.
52870         * tests/test-EOVERFLOW.c: Remove file.
52871         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52872         * modules/ftell (Depends-on): Likewise.
52873         * modules/getdelim (Depends-on): Likewise.
52874         * modules/getugroups (Depends-on): Likewise.
52875         * modules/poll (Depends-on): Likewise.
52876         * modules/snprintf (Depends-on): Likewise.
52877         * modules/sprintf-posix (Depends-on): Likewise.
52878         * modules/vasnprintf (Depends-on): Likewise.
52879         * modules/vasprintf (Depends-on): Likewise.
52880         * modules/vfprintf-posix (Depends-on): Likewise.
52881         * modules/vsnprintf (Depends-on): Likewise.
52882         * modules/vsprintf-posix (Depends-on): Likewise.
52883         * modules/xvasprintf (Depends-on): Likewise.
52884         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52885         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52886         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52887         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52888         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52889         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52890         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52891         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52892         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52893         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52894         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52895         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52896         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52897         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52898         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52899         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52900         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52901         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52902         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52903         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
52904         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52905         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
52906         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
52907         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
52908         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
52909         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52910         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
52911         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
52912         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
52913         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
52914         * MODULES.html.sh: Remove EOVERFLOW.
52915         * NEWS: Mention the change.
52916
52917 2008-09-13  Bruno Haible  <bruno@clisp.org>
52918
52919         * modules/errno-tests: New file.
52920         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
52921
52922         * lib/errno.in.h: New file.
52923         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
52924         * modules/errno: New file.
52925         * doc/posix-headers/errno.texi: Update documentation.
52926         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
52927
52928 2008-09-13  Bruno Haible  <bruno@clisp.org>
52929
52930         * tests/test-poll.c: Use #if for native Windows, rather than testing
52931         __MSVCRT__.
52932
52933 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52934             Bruno Haible  <bruno@clisp.org>
52935
52936         * lib/glob.c: Don't include <pwd.h> on native Windows.
52937         (WINDOWS32): New macro.
52938         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
52939
52940 2008-09-13  Bruno Haible  <bruno@clisp.org>
52941
52942         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
52943         (ETIMEDOUT): Remove macro.
52944         (glthread_cond_timedwait_multithreaded): New declaration.
52945         (glthread_cond_timedwait): Use it.
52946         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
52947         (glthread_cond_timedwait_multithreaded): New function.
52948
52949 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52950
52951         * modules/poll-tests: Do not check for io.h.
52952         * tests/test-poll.c: Check for __MSVCRT__ instead.
52953
52954 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52955
52956         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
52957         * modules/poll-tests: Add inet_pton, stdbool, sockets.
52958         * tests/test-poll.c: Use them.  Use _pipe on Windows.
52959
52960 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52961
52962         * modules/poll-tests: New.
52963         * tests/test-poll.c: New.
52964
52965 2008-09-12  Eric Blake  <ebb9@byu.net>
52966
52967         frexp: test for NetBSD failure on -0.0
52968         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
52969         not all, bugs from NetBSD 3.0 have been fixed.
52970         * doc/posix-functions/frexp.texi (frexp): Document bug.
52971         Reported by Thomas Klausner.
52972
52973         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
52974         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
52975         literal -0.0.
52976         Reported by Jonathan C. Patschke <jp@centtech.com>.
52977
52978 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52979
52980         * lib/glthread/cond.h: Use dummy implementation also if
52981         USE_WIN32_THREADS.
52982
52983 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52984
52985         * modules/fnmatch-posix (License): Change to LGPLv2+.
52986         * modules/fnmatch-gnu (License): Likewise.
52987
52988 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52989
52990         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
52991
52992 2008-09-11  Jim Meyering  <meyering@redhat.com>
52993
52994         * users.txt: Add gtk-vnc.
52995
52996 2008-09-08  Simon Josefsson  <simon@josefsson.org>
52997
52998         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
52999         rotate amounts.
53000
53001         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53002         required for 16-bit and 8-bit rotates.
53003         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53004         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53005         UINT8_MAX instead of hard-coded constants.
53006         Suggested by Paul Eggert.
53007
53008 2008-09-07  Bruno Haible  <bruno@clisp.org>
53009
53010         * tests/test-striconveh.c (main): Check behaviour when converting from
53011         UTF-7.
53012
53013         Make striconveh work better with stateful encodings.
53014         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53015         that iconv does not increment the inptr when returning -1/EINVAL.
53016
53017 2008-09-07  Bruno Haible  <bruno@clisp.org>
53018
53019         * build-aux/config.rpath: Update according to libtool-2.2.6.
53020         * build-aux/config.libpath: Likewise.
53021
53022 2008-09-06  Bruno Haible  <bruno@clisp.org>
53023
53024         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53025         * lib/freadptr.c (freadptr): Likewise.
53026         * lib/freadseek.c (freadptrinc): Likewise.
53027         Reported by Simon Josefsson.
53028
53029 2008-09-06  Bruno Haible  <bruno@clisp.org>
53030
53031         * modules/freadptr (License): Change to LGPLv2+.
53032         * modules/freadseek (License): Likewise.
53033         Suggested by Eric Blake.
53034
53035         * modules/memchr2 (License): Change to LGPLv2+.
53036         Approved by Eric Blake.
53037
53038 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53039             Bruno Haible  <bruno@clisp.org>
53040
53041         Make gnulib-tool work with native 'sed' on AIX.
53042         * gnulib-tool (sed_noop): New variable.
53043         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53044         func_add_or_update, func_create_testdir): Use it to initialize sed
53045         script variables.
53046         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53047
53048 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53049             Bruno Haible  <bruno@clisp.org>
53050
53051         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53052         also works after #include directives.
53053
53054 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53055
53056         getdate.y: reject an out-of-range timezone value
53057         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53058         the range [-24...+24].  When specified with only one or two digits,
53059         * tests/test-getdate.c: Tests for the fix.
53060         * doc/getdate.texi: Document this change.
53061
53062 2008-09-03  Bruno Haible  <bruno@clisp.org>
53063
53064         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53065
53066 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53067
53068         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53069         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53070         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53071         Blake <ebb9@byu.net>.
53072
53073         * tests/test-bitrotate.c: Add more test vectors.
53074
53075 2008-09-02  Eric Blake  <ebb9@byu.net>
53076
53077         vasnprintf-posix: handle large precision via %.*d
53078         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53079         when handling it ourselves.
53080         * tests/test-vasnprintf-posix.c (test_function): Add test.
53081         * tests/test-snprintf-posix.h (test_function): Likewise.
53082         * tests/test-sprintf-posix.h (test_function): Likewise.
53083         * tests/test-vasprintf-posix.c (test_function): Likewise.
53084         Reported by Alain Guibert.
53085
53086 2008-09-01  Eric Blake  <ebb9@byu.net>
53087
53088         c-stack: make configure-time check more robust
53089         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53090         successful sigaction call.
53091         Reported by Tom G. Christensen.
53092
53093 2008-09-01  Bruno Haible  <bruno@clisp.org>
53094
53095         New module 'findprog-lgpl'.
53096         * modules/findprog-lgpl: New file.
53097         * lib/findprog-lgpl.c: New file.
53098         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53099         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53100         to decide whether to use strdup or xstrdup, concatenated_filename or
53101         xconcatenated_filename.
53102
53103 2008-09-01  Bruno Haible  <bruno@clisp.org>
53104
53105         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53106         'xconcat-filename' (GPL).
53107         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53108         (License): Change to LGPLv2+.
53109         * modules/xconcat-filename: New file.
53110         * lib/concat-filename.h (concatenated_filename): Change specification.
53111         (xconcatenated_filename): New declaration.
53112         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53113         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53114         memory situations.
53115         * lib/xconcat-filename.c: New file.
53116         * NEWS: Mention the change.
53117         * lib/findprog.c: Include concat-filename.h, not filename.h.
53118         (find_in_path): Use xconcatenated_filename instead of
53119         concatenated_filename.
53120         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53121         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53122         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53123         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53124         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53125         instead of concatenated_filename.
53126         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53127         (execute_java_class): Use xconcatenated_filename instead of
53128         concatenated_filename.
53129         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53130         * modules/javacomp (Depends-on): Likewise.
53131         * modules/javaexec (Depends-on): Likewise.
53132
53133 2008-09-01  Bruno Haible  <bruno@clisp.org>
53134
53135         Split module 'filename' into 'filename' and 'concat-filename'.
53136         * modules/filename: Keep only lib/filename.h.
53137         (License): Change to LGPLv2+.
53138         * modules/concat-filename: New file, extracted from modules/filename.
53139         * lib/filename.h (concatenated_filename): Remove declaration.
53140         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53141         * lib/concat-filename.c: Include concat-filename.h.
53142         * NEWS: Mention the change.
53143
53144 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53145
53146         * lib/bitrotate.h (rotl8, rotr8): Add.
53147
53148         * modules/bitrotate (configure.ac): Need
53149         AC_REQUIRE([AC_C_INLINE]).
53150         (Description): Mention stdint.h.  Reported by Bruno Haible
53151         <bruno@clisp.org>.
53152
53153         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53154         Paolo Bonzini <bonzini@gnu.org>.
53155
53156 2008-08-31  Bruno Haible  <bruno@clisp.org>
53157
53158         Assume Solaris specific bi-arch conventions on Solaris systems.
53159         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53160         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53161         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53162         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53163         like acl_libdirstem.
53164         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53165         acl_libdirstem.
53166         * NEWS: Mention the change.
53167         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53168
53169 2008-08-31  Jim Meyering  <meyering@redhat.com>
53170
53171         * lib/strftime.h: Add comments describing the two added arguments.
53172
53173         remove duplicate #include directives
53174         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53175         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53176
53177 2008-08-31  Bruno Haible  <bruno@clisp.org>
53178
53179         New module 'sigpipe-die'.
53180         * modules/sigpipe-die: New file.
53181         * lib/sigpipe-die.h: New file.
53182         * lib/sigpipe-die.c: New file.
53183         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53184
53185 2008-08-31  Bruno Haible  <bruno@clisp.org>
53186
53187         Don't override previously installed signal handlers.
53188         * lib/fatal-signal.c (saved_sigactions): New variable.
53189         (uninstall_handlers): Reset the signal to the saved handler, not
53190         to SIG_DFL (except when ignored).
53191         (install_handlers): Save the previous handlers.
53192
53193 2008-08-30  Bruno Haible  <bruno@clisp.org>
53194
53195         * gnulib-tool (func_reset_sigpipe): New function.
53196         (func_get_automake_snippet, func_modules_transitive_closure,
53197         func_import): Invoke it before a join command that reads from stdin,
53198         to avoid "echo: write error: Broken pipe" error messages on stderr.
53199         Reported by Sam Steingold <sds@gnu.org>.
53200
53201 2008-08-30  Bruno Haible  <bruno@clisp.org>
53202
53203         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53204         Code copied from m4/open.m4.
53205         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53206         access and the filename ends in a slash. Code copied from lib/open.c.
53207         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53208         * tests/test-fopen.c (main): Check against bug with trailing slash.
53209
53210 2008-08-29  Bruno Haible  <bruno@clisp.org>
53211
53212         Avoid some "gcc -pedantic" warnings.
53213         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53214         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53215         * lib/dirent.in.h: Likewise.
53216         * lib/fcntl.in.h: Likewise.
53217         * lib/float.in.h: Likewise.
53218         * lib/iconv.in.h: Likewise.
53219         * lib/inttypes.in.h: Likewise.
53220         * lib/locale.in.h: Likewise.
53221         * lib/math.in.h: Likewise.
53222         * lib/netinet_in.in.h: Likewise.
53223         * lib/search.in.h: Likewise.
53224         * lib/signal.in.h: Likewise.
53225         * lib/stdarg.in.h: Likewise.
53226         * lib/stdint.in.h: Likewise.
53227         * lib/stdio.in.h: Likewise.
53228         * lib/stdlib.in.h: Likewise.
53229         * lib/string.in.h: Likewise.
53230         * lib/strings.in.h: Likewise.
53231         * lib/sys_select.in.h: Likewise.
53232         * lib/sys_socket.in.h: Likewise.
53233         * lib/sys_stat.in.h: Likewise.
53234         * lib/sys_time.in.h: Likewise.
53235         * lib/sysexits.in.h: Likewise.
53236         * lib/time.in.h: Likewise.
53237         * lib/unistd.in.h: Likewise.
53238         * lib/wchar.in.h: Likewise.
53239         * lib/wctype.in.h: Likewise.
53240         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53241         * modules/fchdir (Makefile.am): Likewise.
53242         * modules/fcntl (Makefile.am): Likewise.
53243         * modules/float (Makefile.am): Likewise.
53244         * modules/iconv_open (Makefile.am): Likewise.
53245         * modules/inttypes (Makefile.am): Likewise.
53246         * modules/locale (Makefile.am): Likewise.
53247         * modules/math (Makefile.am): Likewise.
53248         * modules/netinet_in (Makefile.am): Likewise.
53249         * modules/search (Makefile.am): Likewise.
53250         * modules/signal (Makefile.am): Likewise.
53251         * modules/stdarg (Makefile.am): Likewise.
53252         * modules/stdint (Makefile.am): Likewise.
53253         * modules/stdio (Makefile.am): Likewise.
53254         * modules/stdlib (Makefile.am): Likewise.
53255         * modules/string (Makefile.am): Likewise.
53256         * modules/strings (Makefile.am): Likewise.
53257         * modules/sys_select (Makefile.am): Likewise.
53258         * modules/sys_socket (Makefile.am): Likewise.
53259         * modules/sys_stat (Makefile.am): Likewise.
53260         * modules/sys_time (Makefile.am): Likewise.
53261         * modules/sysexits (Makefile.am): Likewise.
53262         * modules/time (Makefile.am): Likewise.
53263         * modules/unistd (Makefile.am): Likewise.
53264         * modules/wchar (Makefile.am): Likewise.
53265         * modules/wctype (Makefile.am): Likewise.
53266         Reported by Reuben Thomas <rrt@sc3d.org>.
53267
53268 2008-08-29  Bruno Haible  <bruno@clisp.org>
53269
53270         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53271         any more.
53272
53273 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53274
53275         * MODULES.html.sh (Misc): Add bitrotate.
53276
53277         * modules/bitrotate: New file.
53278
53279         * lib/bitrotate.h: New file.
53280
53281         * modules/bitrotate-tests: New file.
53282
53283         * tests/test-bitrotate.c: New file.
53284
53285         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53286         on the bitrotate module.
53287
53288         * lib/arctwo.c: Use new bitrotate module.
53289
53290 2008-08-29  Jim Meyering  <meyering@redhat.com>
53291
53292         bootstrap: merge changes from coreutils
53293         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53294         of copied files.  Remove a kludge, now that this is fixed.
53295         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53296         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53297         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53298
53299 2008-08-29  Bruno Haible  <bruno@clisp.org>
53300
53301         * MODULES.html.sh: Remove --cvs-urls option.
53302
53303 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53304
53305         maint.mk: adjust to file name change
53306         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53307
53308 2008-08-28  Jim Meyering  <meyering@redhat.com>
53309
53310         * modules/getndelim2 (License): Relicense to LGPLv2+.
53311         Approved by Richard Stallman for the version of 1995, and by
53312         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53313
53314 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53315
53316         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53317         dummy if one is not available.  Do not touch them if
53318         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53319         (getc_maybe_unlocked): New.
53320         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53321
53322 2008-08-26  Eric Blake  <ebb9@byu.net>
53323
53324         doc/INSTALL: resync from autoconf
53325         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53326         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53327         moving...
53328         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53329         * INSTALL: Regenerate.
53330         * INSTALL.ISO: New file.
53331         * INSTALL.UTF-8: Likewise.
53332
53333 2008-08-26  Jim Meyering  <meyering@redhat.com>
53334
53335         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53336         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53337         these definitions conditional, so that they may be overridden, too.
53338
53339 2008-08-26  Bruno Haible  <bruno@clisp.org>
53340
53341         Generate INSTALL file variants with prettier quotes.
53342         * doc/Makefile (INSTALL_PRELUDE): New macro.
53343         (INSTALL): Use it.
53344         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53345
53346 2008-08-26  Bruno Haible  <bruno@clisp.org>
53347
53348         Run makeinfo in an English locale.
53349         * doc/Makefile (MAKEINFO): New variable.
53350
53351 2008-08-26  Bruno Haible  <bruno@clisp.org>
53352
53353         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53354         Suggested by Eric Blake.
53355
53356 2008-08-25  Bruno Haible  <bruno@clisp.org>
53357
53358         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53359
53360 2008-08-25  Eric Blake  <ebb9@byu.net>
53361
53362         c-stack: test that stack overflow can be caught
53363         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53364         that platform allows handling stack overflow; at least OS/2 EMX
53365         has sigaltstack, but crashes before transferring control to
53366         handler on stack overflow.
53367         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53368         check for HAVE_STACK_OVERFLOW_HANDLING.
53369         Reported by Elbert Pol.
53370
53371 2008-08-25  Bruno Haible  <bruno@clisp.org>
53372
53373         * doc/posix-functions/strftime.texi: Fix description of strftime
53374         module.
53375
53376 2008-08-24  Bruno Haible  <bruno@clisp.org>
53377
53378         * tests/uniwidth/test-uc_width2.c: New file.
53379         * tests/uniwidth/test-uc_width2.sh: New file.
53380         * modules/uniwidth/width-tests (Files): Add the new files.
53381         (TESTS): Add uniwidth/test-uc_width2.sh.
53382         (TESTS_ENVIRONMENT): New variable.
53383         (check_PROGRAMS): Add test-uc_width2.
53384         (test_uc_width2_SOURCES): New variable.
53385
53386         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53387         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53388         not 0x00AB.
53389         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53390
53391 2008-08-22  Eric Blake  <ebb9@byu.net>
53392
53393         test-lock, test-tls: mention why a test is skipped
53394         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
53395         skipped.
53396         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
53397
53398         count-one-bits: relax license
53399         * modules/count-one-bits (License): Relicense to LGPLv2+.
53400         Suggested by Ludovic Courtès, approved by Ben Pfaff.
53401
53402 2008-08-22  Andreas Schwab  <schwab@suse.de>
53403
53404         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53405         Remove spurious space in assignment.
53406
53407 2008-08-21  Simon Josefsson  <simon@josefsson.org>
53408
53409         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
53410         Paul Eggert <eggert@CS.UCLA.EDU>.
53411
53412 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
53413
53414         * modules/gettext: Add m4/threadlib.m4.
53415
53416 2008-08-19  Eric Blake  <ebb9@byu.net>
53417
53418         test-c-stack: fix compilation failure on FreeBSD 5.0
53419         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
53420         headers before <sys/resource.h>.
53421         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
53422         the bug.
53423         Reported by Nelson H. F. Beebe.
53424
53425         strverscmp: migrate from "strverscmp.h" to <string.h>
53426         * modules/string (Makefile.am): Add new hooks.
53427         * modules/strverscmp (Files): Remove strverscmp.h.
53428         (Depends-on): Add string.
53429         (configure.ac): Add indicator.
53430         (Include): Mention new header.
53431         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
53432         defaults.
53433         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
53434         results.
53435         * lib/strverscmp.h: Delete.
53436         * lib/string.in.h (strverscmp): Provide declaration, when needed.
53437         * tests/test-strverscmp.c (includes): Adjust client.
53438         * lib/check-version.c (includes): Likewise.
53439         * NEWS: Document the change.
53440
53441         strverscmp: add unit test
53442         * modules/strverscmp-tests: New file.
53443         * tests/test-strverscmp.c: Likewise.
53444
53445 2008-08-19  Simon Josefsson  <simon@josefsson.org>
53446
53447         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
53448         regarding Windows crypto stuff, from Mono.
53449
53450 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
53451
53452         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
53453         if present, for intel RND.  Return error on failures.
53454
53455 2008-08-18  Ben Pfaff  <blp@gnu.org>
53456
53457         gitlog-to-changelog: give better diagnostic for failed pipe-open
53458         * build-aux/gitlog-to-changelog: Improve error message: suggest
53459         that the version of Git may be too old.
53460
53461 2008-08-18  Simon Josefsson  <simon@josefsson.org>
53462
53463         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
53464         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
53465
53466 2008-08-18  Bruno Haible  <bruno@clisp.org>
53467
53468         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
53469         pthread_in_use().
53470
53471 2008-08-18  Bruno Haible  <bruno@clisp.org>
53472
53473         * lib/glthread/threadlib.c: Include <pthread.h>.
53474
53475 2008-08-18  Bruno Haible  <bruno@clisp.org>
53476
53477         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
53478         glthread_recursive_lock_* macros.
53479         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
53480         Fix syntax error.
53481
53482 2008-08-18  Bruno Haible  <bruno@clisp.org>
53483
53484         * lib/glthread/thread.c: Avoid forcing a context switch right after
53485         thread creation.
53486
53487 2008-08-17  Bruno Haible  <bruno@clisp.org>
53488
53489         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
53490         * lib/glthread/thread.h: Provide Win32 specific implementation.
53491         * modules/thread (Files): Add lib/glthread/thread.c.
53492         (Depends-on): Add lock.
53493         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
53494
53495 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53496
53497         New module 'yield'.
53498         * modules/yield: New file.
53499         * lib/glthread/yield.h: New file.
53500         * m4/yield.m4: New file.
53501         * MODULES.html.sh (Multithreading): Add yield.
53502
53503 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53504
53505         New module 'thread'.
53506         * modules/thread: New file.
53507         * lib/glthread/thread.h: New file.
53508         * m4/thread.m4: New file.
53509         * MODULES.html.sh (Multithreading): Add thread.
53510
53511 2008-08-17  Bruno Haible  <bruno@clisp.org>
53512
53513         * lib/glthread/lock.h: Include <stdlib.h> always.
53514         * lib/glthread/tls.h: Likewise.
53515         * lib/glthread/cond.h: Likewise.
53516
53517 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53518
53519         New module 'cond'.
53520         * modules/cond: New file.
53521         * lib/glthread/cond.h: New file.
53522         * lib/glthread/cond.c: New file.
53523         * m4/cond.m4: New file.
53524         * MODULES.html.sh (Multithreading): Add cond.
53525
53526 2008-08-16  Eric Blake  <ebb9@byu.net>
53527
53528         c-stack: fix regression on Irix 5.3 from 2008-06-21
53529         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
53530         sa_sigaction...
53531         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
53532         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53533         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53534         * modules/signal (Makefile.am): Use the value.
53535         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53536         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53537         * doc/posix-headers/signal.texi (signal.h): Document this
53538         portability issue.
53539         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53540         Reported by Tom G. Christensen.
53541
53542 2008-08-17  Bruno Haible  <bruno@clisp.org>
53543
53544         New module 'threadlib'.
53545         * modules/threadlib: New file.
53546         * lib/glthread/threadlib.c: New file, extracted from
53547         lib/glthread/lock.c.
53548         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53549         functions.
53550         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53551         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53552         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53553         macros.
53554         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53555         (gl_DISABLE_THREADS): Remove macro.
53556         * modules/lock (Files): Remove build-aux/config.rpath.
53557         (Depends-on): Remove havelib. Add threadlib.
53558         (configure.ac-early): Remove section.
53559         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53560         * modules/tls (Depends-on): Remove lock. Add threadlib.
53561         (Link): New section, copied from threadlib.
53562         * MODULES.html.sh (Multithreading): Add threadlib.
53563
53564 2008-08-14  Bruno Haible  <bruno@clisp.org>
53565
53566         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53567         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53568         glthread_rwlock_unlock, glthread_rwlock_destroy,
53569         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53570         glthread_recursive_lock_destroy): Define as macros always.
53571         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53572         glthread_lock_lock.
53573         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53574         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53575         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53576         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53577         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53578         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53579         (glthread_recursive_lock_lock_func): Renamed from
53580         glthread_recursive_lock_lock.
53581         (glthread_recursive_lock_unlock_func): Renamed from
53582         glthread_recursive_lock_unlock.
53583         (glthread_recursive_lock_destroy_func): Renamed from
53584         glthread_recursive_lock_destroy.
53585
53586 2008-08-14  Bruno Haible  <bruno@clisp.org>
53587
53588         * lib/glthread/lock.h: Renamed from lib/lock.h.
53589         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53590         * lib/glthread/tls.h: Renamed from lib/tls.h.
53591         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53592         * lib/fstrcmp.c: Update includes.
53593         * lib/strsignal.c: Update includes.
53594         * modules/lock (Files, Makefile.am): Update.
53595         (Include): Change to "glthread/lock.h".
53596         * modules/tls (Files, Makefile.am): Update.
53597         (Include): Change to "glthread/tls.h".
53598         * tests/test-lock.c: Update includes.
53599         * tests/test-tls.c: Update includes.
53600         * NEWS: Mention the renamed header files.
53601
53602 2008-08-11  Jim Meyering  <meyering@redhat.com>
53603
53604         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53605
53606 2008-08-11  Eric Blake  <ebb9@byu.net>
53607
53608         test-c-stack: avoid C99-ism
53609         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53610         before statement.
53611         Reported by Alain Guibert.
53612
53613 2008-08-10  Jim Meyering  <meyering@redhat.com>
53614
53615         ensure that return value of uinttostr et al are not ignored
53616         * lib/inttostr.h (__GNUC_PREREQ): Define.
53617         (__attribute_warn_unused_result__): Define.
53618         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53619
53620 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53621
53622         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53623         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53624
53625 2008-08-07  Jim Meyering  <meyering@redhat.com>
53626
53627         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53628
53629         * modules/mkstemp (License): Relicense under LGPLv2+.
53630         * modules/tempname (License): Likewise.
53631
53632 2008-08-06  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/poll.c (poll): Further micro-optimization.
53635
53636 2008-08-06  Jim Meyering  <meyering@redhat.com>
53637
53638         inet_pton.c: use locale-independent tolower
53639         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53640         (inet_pton6): Use c_tolower rather than tolower.
53641         * modules/inet_pton (Depends-on): Add c-ctype.
53642
53643 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53644
53645         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53646         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53647
53648 2008-08-06  Jim Meyering  <meyering@redhat.com>
53649
53650         * modules/inet_pton (License): Relicense under LGPLv2+.
53651
53652 2008-08-03  Bruno Haible  <bruno@clisp.org>
53653
53654         Additional non-aborting API for lock and tls.
53655         * lib/lock.h: Include <errno.h>.
53656         (glthread_lock_init): New macro/function.
53657         (gl_lock_init): Define as wrapper around glthread_lock_init.
53658         (glthread_lock_lock): New macro/function.
53659         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53660         (glthread_lock_unlock): New macro/function.
53661         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53662         (glthread_lock_destroy): New macro/function.
53663         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53664         (glthread_rwlock_init): New macro/function.
53665         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53666         (glthread_rwlock_rdlock): New macro/function.
53667         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53668         (glthread_rwlock_wrlock): New macro/function.
53669         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53670         (glthread_rwlock_unlock): New macro/function.
53671         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53672         (glthread_rwlock_destroy): New macro/function.
53673         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53674         (glthread_recursive_lock_init): New macro/function.
53675         (gl_recursive_lock_init): Define as wrapper around
53676         glthread_recursive_lock_init.
53677         (glthread_recursive_lock_lock): New macro/function.
53678         (gl_recursive_lock_lock): Define as wrapper around
53679         glthread_recursive_lock_lock.
53680         (glthread_recursive_lock_unlock): New macro/function.
53681         (gl_recursive_lock_unlock): Define as wrapper around
53682         glthread_recursive_lock_unlock.
53683         (glthread_recursive_lock_destroy): New macro/function.
53684         (gl_recursive_lock_destroy): Define as wrapper around
53685         glthread_recursive_lock_destroy.
53686         (glthread_once): New macro/function.
53687         (gl_once): Define as wrapper around glthread_once.
53688         Update function declarations.
53689         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53690         glthread_rwlock_init. Return error code.
53691         (glthread_rwlock_rdlock_multithreaded): Renamed from
53692         glthread_rwlock_rdlock. Return error code.
53693         (glthread_rwlock_wrlock_multithreaded): Renamed from
53694         glthread_rwlock_wrlock. Return error code.
53695         (glthread_rwlock_unlock_multithreaded): Renamed from
53696         glthread_rwlock_unlock. Return error code.
53697         (glthread_rwlock_destroy_multithreaded): Renamed from
53698         glthread_rwlock_destroy. Return error code.
53699         (glthread_recursive_lock_init_multithreaded): Renamed from
53700         glthread_recursive_lock_init. Return error code.
53701         (glthread_recursive_lock_lock_multithreaded): Renamed from
53702         glthread_recursive_lock_lock. Return error code.
53703         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53704         glthread_recursive_lock_unlock. Return error code.
53705         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53706         glthread_recursive_lock_destroy. Return error code.
53707         (glthread_once_call): Make static.
53708         (glthread_once_multithreaded): Renamed from glthread_once.
53709         * lib/tls.h: Include <errno.h>.
53710         (glthread_tls_key_init): New macro/function.
53711         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53712         (glthread_tls_set): New macro/function.
53713         (gl_tls_set): Define as wrapper around glthread_tls_set.
53714         (glthread_tls_key_destroy): New macro/function.
53715         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53716         Update function declarations.
53717         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53718         glthread_tls_get.
53719         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53720
53721 2008-08-04  Eric Blake  <ebb9@byu.net>
53722
53723         gnumakefile: use space, not TAB, outside of targets
53724         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53725
53726 2008-08-02  Jim Meyering  <meyering@redhat.com>
53727
53728         getdate.y: avoid locale-dependent date parsing failure
53729         In Turkish locales, getdate would fail to recognize keywords
53730         containing a lowercase "i".  The solution is not to rely on
53731         locale-sensitive case-conversion.
53732         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53733         (lookup_word): Use c_toupper in place of toupper.
53734         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53735         Reported by Vefa Bicakci <bicave@superonline.com> in
53736         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53737         * modules/getdate (Depends-on): Add c-ctype.
53738
53739 2008-08-02  Bruno Haible  <bruno@clisp.org>
53740
53741         * gnulib-tool (func_import): When updating or creating a .gitignore
53742         file, prepend each added line with a slash, and ignore leading slashes
53743         from the existing lines.
53744         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53745
53746 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53747
53748         Portability fix for GNU make 3.79.1.
53749         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53750         versions do not understand.
53751
53752 2008-08-01  Bruno Haible  <bruno@clisp.org>
53753
53754         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53755         * tests/test-isnanf.h (zero): New variable.
53756         (main): Avoid literal -0.0f.
53757         * tests/test-isnand.h (zero): New variable.
53758         (main): Avoid literal -0.0.
53759         * tests/test-isnanl.h (zero): New variable.
53760         (main): Avoid literal -0.0L.
53761         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53762         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53763         -0.0, -0.0L.
53764         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53765         (test_signbitd): Avoid literal -0.0.
53766         (test_signbitl): Avoid literal -0.0L.
53767         * tests/test-ceilf1.c (zero): New variable.
53768         (main): Avoid literal -0.0f.
53769         * tests/test-ceill.c (zero): New variable.
53770         (main): Avoid literal -0.0L.
53771         * tests/test-floorf1.c (zero): New variable.
53772         (main): Avoid literal -0.0f.
53773         * tests/test-floorl.c (zero): New variable.
53774         (main): Avoid literal -0.0L.
53775         * tests/test-roundf1.c (zero): New variable.
53776         (main): Avoid literal -0.0f.
53777         * tests/test-round1.c (zero): New variable.
53778         (main): Avoid literal -0.0.
53779         * tests/test-roundl.c (zero): New variable.
53780         (main): Avoid literal -0.0L.
53781         * tests/test-truncf1.c (zero): New variable.
53782         (main): Avoid literal -0.0f.
53783         * tests/test-trunc1.c (zero): New variable.
53784         (main): Avoid literal -0.0.
53785         * tests/test-truncl.c (zero): New variable.
53786         (main): Avoid literal -0.0L.
53787         * tests/test-frexp.c (zero): New variable.
53788         (main): Avoid literal -0.0.
53789         * tests/test-frexpl.c (zero): New variable.
53790         (main): Avoid literal -0.0L.
53791         * tests/test-ldexpl.c (zero): New variable.
53792         (main): Avoid literal -0.0L.
53793         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53794         (zerod, zerol): New variables.
53795         (test_function): Avoid literals -0.0, -0.0L.
53796         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53797         (zerod, zerol): New variables.
53798         (test_function): Avoid literals -0.0, -0.0L.
53799         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53800         (zerod, zerol): New variables.
53801         (test_function): Avoid literals -0.0, -0.0L.
53802         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53803         (zerod, zerol): New variables.
53804         (test_function): Avoid literals -0.0, -0.0L.
53805         * tests/test-strtod.c (zero): New variable.
53806         (main): Avoid literal -0.0.
53807         Reported by Jonathan C. Patschke <jp@centtech.com>.
53808
53809 2008-07-31  Jim Meyering  <meyering@redhat.com>
53810
53811         sha256.h: correct definition of SHA224_DIGEST_SIZE
53812         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53813         Reported by Paulie Pena IV <paulie4@gmail.com>.
53814         Define as 224 / 8, rather than as a literal.
53815         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53816         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53817         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53818
53819 2008-07-31  Bruno Haible  <bruno@clisp.org>
53820
53821         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53822         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53823         Reported by Jonathan Patschke <jp@centtech.com>.
53824
53825 2008-07-31  Bruno Haible  <bruno@clisp.org>
53826
53827         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53828         Reported by Paolo Bonzini <bonzini@gnu.org>.
53829
53830 2008-07-30  Eric Blake  <ebb9@byu.net>
53831
53832         test-strtod: allow compilation without -lm
53833         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53834         Reported by Dennis Clarke <blastwave@gmail.com>.
53835
53836 2008-07-28  Jim Meyering  <meyering@redhat.com>
53837
53838         bootstrap: work also when there are no .po files in po/
53839         * build-aux/bootstrap (update_po_files): Complete the change
53840         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53841
53842 2008-07-27  Jim Meyering  <meyering@redhat.com>
53843
53844         * users.txt: Add zile.
53845
53846 2008-07-26  Ben Pfaff  <blp@gnu.org>
53847
53848         Add missing dependencies on new m4/exponent[fdl].m4 files.
53849         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53850         * modules/isnand-nolibm: Add m4/exponentd.m4.
53851         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53852         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53853         m4/isnan[fdl].m4, because the macros actually used moved.
53854         Reported by Jim Meyering.
53855
53856 2008-07-14  Ben Pfaff  <blp@gnu.org>
53857
53858         Add isinf module.
53859         * lib/isinf.c: New file.
53860         * lib/math.in.h: Define isinf macro if we have decided to replace
53861         it.
53862         * m4/isinf.m4: New file.
53863         * m4/math_h.m4: Initialize and substitute variables for isinf
53864         module.
53865         * modules/isinf: New file.
53866         * modules/isinf-tests: New file.
53867         * modules/math: Add substitutions for new module.
53868         * tests/test-isinf.c: New file.
53869         * doc/posix-functions/isinf.texi: Mention new module.
53870         * MODULES.html.sh: Mention new module.
53871
53872 2008-07-14  Ben Pfaff  <blp@gnu.org>
53873
53874         Factor out some macros for use by additional modules.
53875         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53876         exponentf.m4.
53877         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53878         exponentd.m4.
53879         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53880         file exponentl.m4.
53881         * m4/exponentf.m4: New file.
53882         * m4/exponentd.m4: New file.
53883         * m4/exponentl.m4: New file.
53884         * modules/isnanf: Use new file m4/exponentf.m4.
53885         * modules/isnand: Use new file m4/exponentd.m4.
53886         * modules/isnanl: Use new file m4/exponentl.m4.
53887
53888 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53889
53890         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53891         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53892         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53893         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53894
53895         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53896         readlink on platforms without PATH_MAX.
53897
53898 2008-07-21  Eric Blake  <ebb9@byu.net>
53899
53900         Warn, not fail, on stale version.
53901         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53902
53903         Don't allow installation with stale devel version number.
53904         * top/GNUmakefile (_is-install-target): New macro.
53905         (_curr-ver): Forbid installation with stale version number.
53906
53907 2008-07-20  Bruno Haible  <bruno@clisp.org>
53908
53909         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
53910         TESTS_ENVIRONMENT.
53911         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
53912
53913 2008-07-20  Bruno Haible  <bruno@clisp.org>
53914
53915         * lib/c-stack.h (c_stack_action): Add documentation.
53916         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
53917
53918 2008-07-20  Bruno Haible  <bruno@clisp.org>
53919
53920         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
53921         * modules/readlink (License): Likewise.
53922
53923 2008-07-17  Eric Blake  <ebb9@byu.net>
53924
53925         * modules/c-stack (Link): Fix typo.
53926
53927         Make c-stack use libsigsegv, when available.
53928         * modules/c-stack (Depends-on): Add libsigsegv.
53929         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
53930         needed.
53931         * lib/c-stack.c (SIGSTKSZ): Define fallback.
53932         (segv_handler, overflow_handler, c_stack_action)
53933         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
53934         implementation when libsigsegv is available, but only when using
53935         the library is necessary.
53936         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
53937         comment, explaining why XSI check fails on Linux.
53938         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
53939         * tests/test-c-stack2.sh: Tweak skip message.
53940         * NEWS: Document new link-time requirements.
53941
53942 2008-07-16  Eric Blake  <ebb9@byu.net>
53943
53944         c-stack: Expose false positives when not using libsigsegv.
53945         * modules/c-stack-tests (Files): Expand test.
53946         * tests/test-c-stack.c (main): Add means to conditionally trigger
53947         non-overflow SIGSEGV.
53948         * tests/test-c-stack2.sh: New file.
53949
53950 2008-07-14  Bruno Haible  <bruno@clisp.org>
53951
53952         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
53953         Reported by Eric Blake.
53954
53955 2008-07-14  Sam Steingold  <sds@gnu.org>
53956             Bruno Haible  <bruno@clisp.org>
53957
53958         New module libsigsegv.
53959         * modules/libsigsegv: New file.
53960         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
53961         modifications.
53962         * MODULES.html.sh (Signal handling): New section.
53963
53964 2008-07-14  Bruno Haible  <bruno@clisp.org>
53965
53966         * modules/unictype/ctype-* (Description): Add the word "function".
53967         Improves the resulting doc in MODULES.html.
53968
53969 2008-07-12  Ben Pfaff  <blp@gnu.org>
53970
53971         Add longlong module.
53972         * modules/longlong: New file.
53973
53974 2008-07-12  Bruno Haible  <bruno@clisp.org>
53975
53976         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
53977         to empty.
53978
53979 2008-07-10  Ben Pfaff  <blp@gnu.org>
53980
53981         Add isnan module.
53982         * doc/posix-functions/isnan.texi: Mention new module.
53983         * lib/math.in.h: Define isnan macro if we have decided to replace
53984         it.
53985         * m4/isnan.m4: New file.
53986         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
53987         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
53988         also.
53989         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
53990         redundancy.
53991         * m4/math_h.m4: Initialize and substitute variables for isnan
53992         module.
53993         * modules/isnan: New file.
53994         * modules/isnan-tests: New file.
53995         * modules/math: Add substitutions for new module.
53996         * tests/test-isnan.c: New file.
53997         * MODULES.html.sh: Mention new module.
53998
53999 2008-07-10  Ben Pfaff  <blp@gnu.org>
54000
54001         Add isnanf module.
54002         * lib/isnanf.m4: New file.
54003         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54004         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54005         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54006         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54007         * modules/isnanf: New file.
54008         * modules/isnanf-tests: New file.
54009         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54010         files.
54011         * tests/test-isnanf-nolibm.c: factored most of its contents into
54012         new file tests/test-isnanf.h.
54013         * tests/test-isnanf.h: New file.
54014         * tests/test-isnanf.c: New file.
54015         * MODULES.html.sh: Mention new module.
54016         * doc/glibc-functions/isnanf.texi: Mention new module.
54017
54018 2008-07-10  Ben Pfaff  <blp@gnu.org>
54019
54020         Add isnand module.
54021         * lib/isnand.h: New file.
54022         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54023         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54024         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54025         functionality also.
54026         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54027         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54028         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54029         * modules/isnand: New file.
54030         * modules/isnand-tests: New file.
54031         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54032         files.
54033         * tests/test-isnand-nolibm.c: factored most of its contents into
54034         new file tests/test-isnand.h.
54035         * tests/test-isnand.h: New file.
54036         * tests/test-isnand.c: New file.
54037         * MODULES.html.sh: Mention new module.
54038
54039 2008-07-10  Ben Pfaff  <blp@gnu.org>
54040
54041         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54042         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54043         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54044         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54045         * modules/isnanf-nolibm: Update references to renamed files.
54046         * modules/isnand-nolibm: Likewise.
54047         * modules/isnanf-nolibm-tests: Likewise.
54048         * modules/isnand-nolibm-tests: Likewise.
54049         * lib/frexp.c: Likewise.
54050         * lib/isfinite.c: Likewise.
54051         * lib/signbitd.c: Likewise.
54052         * lib/signbitf.c: Likewise.
54053         * lib/vasnprintf.c: Likewise.
54054         * tests/test-ceilf1.c: Likewise.
54055         * tests/test-ceilf2.c: Likewise.
54056         * tests/test-floorf1.c: Likewise.
54057         * tests/test-floorf2.c: Likewise.
54058         * tests/test-frexp.c: Likewise.
54059         * tests/test-round1.c: Likewise.
54060         * tests/test-round2.c: Likewise.
54061         * tests/test-roundf1.c: Likewise.
54062         * tests/test-strtod.c: Likewise.
54063         * tests/test-trunc1.c: Likewise.
54064         * tests/test-trunc2.c: Likewise.
54065         * tests/test-truncf1.c: Likewise.
54066         * tests/test-truncf2.c: Likewise.
54067         * NEWS: Mention the renamed header files.
54068
54069 2008-07-11  Jim Meyering  <meyering@redhat.com>
54070
54071         vc-list-files: make the last-resort awk code more portable
54072         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54073         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54074         does not support it.
54075
54076 2008-07-10  Eric Blake  <ebb9@byu.net>
54077
54078         Work with tar's bootstrap.
54079         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54080         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54081         an m4 comment.
54082
54083 2008-07-09  Jim Meyering  <meyering@redhat.com>
54084
54085         posix-shell.m4: fix typo that made this test malfunction
54086         * m4/posix-shell.m4: Remove capitalization in variable name.
54087
54088 2008-07-08  Bruno Haible  <bruno@clisp.org>
54089
54090         * m4/onceonly.m4: Update comments.
54091         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54092
54093 2008-07-04  Jim Meyering  <meyering@redhat.com>
54094
54095         * users.txt: Add vc-dwim.
54096         (bison, coreutils): Use the gitweb URL.
54097
54098 2008-07-03  Jim Meyering  <meyering@redhat.com>
54099
54100         * users.txt: Add libffcall.  From Sam Steingold.
54101
54102 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54103
54104         getdate.y: do not ignore TZ with relative day, month or year offset
54105         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54106         relative-date-handling, since otherwise, the latter would clobber the
54107         sole output (an updated Start value) of the tz-handling block.
54108         * tests/test-getdate.c: Tests for the fix
54109
54110 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54111
54112         Recognize 'foo_LIBRARIES += libgnu.a'.
54113         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54114         makefile snippet has already specified an installation location,
54115         also using '+='.
54116
54117 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54118
54119         getdate.y: factor out common actions
54120         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54121         Use them in place of open-coded actions.
54122
54123 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54124
54125         Add self-test for getdate module.
54126         * modules/getdate-tests: New file.
54127         * tests/test-getdate.c: New file.
54128
54129 2008-06-29  Bruno Haible  <bruno@clisp.org>
54130
54131         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54132         .gitignore.
54133         Reported by Sylvain Beucler <beuc@beuc.net>.
54134
54135 2008-06-29  Bruno Haible  <bruno@clisp.org>
54136
54137         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54138         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54139
54140 2008-06-29  Bruno Haible  <bruno@clisp.org>
54141
54142         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54143         EXTRA_DIST.
54144         Reported by Sylvain Beucler <beuc@beuc.net>.
54145
54146 2008-06-26  Jim Meyering  <meyering@redhat.com>
54147
54148         make several modules depend on the "open" module
54149         This provides slightly increased consistency when opening-for-write
54150         the name of a non-directory spelled with a trailing slash.
54151         * modules/chdir-safer: Likewise.
54152         * modules/chown: Likewise.
54153         * modules/clean-temp: Likewise.
54154         * modules/copy-file: Likewise.
54155         * modules/fchdir: Likewise.
54156         * modules/fcntl-safer: Likewise.
54157         * modules/pipe: Likewise.
54158         * modules/utime: Likewise.
54159         Prompted by Eric Blake and Bruno Haible.
54160
54161 2008-06-24  Andreas Schwab  <schwab@suse.de>
54162
54163         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54164         literals can be used as initializers for global variables.
54165
54166 2008-06-23  Eric Blake  <ebb9@byu.net>
54167
54168         Make gnulib-cache.m4 easier to diff.
54169         * gnulib-tool (func_import): Allow newlines when reading cached
54170         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54171
54172 2008-06-23  Bruno Haible  <bruno@clisp.org>
54173
54174         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54175         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54176         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54177         m4/signalblocking.m4.
54178         (gl_PREREQ_SIGACTION): Don't invoke it.
54179         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54180         gl_PREREQ_SIG_HANDLER_H.
54181         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54182         Don't check for sigaction here.
54183
54184 2008-06-23  Bruno Haible  <bruno@clisp.org>
54185
54186         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54187         (install_handlers): Don't set the SA_RESETHAND flag.
54188
54189 2008-06-23  Bruno Haible  <bruno@clisp.org>
54190
54191         * m4/sigaction.m4: Comment fixes.
54192         * lib/signal.in.h: Likewise.
54193
54194 2008-06-23  Eric Blake  <ebb9@byu.net>
54195
54196         Fix typo.
54197         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54198
54199         Avoid SA_ namespace.
54200         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54201         Reported by Ralf Wildenhues.
54202
54203         Avoid test failure due to SA_RESTORER.
54204         * tests/test-sigaction.c (SA_MASK): New macro.
54205         (main): Avoid failing due to extension flags being set.
54206         Reported by Jim Meyering.
54207
54208         Revert use of sig-handler.h in sigprocmask.c.
54209         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54210         it requires the existence of struct sigaction.
54211         * lib/sigprocmask.c (handler_t): Restore typedef.
54212         (rpl_signal, old_handlers): Use local type.
54213
54214 2008-06-22  Bruno Haible  <bruno@clisp.org>
54215
54216         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54217         conditionally.
54218         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54219
54220 2008-06-22  Bruno Haible  <bruno@clisp.org>
54221
54222         * doc/posix-functions/siginterrupt.texi: Move note.
54223
54224         * lib/signal.in.h (SA_RESTART): New macro.
54225         * lib/sigaction.c: Update comment.
54226
54227         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54228
54229         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54230         (gl_PREREQ_SIGPROCMASK): Invoke it.
54231         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54232
54233         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54234
54235         * lib/sigprocmask.c: Update a comment.
54236
54237 2008-06-21  Eric Blake  <ebb9@byu.net>
54238
54239         Use sigaction module rather than signal().
54240         * modules/c-stack (Depends-on): Add sigaction.
54241         * modules/fatal-signal (Depends-on): Likewise.
54242         * modules/nanosleep (Depends-on): Likewise.
54243         * modules/sigprocmask (Files): Add sig-handler.h.
54244         * modules/sigaction (Files): Likewise.
54245         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54246         Eggert.
54247         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54248         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54249         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54250         (init_fatal_signals): Likewise.
54251         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54252         (siginterrupt): Delete fallback.
54253         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54254         instead.
54255         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54256         siginterrupt.
54257
54258         New module sigaction, for mingw.
54259         * modules/sigaction: New module...
54260         * modules/sigaction-tests: ...and its test.
54261         * m4/sigaction.m4: New file.
54262         * lib/sigaction.c: Likewise.
54263         * tests/test-sigaction.c: Likewise.
54264         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54265         * modules/signal (Makefile.am): Likewise.
54266         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54267         needed.
54268         * doc/posix-headers/signal.texi (signal.h): Mention provided
54269         types.
54270         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54271         that sigaction is preferable.
54272         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54273         module.
54274         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54275         sigaction.
54276
54277         Improve robustness of sigprocmask by overriding signal.
54278         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54279         is in use.
54280         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54281         (SIGKILL, SIGSTOP): Provide fallbacks.
54282         (rpl_signal): Implement.
54283         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54284         signal can be called inside handlers.
54285
54286         Fix nanosleep module on mingw.
54287         * modules/nanosleep (Depends-on): Add sys_select.
54288         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54289
54290         Fix licensing of sigprocmask.
54291         * modules/raise (License): Relicense as LGPL.
54292
54293 2008-06-21  Bruno Haible  <bruno@clisp.org>
54294
54295         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54296         result if it contains question marks.
54297         Reported by Michael Geng <linux@michaelgeng.de>.
54298
54299 2008-06-19  Bruno Haible  <bruno@clisp.org>
54300
54301         Fix CVS-ism.
54302         * doc/gnulib.texi: Include updated-stamp.texi.
54303         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54304         (updated-stamp.texi): New rule.
54305         (gnulib.info): Depend on it.
54306         * doc/.gitignore: Add updated-stamp.texi.
54307         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54308
54309 2008-06-19  Bruno Haible  <bruno@clisp.org>
54310
54311         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54312         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54313
54314 2008-06-19  Eric Blake  <ebb9@byu.net>
54315
54316         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54317         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54318         Reported by Stepan Kasal.
54319
54320 2008-06-18  Bruno Haible  <bruno@clisp.org>
54321
54322         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54323         Reported by Eric Blake.
54324
54325 2008-06-18  Eric Blake  <ebb9@byu.net>
54326
54327         Work around cygwin 1.5.25 strsignal bug.
54328         * tests/test-strsignal.c: Allow for const char *.
54329         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54330
54331 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54332
54333         * users.txt: Update URL to article and add author/date
54334         information.
54335
54336 2008-06-17  Bruno Haible  <bruno@clisp.org>
54337
54338         New macro gl_DISABLE_THREADS.
54339         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54340         if the user did not pass --enable-threads or --disable-threads option.
54341         (gl_DISABLE_THREADS): New macro.
54342         Reported by Eric Blake <ebb9@byu.net>.
54343
54344 2008-06-17  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54347         when the macro ignores it.
54348         Based on a patch by Eric Blake <ebb9@byu.net>.
54349
54350 2008-06-17  Bruno Haible  <bruno@clisp.org>
54351
54352         * modules/tls (License): Change to LGPLv2+.
54353         Reported by Eric Blake.
54354
54355 2008-06-17  Eric Blake  <ebb9@byu.net>
54356
54357         Simplify c-stack prerequisites.
54358         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54359         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54360         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54361         check.
54362         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54363         <sys/resource.h>.
54364
54365         Move c-stack test into testsuite.
54366         * modules/c-stack-tests: New file.
54367         * lib/c-stack.c [DEBUG]: Move test program...
54368         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54369         fail test if sigaltstack is lacking.
54370         * tests/test-c-stack.sh: New driver file.
54371
54372 2008-06-16  Eric Blake  <ebb9@byu.net>
54373
54374         Use raise module consistently.
54375         * modules/fatal-signal (Depends-on): Add raise.
54376         * modules/sigprocmask (Depends-on): Likewise.
54377         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54378         * lib/sigprocmask.c (sigprocmask): Likewise.
54379         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54380         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54381
54382         Fix compliance bug in sigpending.
54383         * lib/sigprocmask.c (sigpending): Return pending array via
54384         parameter, not return value.
54385
54386 2008-06-14  Eric Blake  <ebb9@byu.net>
54387
54388         Improve obstack-printf test code.
54389         * tests/test-obstack-printf.c (test_function): Fix comment, and
54390         simplify usage of obstack_* in macros.  Add a test for coverage.
54391         Reported by Bruno Haible.
54392
54393 2008-06-14  Bruno Haible  <bruno@clisp.org>
54394
54395         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
54396         array size as a constant, not as a const variable.
54397         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
54398         AC_USE_SYSTEM_EXTENSIONS.
54399         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
54400         Test whether the obstack_printf function actually exists.
54401         * modules/obstack-printf (Depends-on): Add extensions.
54402         (Include): Remove obstack.h.
54403         * modules/obstack-printf-posix (Depends-on): Add extensions.
54404         (Include): Remove obstack.h.
54405
54406 2008-06-13  Eric Blake  <ebb9@byu.net>
54407
54408         Add obstack-printf and obstack-printf-posix modules.
54409         * modules/obstack-printf: New file.
54410         * modules/obstack-printf-posix: Likewise.
54411         * MODULES.html.sh (Misc): Mention them.
54412         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
54413         Likewise.
54414         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
54415         Likewise.
54416         * modules/stdio (Makefile.am): Accomodate new modules.
54417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54418         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
54419         Declare.
54420         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
54421         functions.
54422         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
54423         (gl_REPLACE_OBSTACK_PRINTF): New macros
54424         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
54425         * tests/test-obstack-printf.c: New file.
54426         * modules/obstack-printf-tests: Likewise.
54427         * modules/obstack-printf-posix-tests: Likewise.
54428
54429 2008-06-11  Bruno Haible  <bruno@clisp.org>
54430
54431         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
54432         * lib/open.c: Include errno.h.
54433         (open): Fail when attempting to write to a file that has a trailing
54434         slash.
54435         * tests/test-open.c (main): Test against trailing slash bug.
54436         * doc/posix-functions/open.texi: Mention the trailing slash bug.
54437
54438 2008-06-10  Bruno Haible  <bruno@clisp.org>
54439
54440         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
54441         for $? to work inside the trap command, with various /bin/sh-s.
54442         * tests/test-vc-list-files-cvs.sh: Likewise.
54443
54444 2008-06-10  Bruno Haible  <bruno@clisp.org>
54445
54446         * lib/acl-internal.h: Don't include gettext.h here.
54447         * lib/set-mode-acl.c: Include gettext.h here.
54448         * lib/copy-acl.c: Likewise.
54449
54450 2008-06-10  Bruno Haible  <bruno@clisp.org>
54451
54452         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
54453         * lib/wait-process.c (wait_subprocess): Likewise.
54454         * lib/execute.h (execute): Add termsigp argument.
54455         * lib/execute.c (execute): Likewise.
54456         * lib/csharpcomp.c (compile_csharp_using_pnet,
54457         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
54458         * lib/csharpexec.c (execute_csharp_using_pnet,
54459         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
54460         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
54461         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
54462         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
54463         is_jikes_present): Update.
54464         * lib/javaexec.c (execute_java_class): Update.
54465         * lib/javaversion.c (execute_and_read_line): Update.
54466         * NEWS: Document the changes.
54467         Reported by Eric Blake.
54468
54469 2008-06-10  Eric Blake  <ebb9@byu.net>
54470
54471         Add missing include.
54472         * tests/test-strstr.c (includes): Add <signal.h>.
54473         * tests/test-strcasestr.c (includes): Likewise.
54474         * tests/test-memmem.c (includes): Likewise.
54475
54476 2008-06-10  Bruno Haible  <bruno@clisp.org>
54477
54478         * lib/wait-process.c (wait_subprocess): Add an assertion.
54479
54480 2008-06-10  Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
54483
54484 2008-06-10  Bruno Haible  <bruno@clisp.org>
54485
54486         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
54487         using alarm().
54488         * tests/test-strcasestr.c (main): Likewise.
54489         * tests/test-strstr.c (main): Likewise.
54490
54491 2008-06-09  Bruno Haible  <bruno@clisp.org>
54492
54493         Work around the Solaris 10 ACE ACLs ABI change.
54494         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
54495         declare if ACL_NO_TRIVIAL is present.
54496         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
54497         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
54498         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
54499         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
54500         define if ACL_NO_TRIVIAL is present.
54501         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
54502         and use the current ABI.
54503         (file_has_acl): Use same #if condition as elsewhere.
54504         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
54505         in use, and use the current ABI.
54506         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
54507         Reported by Jim Meyering.
54508
54509 2008-06-09  Eric Blake  <ebb9@byu.net>
54510
54511         Work around environments that (stupidly) ignore SIGALRM.
54512         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
54513         before using alarm().
54514         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54515         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54516         Reported by Ian Beckwith <ianb@erislabs.net>.
54517
54518         Produce autobuild blurb earlier in log.
54519         * modules/autobuild (configure.ac-early): Move AB_INIT here.
54520
54521 2008-06-09  Jim Meyering  <meyering@redhat.com>
54522         and OndÅ™ej Vašík  <ovasik@redhat.com>
54523
54524         utimens.c: correct kernel bug work-around
54525         OndÅ™ej Vašík found that the invalid return value of 280 indicates
54526         failure, not success, and the kernel bug we're trying to work
54527         around affects not just the utimensat call, but also the fallback
54528         futimens call.
54529         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
54530         not success.
54531         [HAVE_FUTIMENS]: Use the same work-around, here.
54532
54533 2008-06-09  Jim Meyering  <meyering@redhat.com>
54534
54535         add more guards around definition of ACE_-related code
54536         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54537         ALLOW and ACE_OWNER are also defined.
54538
54539 2008-06-08  Bruno Haible  <bruno@clisp.org>
54540
54541         * lib/acl-internal.h: Add me as co-author.
54542         * lib/file-has-acl.c: Likewise.
54543         * lib/set-mode-acl.c: Likewise.
54544         * lib/copy-acl.c: Likewise.
54545
54546 2008-06-08  Bruno Haible  <bruno@clisp.org>
54547
54548         Add support for AIX ACLs.
54549         * lib/acl-internal.h (acl_nontrivial): New declaration.
54550         * lib/file-has-acl.c (acl_nontrivial): New function.
54551         (file_has_acl): Add implementation using AIX 4 ACL API.
54552         * lib/set-mode-acl.c (qset_acl): Likewise.
54553         * lib/copy-acl.c (qcopy_acl): Likewise.
54554
54555 2008-06-08  Bruno Haible  <bruno@clisp.org>
54556
54557         Add support for HP-UX ACLs.
54558         * lib/acl-internal.h (acl_nontrivial): New declaration.
54559         * lib/file-has-acl.c (acl_nontrivial): New function.
54560         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54561         * lib/set-mode-acl.c (qset_acl): Likewise.
54562         * lib/copy-acl.c (qcopy_acl): Likewise.
54563
54564 2008-06-08  Bruno Haible  <bruno@clisp.org>
54565
54566         Add support for Cygwin ACLs.
54567         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54568         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54569         the chmod_or_fchmod call.
54570         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54571
54572 2008-06-08  Bruno Haible  <bruno@clisp.org>
54573
54574         Fix bug with setuid modes in Solaris 10+ code.
54575         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54576         succeeded, when the mode contains some special bits.
54577
54578 2008-06-08  Bruno Haible  <bruno@clisp.org>
54579
54580         Add support for Solaris 7..10 ACLs.
54581         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54582         declarations.
54583         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54584         functions.
54585         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54586         * lib/set-mode-acl.c (qset_acl): Likewise.
54587         * lib/copy-acl.c (qcopy_acl): Likewise.
54588
54589 2008-06-08  Bruno Haible  <bruno@clisp.org>
54590
54591         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54592         declaration.
54593         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54594         (acl_access_nontrivial): Remove MacOS X case.
54595         (file_has_acl): Use acl_extended_nontrivial.
54596         * lib/copy-acl.c (qcopy_acl): Likewise.
54597
54598 2008-06-08  Bruno Haible  <bruno@clisp.org>
54599
54600         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54601
54602 2008-06-08  Jim Meyering  <meyering@redhat.com>
54603
54604         * modules/acl (Maintainer): Add Bruno Haible.
54605
54606 2008-06-07  Bruno Haible  <bruno@clisp.org>
54607
54608         Improve support for Tru64 ACLs.
54609         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54610         ACL on OSF/1.
54611
54612 2008-06-07  Bruno Haible  <bruno@clisp.org>
54613
54614         Add support for MacOS X ACLs.
54615         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54616         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54617         * lib/set-mode-acl.c (qset_acl): Likewise.
54618         * lib/copy-acl.c (qcopy_acl): Likewise.
54619
54620 2008-06-07  Bruno Haible  <bruno@clisp.org>
54621
54622         Fix memory leak introduced on 2008-05-22.
54623         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54624         use.
54625
54626 2008-06-07  Bruno Haible  <bruno@clisp.org>
54627
54628         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54629         to construct an empty ACL.
54630
54631 2008-06-07  Bruno Haible  <bruno@clisp.org>
54632
54633         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54634         precisely.
54635         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54636
54637 2008-06-07  Bruno Haible  <bruno@clisp.org>
54638
54639         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54640         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54641
54642 2008-06-07  Bruno Haible  <bruno@clisp.org>
54643
54644         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54645         regardless of POSIX.
54646         * doc/posix-functions/_longjmp.texi: Likewise.
54647         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54648         SystemV platform in this case.
54649
54650 2008-06-06  Eric Blake  <ebb9@byu.net>
54651
54652         Document abort() bugs.
54653         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54654
54655         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54656         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54657         sigsetjmp.
54658         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54659         siglongjmp, but only as a macro.
54660         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54661         is obsolete.
54662         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54663
54664         Tweak documentation to cover cygwin argz bugs.
54665         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54666         argz bug fix; no code change needed since no cygwin releases
54667         occurred between the last fix and the bug being tested.
54668         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54669         module and recently fixed cygwin bugs.
54670         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54671         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54672         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54673         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54674         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54675         Likewise.
54676         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54677         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54678         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54679         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54680         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54681         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54682         Likewise.
54683
54684         Avoid gcc warning on cygwin.
54685         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54686         !ACL_NO_TRIVIAL]: Avoid unused variable.
54687
54688 2008-06-05  Eric Blake  <ebb9@byu.net>
54689
54690         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54691         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54692         git-version-gen fails to come up with a version.
54693         Reported by Simon Josefsson.
54694
54695 2008-06-05  Jim Meyering  <meyering@redhat.com>
54696             Paul Eggert  <eggert@cs.ucla.edu>
54697
54698         utimens.c: work around a probable Linux kernel bug
54699         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54700         appears to be a kernel bug that causes utimensat to return 280
54701         instead of 0, indicating success.
54702
54703 2008-06-04  Bruno Haible  <bruno@clisp.org>
54704
54705         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54706         2008-06-01 commit.
54707
54708 2008-06-04  Bruno Haible  <bruno@clisp.org>
54709
54710         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54711         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54712         (file_has_acl): Use it. Save errno afterwards.
54713         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54714
54715 2008-06-03  Bruno Haible  <bruno@clisp.org>
54716
54717         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54718         draft code. Simplify #ifs.
54719         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54720         Put Solaris code after POSIX-draft code. Fix comments regarding
54721         Solaris 10, HP-UX. Mention Cygwin.
54722         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54723
54724 2008-06-03  Eric Blake  <ebb9@byu.net>
54725
54726         Provide fallback for older kernels.
54727         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54728         Provide runtime fallback if kernel lacks support.
54729         Reported by Mike Frysinger.
54730
54731 2008-06-02  Bruno Haible  <bruno@clisp.org>
54732
54733         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54734         it exists.
54735
54736 2008-06-02  Bruno Haible  <bruno@clisp.org>
54737
54738         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54739         * lib/copy-acl.c (qcopy_acl): Update comment.
54740
54741 2008-06-02  Bruno Haible  <bruno@clisp.org>
54742
54743         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54744         like ACL APIs.
54745
54746 2008-06-02  Bruno Haible  <bruno@clisp.org>
54747
54748         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54749         * tests/test-set-mode-acl.sh: Likewise.
54750         * tests/test-copy-acl.sh: Likewise.
54751         * tests/test-copy-file.sh: Likewise.
54752
54753 2008-06-02  Bruno Haible  <bruno@clisp.org>
54754
54755         * tests/test-file-has-acl.sh: Remove unused code.
54756
54757 2008-06-01  Bruno Haible  <bruno@clisp.org>
54758
54759         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54760         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54761         messages.
54762         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54763
54764 2008-06-01  Bruno Haible  <bruno@clisp.org>
54765
54766         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54767         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54768         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54769         APIs.
54770         * modules/acl-tests (configure.ac): Remove tests now contained in
54771         m4/acl.m4.
54772
54773 2008-06-02  Jim Meyering  <meyering@redhat.com>
54774
54775         announce-gen: use a better key-server host name
54776         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54777         it may be more consistently reliable.  Suggested by Werner Koch
54778         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54779
54780 2008-06-01  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54783         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54784
54785 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54786
54787         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54788
54789 2008-06-01  Bruno Haible  <bruno@clisp.org>
54790
54791         New ACL tests.
54792         * tests/test-file-has-acl.sh: New file.
54793         * tests/test-file-has-acl.c: New file.
54794         * tests/test-set-mode-acl.sh: New file.
54795         * tests/test-set-mode-acl.c: New file.
54796         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54797         * tests/test-copy-acl.c: New file.
54798         * modules/acl-tests: New file, based on modules/copy-file-tests.
54799         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54800         (Depends-on): Add acl-tests.
54801         (configure.ac): Remove checks.
54802         (Makefile.am): Don't create test-sameacls program here any more.
54803
54804 2008-06-01  Bruno Haible  <bruno@clisp.org>
54805
54806         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54807         * tests/test-sameacls.c: Include progname.h.
54808         (main): Invoke set_program_name. Portability fixes for MacOS X,
54809         Solaris, HP-UX.
54810
54811 2008-06-01  Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54814         function.
54815         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54816
54817 2008-06-01  Bruno Haible  <bruno@clisp.org>
54818
54819         * modules/rpmatch (Depends-on): Add strdup.
54820
54821 2008-06-01  Bruno Haible  <bruno@clisp.org>
54822
54823         * lib/pipe.c: Include unistd-safer.h.
54824         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54825         * modules/pipe (Depends-on): Add unistd-safer.
54826
54827 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54828
54829         * modules/autobuild (configure.ac): Call AB_INIT.
54830
54831 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54832
54833         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54834         Suggested by Bruno Haible <bruno@clisp.org>.
54835
54836 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54837
54838         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54839         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54840         <bruno@clisp.org>.
54841
54842 2008-05-29  Eric Blake  <ebb9@byu.net>
54843
54844         Prefer new POSIX 200x interfaces over futimesat.
54845         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54846         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54847         when available.
54848         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54849
54850 2008-05-28  Bruno Haible  <bruno@clisp.org>
54851
54852         * modules/stpcpy (License): Change to LGPLv2+.
54853         Requested by David Lutterkort <dlutter@redhat.com>.
54854
54855 2008-05-27  Bruno Haible  <bruno@clisp.org>
54856
54857         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54858         current mingw.
54859         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54860
54861 2008-05-27  Bruno Haible  <bruno@clisp.org>
54862
54863         * modules/iconv_open (Link): New section, from module 'iconv'.
54864         * modules/striconv (Link): Likewise.
54865         * modules/striconveh (Link): Likewise.
54866         * modules/xstriconv (Link): Likewise.
54867         * modules/unicodeio (Link): Likewise.
54868         * modules/propername (Link): Likewise.
54869         Reported by Jim Meyering.
54870
54871 2008-05-26  Jim Meyering  <meyering@redhat.com>
54872
54873         sha256: do not artificially restrict buffer length to be < 2^32
54874         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54875         uint32_t to size_t.
54876         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54877         to match.
54878
54879         avoid unaligned access errors, e.g., on sparc
54880         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54881         direct access through a possibly-unaligned uint64* pointer.
54882         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54883         direct access through a possibly-unaligned uint32* pointer.
54884         Prompted by this patch from Tom "spot" Callaway:
54885         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54886
54887         sha512.c: fix typo in comment
54888         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54889
54890 2008-05-25  Bruno Haible  <bruno@clisp.org>
54891
54892         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54893         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54894         (Makefile.am): Update lib_SOURCES.
54895
54896 2008-05-25  Bruno Haible  <bruno@clisp.org>
54897
54898         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54899
54900 2008-05-25  Jim Meyering  <meyering@redhat.com>
54901
54902         useless-if-before-free: freed expr may have white-space differences
54903         * build-aux/useless-if-before-free: Recognize cases in which the
54904         freed expression differs from the tested one in embedded white
54905         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
54906         $1 was used, so we can't make any regexp shy.  Improved tests now
54907         detect this.
54908
54909         useless-if-before-free: accept white space in the expression.
54910         * build-aux/useless-if-before-free: For now, any white space
54911         in the expression must be identical in the free argument.
54912
54913         useless-if-before-free: efficiency tweak
54914         * build-aux/useless-if-before-free: Make the expression-matching
54915         regexp "shy".
54916         Make the *outer* regexp shy, not the expr-matching one.
54917
54918         update code-in-comment to accept cast of free arg
54919         * build-aux/useless-if-before-free: Update regexp.
54920
54921 2008-05-25  Bruno Haible  <bruno@clisp.org>
54922
54923         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
54924         * modules/copy-file-tests (Files, Makefile.am): Update.
54925         * tests/test-copy-file.c (func_test_copy): Update.
54926
54927 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
54928
54929         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
54930
54931 2008-05-23  Bruno Haible  <bruno@clisp.org>
54932
54933         Improve support for ACLs on OSF/1.
54934         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
54935         Remove fallback for unknown flavors of ACLs.
54936
54937 2008-05-22  Bruno Haible  <bruno@clisp.org>
54938
54939         Add support for ACLs on OSF/1.
54940         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
54941         replacements.
54942         (acl_free_text): New macro fallback.
54943         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
54944         acl_free.
54945         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
54946         acl_free_text function. Require AC_C_INLINE.
54947
54948 2008-05-22  Bruno Haible  <bruno@clisp.org>
54949
54950         Make copy_acl work on MacOS X 10.5.
54951         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
54952         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
54953         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
54954         If MODE_INSIDE_ACL, don't assume that every system has the same text
54955         representation for ACLs as FreeBSD.
54956         * lib/copy-acl.c (copy_acl): Add support for platforms with
54957         !MODE_INSIDE_ACL.
54958         * lib/file-has-acl.c (file_has_acl): Likewise.
54959         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
54960         FreeBSD, MacOS X, or IRIX, respectively.
54961
54962 2008-05-22  Bruno Haible  <bruno@clisp.org>
54963
54964         * lib/acl.h: Don't include <sys/acl.h>.
54965         (GETACLCNT): Move fallback to lib/acl-internal.h.
54966         * lib/acl-internal.h: Include <sys/acl.h> here.
54967         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
54968
54969 2008-05-22  Bruno Haible  <bruno@clisp.org>
54970
54971         Split off copy_acl function to separate file.
54972         * lib/copy-acl.c: New file, extracted from lib/acl.c.
54973         * lib/acl.c (copy_acl): Moved function to separate file.
54974         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
54975         * modules/acl (Files): Add lib/copy-acl.c.
54976         (Makefiles.am): Augment lib_SOURCES.
54977
54978 2008-05-22  Bruno Haible  <bruno@clisp.org>
54979
54980         * modules/copy-file-tests: New file.
54981         * tests/test-copy-file.sh: New file.
54982         * tests/test-copy-file.c: New file.
54983         * tests/test-copy-file-sameacls.c: New file.
54984
54985 2008-05-22  Eric Blake  <ebb9@byu.net>
54986
54987         Avoid gcc warning.
54988         * tests/test-memcmp.c (main): Pass NULL indirectly.
54989
54990 2008-05-21  Bruno Haible  <bruno@clisp.org>
54991
54992         Add reference doc about ACLs.
54993         * doc/acl-resources.txt: New file.
54994         * doc/acl-cygwin.txt: New file.
54995
54996 2008-05-21  Bruno Haible  <bruno@clisp.org>
54997
54998         Avoid one more warning from gcc.
54999         * lib/vasnprintf.c (IF_LINT): Update comments.
55000         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55001
55002 2008-05-21  Jim Meyering  <meyering@redhat.com>
55003
55004         avoid a warning from gcc
55005         * lib/vasnprintf.c (IF_LINT): Define.
55006         (scale10_round_decimal_long_double):
55007         Use it to avoid a "may be used uninitialized" warning.
55008         (scale10_round_decimal_double): Likewise.
55009
55010 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55011
55012         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55013         declared.
55014
55015 2008-05-20  Bruno Haible  <bruno@clisp.org>
55016
55017         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55018         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55019
55020 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55021
55022         * modules/memcmp-tests: New file.
55023         * tests/test-memcmp.c: New file.
55024
55025 2008-05-19  Bruno Haible  <bruno@clisp.org>
55026
55027         * modules/propername (Notice, configure.ac): Put quoted "..." into
55028         --keyword option.
55029         * lib/propername.h: Update comments accordingly.
55030         Reported by Eric Blake.
55031
55032 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55033
55034         * modules/getpass-gnu (Depends-on): Add fseeko.
55035
55036 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55037
55038         * modules/base64-tests: New file.
55039
55040 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55041
55042         * lib/base64.c (base64_decode_ctx): If a decode context structure
55043         was passed in use it to ignore newlines.  If a context structure
55044         was _not_ passed in, continue to treat newlines as garbage (this
55045         is the historical behavior).  Formerly base64_decode.
55046         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55047         takes a decode context structure.
55048         * lib/base64.h (base64_decode): Macro for four-argument calls.
55049         (base64_decode_alloc): Likewise.
55050         * lib/base64.c (base64_decode_ctx): If a decode context structure
55051         was passed in use it to ignore newlines.  If a context structure
55052         was _not_ passed in, continue to treat newlines as garbage (this
55053         is the historical behavior).  Formerly base64_decode.
55054         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55055         takes a decode context structure.
55056         * lib/base64.h (base64_decode): Macro for four-argument calls.
55057         (base64_decode_alloc): Likewise.
55058
55059 2008-05-19  Jim Meyering  <meyering@redhat.com>
55060
55061         avoid a warning from gcc
55062         * lib/trim.c (IF_LINT): Define.
55063         (trim2): Use it to avoid a "may be used uninitialized" warning.
55064
55065         Fix doc typo.
55066         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55067
55068 2008-05-19  Bruno Haible  <bruno@clisp.org>
55069
55070         * doc/glibc-functions/getpass.texi: Document limits of other
55071         implementations.
55072
55073 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55074             Bruno Haible <bruno@clisp.org>
55075
55076         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55077
55078 2008-05-18  Bruno Haible  <bruno@clisp.org>
55079
55080         * modules/propername: New file, from GNU gettext.
55081         * lib/propername.h: New file, from GNU gettext.
55082         * lib/propername.c: New file, from GNU gettext.
55083         * MODULES.html.sh (Internationalization functions): Add propername.
55084
55085 2008-05-16  Jim Meyering  <meyering@redhat.com>
55086             Bruno Haible  <bruno@clisp.org>
55087
55088         Avoid some warnings from "gcc -Wshadow".
55089         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55090
55091 2008-05-15  Eric Blake  <ebb9@byu.net>
55092
55093         Extend previous patch to cygwin 1.7.0.
55094         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55095         fast implementation in cygwin >= 1.7.0.
55096         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55098
55099 2008-05-15  Bruno Haible  <bruno@clisp.org>
55100
55101         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55102         implementation in glibc >= 2.9.
55103         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55104         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55105
55106 2008-05-15  Bruno Haible  <bruno@clisp.org>
55107
55108         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55109         (Unicode string functions): Add unilbrk/*.
55110         Reported by Karl Berry.
55111
55112 2008-05-15  Eric Blake  <ebb9@byu.net>
55113
55114         Fix violation of <stdbool.h> replacement in regex.
55115         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55116         * lib/regexec.c (re_search_internal): Likewise.
55117         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55118
55119 2008-05-15  Jim Meyering  <meyering@redhat.com>
55120
55121         avoid distracting test output when git or cvs is not found
55122         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55123         * tests/test-vc-list-files-git.sh: Likewise.
55124
55125 2008-05-15  Eric Blake  <ebb9@byu.net>
55126
55127         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55128         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55129         glibc version.
55130         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55131         * doc/posix-functions/strstr.texi (strstr): Likewise.
55132         * lib/str-two-way.h (MAX): Sychronize with glibc.
55133
55134 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55135
55136         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55137         opr.ctx_type.
55138         (calc_first): Initialize constraint field.
55139         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55140         Fix grammar.
55141         (duplicate_node): Merge constraint field for all node types.
55142         (calc_eclosure_iter): Look at constraint field for all node types.
55143         * lib/regex_internal.c (create_cd_newstate): Don't look at
55144         opr.ctx_type.
55145
55146 2008-05-14  Bruno Haible  <bruno@clisp.org>
55147
55148         Help GCC to do better code generation.
55149         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55150         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55151         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55152         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55153         Declare with attribute 'malloc' if supported.
55154
55155 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55156
55157         use "echo STR|wc -c" rather than unportable "expr length STR"
55158         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55159         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55160
55161 2008-05-14  Jim Meyering  <meyering@redhat.com>
55162
55163         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55164         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55165         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55166         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55167         via Collin Lasse.
55168
55169 2008-05-14  Eric Blake  <ebb9@byu.net>
55170
55171         Avoid quadratic growth in gl_LIBSOURCES.
55172         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55173         Suggested by Bruno Haible.
55174
55175         Test xmemdup0.
55176         * modules/xmemdup0-tests: New file.
55177         * tests/test-xmemdup0.c: Likewise.
55178
55179 2008-05-13  Eric Blake  <ebb9@byu.net>
55180
55181         Split xmemdup0 into its own module.
55182         * modules/xmemdup0: New file.
55183         * lib/xmemdup0.h: Likewise.
55184         * lib/xmemdup0.c: Likewise.
55185         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55186         * lib/xalloc.h (xmemdup0): Remove.
55187         * lib/xmalloc.c (xmemdup0): Likewise.
55188
55189 2008-05-13  Eric Blake  <ebb9@byu.net>
55190             Bruno Haible  <bruno@clisp.org>
55191
55192         Reduce number of forks required during autoconf.
55193         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55194         and gl_LIBSOURCES_DIR.
55195         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55196         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55197         m4_syscmd per file.
55198         <m4_foreach_w>: Move...
55199         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55200
55201 2008-05-13  Eric Blake  <ebb9@byu.net>
55202
55203         * gnulib-tool: Fix various comment typos.
55204
55205 2008-05-12  Bruno Haible  <bruno@clisp.org>
55206
55207         Tailor the linebreaking algorithm.
55208         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55209
55210 2008-05-12  Bruno Haible  <bruno@clisp.org>
55211
55212         Update to Unicode 5.0.0.
55213         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55214         LBP_JV, LBP_JT. Redistribute values.
55215         (unilbrk_table): Change size.
55216         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55217         Unicode TR#14 rev. 22.
55218         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55219         LBP_JV, LBP_JT. Redistribute values.
55220         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55221         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55222         Update.
55223         * lib/unilbrk/lbrkprop1.h: Regenerated.
55224         * lib/unilbrk/lbrkprop2.h: Regenerated.
55225         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55226         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55227         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55228         Likewise.
55229         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55230         Likewise.
55231         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55232         result.
55233         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55234         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55235         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55236         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55237         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55238         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55239
55240 2008-05-11  Bruno Haible  <bruno@clisp.org>
55241
55242         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55243
55244 2008-05-11  Bruno Haible  <bruno@clisp.org>
55245
55246         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55247         * modules/unilbrk/gen-lbrk: New file.
55248
55249 2008-05-11  Bruno Haible  <bruno@clisp.org>
55250
55251         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55252         * m4/sha512.m4 (gl_SHA512): Likewise.
55253
55254 2008-05-11  Jim Meyering  <meyering@redhat.com>
55255
55256         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55257         * modules/crypto/sha256: New file.
55258         * modules/crypto/sha512: Likewise.
55259         * lib/sha256.c: Likewise.
55260         * lib/sha256.h: Likewise.
55261         * lib/sha512.c: Likewise.
55262         * lib/sha512.h: Likewise.
55263         * lib/u64.h: Likewise.
55264         * m4/sha256.m4: Likewise.
55265         * m4/sha512.m4: Likewise.
55266         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55267
55268 2008-05-10  Bruno Haible  <bruno@clisp.org>
55269
55270         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55271         (Input/Output <stdio.h>): Add xprintf.
55272         (Signal handling <signal.h>): Add strsignal.
55273         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55274         (Core language properties): Add func.
55275         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55276         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55277         strings.
55278         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55279         (Input/output): New section.
55280         (File system functions): Add openat-die, stat-macros.
55281         (Networking functions): Add sockets.
55282         (Unicode string functions): Add unictype/*.
55283         (Support for building libraries and executables): Add gperf.
55284         (Support for building documentation): Add agpl-3.0.
55285         (Misc): Add nocrash.
55286
55287 2008-05-10  Bruno Haible  <bruno@clisp.org>
55288
55289         * modules/unictype/gen-ctype: New file.
55290
55291 2008-05-10  Jim Meyering  <meyering@redhat.com>
55292
55293         Make chdir-safer.c more efficient on a system with no symlinks.
55294         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55295         also if ELOOP is zero.  Suggested by Bruno Haible.
55296
55297         Make chdir-safer.c slightly safer.
55298         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55299         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55300
55301         Avoid compile failure on systems without ELOOP (like mingw).
55302         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55303         Reported by Bruno Haible.
55304
55305 2008-05-10  Bruno Haible  <bruno@clisp.org>
55306
55307         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55308         (is_utf8_encoding): Use a case-insensitive comparison.
55309         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55310         streq.
55311
55312 2008-05-10  Bruno Haible  <bruno@clisp.org>
55313
55314         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55315         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55316         * lib/unilbrk/ulc-common.h (iconv_string_length,
55317         iconv_string_keeping_offsets): Remove declarations.
55318         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55319         Don't include <iconv.h>, streq.h, xsize.h.
55320         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55321         conversion.
55322         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55323         <iconv.h>, streq.h, xsize.h.
55324         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55325         conversion.
55326         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55327         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55328         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55329         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55330
55331 2008-05-10  Bruno Haible  <bruno@clisp.org>
55332
55333         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55334         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55335
55336         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55337         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55338
55339         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55340         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55341
55342         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55343         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55344
55345         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55346         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55347
55348         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55349         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55350
55351         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55352         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55353
55354         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55355         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55356
55357 2008-05-10  Bruno Haible  <bruno@clisp.org>
55358
55359         Split up 'linebreak' module.
55360         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55361         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55362         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55363         modifications.
55364         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55365         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55366         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55367         lib/linebreak.c.
55368         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55369         lib/linebreak.c.
55370         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55371         lib/linebreak.c.
55372         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55373         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55374         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55375         lib/linebreak.c.
55376         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55377         lib/linebreak.c.
55378         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55379         lib/linebreak.c.
55380         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55381         lib/linebreak.c.
55382         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55383         lib/linebreak.c.
55384         * modules/unilbrk/base: New file.
55385         * modules/unilbrk/tables: New file.
55386         * modules/unilbrk/u8-possible-linebreaks: New file.
55387         * modules/unilbrk/u16-possible-linebreaks: New file.
55388         * modules/unilbrk/u32-possible-linebreaks: New file.
55389         * modules/unilbrk/ulc-common: New file.
55390         * modules/unilbrk/ulc-possible-linebreaks: New file.
55391         * modules/unilbrk/u8-width-linebreaks: New file.
55392         * modules/unilbrk/u16-width-linebreaks: New file.
55393         * modules/unilbrk/u32-width-linebreaks: New file.
55394         * modules/unilbrk/ulc-width-linebreaks: New file.
55395         * lib/linebreak.h: Remove file.
55396         * lib/linebreak.c: Remove file.
55397         * m4/linebreak.m4: Remove file.
55398         * modules/linebreak: Remove file.
55399         * NEWS: Mention the changes.
55400
55401 2008-05-09  Eric Blake  <ebb9@byu.net>
55402
55403         Add xmemdup0.
55404         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
55405         implementation.
55406         * lib/xmalloc.c (xmemdup0): New C implementation.
55407
55408 2008-05-08  Bruno Haible  <bruno@clisp.org>
55409
55410         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
55411
55412 2008-05-07  Eric Blake  <ebb9@byu.net>
55413
55414         Support cross-compilation of <wctype.h>.
55415         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
55416         AC_CACHE_CHECK.
55417
55418 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
55419
55420         * build-aux/vc-list-files: Add support for bzr.
55421
55422 2008-05-03  Jim Meyering  <meyering@redhat.com>
55423
55424         avoid failed assertion with tight malloc
55425         * tests/test-getndelim2.c: Correct an off-by-one assertion.
55426
55427 2008-05-03  Simon Josefsson  <simon@josefsson.org>
55428
55429         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
55430         are needed from arpa/inet.h.
55431         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
55432         Reported by Bruno Haible.
55433
55434 2008-05-02  Jim Meyering  <meyering@redhat.com>
55435
55436         avoid compilation error on FreeBSD 6
55437         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
55438
55439 2008-05-01  Jim Meyering  <meyering@redhat.com>
55440
55441         useless-if-before-free: correct --help's exit status description
55442         * build-aux/useless-if-before-free (usage): Like grep, exit 0
55443         for one or more matches, etc.  Reported by Bruno Haible.
55444
55445         vc-list-files: make the stand-alone gnulib test work
55446         * modules/vc-list-files-tests (configure.ac):
55447         Define and AC_SUBST abs_aux_dir.
55448         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
55449         $(abs_top_srcdir) to each script and having each of them
55450         duplicate the work of setting PATH, set PATH here, using
55451         the new variable, abs_aux_dir instead.
55452         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
55453         * tests/test-vc-list-files-git.sh: Likewise.
55454         Reported by Bruno Haible.
55455
55456 2008-05-01  Bruno Haible  <bruno@clisp.org>
55457
55458         * lib/getndelim2.c (getndelim2): Fix newsize computation during
55459         reallocation. Rename 'done' to 'found_delimiter'.
55460
55461 2008-05-01  Jim Meyering  <meyering@redhat.com>
55462
55463         vc-list-files: accommodate /bin/sh like the one from Solaris 10
55464         * build-aux/vc-list-files: Use `...`, not $(...).
55465
55466 2008-04-30  Jim Meyering  <meyering@redhat.com>
55467
55468         add tests for vc-list-files
55469         * modules/vc-list-files-tests: New module.
55470         * tests/test-vc-list-files-cvs.sh: New file.
55471         * tests/test-vc-list-files-git.sh: New file.
55472
55473         avoid a warning from gcc
55474         * lib/getndelim2.c (IF_LINT): Define.
55475         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
55476
55477         vc-list-files: work properly with build-aux/cvsu, too
55478         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
55479         to all cvs-based clauses.
55480
55481         vc-list-files: work properly in the CVS+awk case, too
55482         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
55483
55484         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
55485         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
55486         take more than one file argument, so .  Add quotes, just in case $dir
55487         ever contains a shell meta-character.  Prompted by Soren Hansen in
55488         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
55489
55490 2008-04-29  Eric Blake  <ebb9@byu.net>
55491
55492         Optimize getndelim2 to use block operations when possible.
55493         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
55494         freadseek, and memchr2.
55495         * lib/getndelim2.c (getndelim2): Use them for block reads.
55496
55497 2008-04-29  Bruno Haible  <bruno@clisp.org>
55498
55499         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
55500         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55501         * modules/inet_ntop (Depends-on): Add extensions.
55502         * modules/inet_pton (Depends-on): Likewise.
55503         Reported by Simon Josefsson.
55504
55505 2008-04-29  Jim Meyering  <meyering@redhat.com>
55506
55507         When the is more than one match in a block, match all of them.
55508         * build-aux/useless-if-before-free: Iterate through each block
55509         until there are no more matches.
55510
55511         Fix broken useless-if-before-free script.
55512         * build-aux/useless-if-before-free: Fix typo: missing "?" after
55513         the expression to match cast of argument to free-like function.
55514
55515 2008-04-29  Eric Blake  <ebb9@byu.net>
55516
55517         Use new header.
55518         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
55519
55520 2008-04-29  Jim Meyering  <meyering@redhat.com>
55521
55522         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
55523         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
55524         by gnulib to exist and to declare e.g., inet_ntop.
55525         Don't include "inet_ntop.h", now removed.
55526
55527         * m4/arpa_inet_h.m4: Remove trailing blanks.
55528
55529 2008-04-29  Eric Blake  <ebb9@byu.net>
55530
55531         Silence valgrind on safe reads beyond potential array bounds.
55532         * lib/rawmemchr.valgrind: New file.
55533         * lib/strchrnul.valgrind: Likewise.
55534         * modules/rawmemchr (Files): Distribute new file.
55535         * modules/strchrnul (Files): Likewise.
55536         Suggested by Bruno Haible.
55537
55538 2008-04-29  Bruno Haible  <bruno@clisp.org>
55539
55540         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55541         (inet_ntop, inet_pton): Change portability warning's wording.
55542         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55543         Invoke gl_CHECK_NEXT_HEADERS.
55544         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55545         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55546         set ARPA_INET_H.
55547         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55548         * modules/arpa_inet (Description): No longer only for systems that
55549         lack it.
55550         (Depends-on): Add include_next.
55551         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55552         HAVE_ARPA_INET_H.
55553
55554 2008-04-29  Jim Meyering  <meyering@redhat.com>
55555
55556         * modules/mkdir (License): Re-license as LGPLv2+.
55557
55558 2008-04-29  Bruno Haible  <bruno@clisp.org>
55559
55560         * modules/rawmemchr (Maintainer): Set to Eric.
55561         * modules/strchrnul (Maintainer): Likewise.
55562
55563 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55564
55565         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55566         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55567
55568         * modules/arpa_inet (arpa/inet.h): Use them.
55569
55570 2008-04-28  Eric Blake  <ebb9@byu.net>
55571
55572         Test getndelim2.
55573         * modules/getndelim2-tests: New file.
55574         * tests/test-getndelim2.c: Likewise.
55575         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55576         stream.
55577         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55578
55579         * MODULES.html.sh: Document new module.
55580
55581 2008-04-20  Bruno Haible  <bruno@clisp.org>
55582
55583         * lib/c-stack.c (die): Use raise.
55584         * modules/c-stack (Depends-on): Add raise.
55585
55586 2008-04-28  Bruno Haible  <bruno@clisp.org>
55587
55588         Expect rpmatch to be declared.
55589         * lib/yesno.c (rpmatch): Remove declaration.
55590
55591         Declare rpmatch.
55592         * lib/stdlib.in.h (rpmatch): New declaration.
55593         * lib/rpmatch.c: Include <stdlib.h> first.
55594         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55595         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55597         HAVE_RPMATCH.
55598         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55599         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55600         (Include): Set to <stdlib.h>.
55601         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55602         HAVE_RPMATCH.
55603         * NEWS: Document the change.
55604
55605 2008-04-28  Bruno Haible  <bruno@clisp.org>
55606
55607         Change rpmatch to use nl_langinfo when appropriate.
55608         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55609         (N_): New macro.
55610         (localized_pattern): New function/macro.
55611         (try): Remove match, nomatch arguments. Copy the pattern into safe
55612         memory before caching it.
55613         (rpmatch): Use localized_pattern. Add translator comments.
55614         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55615         Suggested by Eric Blake.
55616         * modules/rpmatch (Depends-on): Add stdbool.
55617
55618 2008-04-28  Eric Blake  <ebb9@byu.net>
55619
55620         Add rawmemchr module, matching glibc.
55621         * modules/string (Makefile.am): New indicator.
55622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55623         * lib/string.in.h (rawmemchr): Declare when appropriate.
55624         * modules/rawmemchr: New file.
55625         * m4/rawmemchr.m4: Likewise.
55626         * lib/rawmemchr.c: Likewise.
55627         * modules/rawmemchr-tests: Likewise.
55628         * tests/test-rawmemchr.c: Likewise.
55629         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55630         module.
55631         * modules/strchrnul (Depends-on): Add rawmemchr.
55632         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55633
55634         Whitespace cleanup.
55635         * tests/test-strchrnul.c: Reindent.
55636         * lib/strchrnul.c: Likewise.
55637
55638         Optimize and test strchrnul.
55639         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55640         * modules/strchrnul-tests: New file.
55641         * tests/test-strchrnul.c: Likewise.
55642
55643         Remove intprops dependency.
55644         * modules/memchr (Depends-on): Remove intprops.
55645         * modules/memrchr (Depends-on): Likewise.
55646         * modules/memchr2 (Depends-on): Likewise.
55647         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55648         * lib/memrchr.c (__memrchr): Likewise.
55649         * lib/memrchr2.c (memchr2): Likewise.
55650         Reported by Simon Josefsson.
55651
55652 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55653
55654         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55655         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55656
55657 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55658
55659         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55660
55661         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55662
55663         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55664
55665         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55666         declarations.
55667         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55668
55669         * m4/inet_pton.m4: Don't check for header files.
55670
55671         * m4/inet_ntop.m4: Don't check for header files.
55672
55673 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55674
55675         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55676         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55677         trigger for cygwin).
55678         Reported by Bruno Haible  <bruno@clisp.org>.
55679
55680 2008-04-28  Bruno Haible  <bruno@clisp.org>
55681
55682         * doc/posix-functions/strdup.texi: Mention mingw problem.
55683
55684 2008-04-27  Bruno Haible  <bruno@clisp.org>
55685
55686         * modules/stat-time-tests (Depends-on): Add sleep.
55687         * tests/test-stat-time.c (force_unlink): New function.
55688         (cleanup): Use it.
55689         (test_mtime): Remove the ctime related tests.
55690         (test_ctime): New function, containing the ctime related tests.
55691         (main): Call test_ctime, except on native Windows platforms.
55692
55693 2008-04-27  Bruno Haible  <bruno@clisp.org>
55694
55695         * lib/rpmatch.c (rpmatch): Add some comments.
55696         Reported by James Youngman <jay@gnu.org>.
55697
55698 2008-04-27  Bruno Haible  <bruno@clisp.org>
55699
55700         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55701         quiet NaNs.
55702
55703 2008-04-27  Bruno Haible  <bruno@clisp.org>
55704
55705         Make test-yesno.sh work on mingw.
55706         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55707         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55708         (main): Set stdin to binary mode.
55709         * modules/yesno-tests (Depends-on): Add binary-io.
55710
55711 2008-04-27  Bruno Haible  <bruno@clisp.org>
55712
55713         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55714         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55715         argument that lie outside the IEEE 854 domain.
55716         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55717         (gl_ISFINITE): Use it.
55718         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55719
55720 2008-04-27  Bruno Haible  <bruno@clisp.org>
55721
55722         Allow local renaming in config.h.
55723         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55724
55725 2008-04-27  Bruno Haible  <bruno@clisp.org>
55726
55727         * lib/memchr.c (__memchr): Change type of 'i'.
55728         * lib/memchr2.c (memchr2): Likewise.
55729
55730 2008-04-26  Eric Blake  <ebb9@byu.net>
55731         and Bruno Haible  <bruno@clisp.org>
55732
55733         Optimize and test memrchr.
55734         * modules/memrchr (Depends-on): Add intprops.
55735         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55736         * modules/memrchr-tests: New file.
55737         * tests/test-memrchr.c: New file.
55738
55739 2008-04-26  Bruno Haible  <bruno@clisp.org>
55740
55741         Add tentative support for DragonFly BSD.
55742         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55743         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55744         fp.
55745         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55746         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55747         * lib/fpurge.c (fpurge): Likewise.
55748         * lib/freadable.c (freaadable): Likewise.
55749         * lib/freadahead.c (freadahead): Likewise.
55750         * lib/freading.c (freading): Likewise.
55751         * lib/freadptr.c (freadptr): Likewise.
55752         * lib/freadseek.c (freadptrinc): Likewise.
55753         * lib/fseeko.c (fseeko): Likewise.
55754         * lib/fseterr.c (fseterr): Likewise.
55755         * lib/fwritable.c (fwritable): Likewise.
55756         * lib/fwriting.c (fwriting): Likewise.
55757
55758 2008-04-26  Bruno Haible  <bruno@clisp.org>
55759
55760         * lib/stdio-impl.h: New file.
55761         * lib/fbufmode.c: Include stdio-impl.h.
55762         (fbufmode): Use fp_, remove redundant #defines.
55763         * lib/fflush.c: Include stdio-impl.h.
55764         (clear_ungetc_buffer): Remove redundant #defines.
55765         * lib/fpurge.c: Include stdio-impl.h.
55766         (fpurge): Remove redundant #defines.
55767         * lib/freadable.c: Include stdio-impl.h.
55768         (freadable): Remove redundant #defines.
55769         * lib/freadahead.c: Include stdio-impl.h.
55770         (freadahead): Remove redundant #defines.
55771         * lib/freading.c: Include stdio-impl.h.
55772         (freading): Remove redundant #defines.
55773         * lib/freadptr.c: Include stdio-impl.h.
55774         (freadptr): Remove redundant #defines.
55775         * lib/freadseek.c: Include stdio-impl.h.
55776         (freadptrinc): Remove redundant #defines.
55777         * lib/fseeko.c: Include stdio-impl.h.
55778         (rpl_fseeko): Remove redundant #defines.
55779         * lib/fseterr.c: Include stdio-impl.h.
55780         (fseterr): Remove redundant #defines.
55781         * lib/fwritable.c: Include stdio-impl.h.
55782         (fwritable: Remove redundant #defines.
55783         * lib/fwriting.c: Include stdio-impl.h.
55784         (fwriting): Remove redundant #defines.
55785         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55786         * modules/fflush (Files): Likewise.
55787         * modules/fpurge (Files): Likewise.
55788         * modules/freadable (Files): Likewise.
55789         * modules/freadahead (Files): Likewise.
55790         * modules/freading (Files): Likewise.
55791         * modules/freadptr (Files): Likewise.
55792         * modules/freadseek (Files): Likewise.
55793         * modules/fseeko (Files): Likewise.
55794         * modules/fseterr (Files): Likewise.
55795         * modules/fwritable (Files): Likewise.
55796         * modules/fwriting (Files): Likewise.
55797
55798 2008-04-26  Bruno Haible  <bruno@clisp.org>
55799
55800         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55801         restore_seek_optimization, update_fpos_cache): New functions, extracted
55802         from rpl_fflush.
55803         (rpl_fflush): Use them.
55804         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55805         (gl_REPLACE_FFLUSH): Use it.
55806
55807 2008-04-26  Bruno Haible  <bruno@clisp.org>
55808
55809         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55810         on Solaris.
55811         * tests/test-xstrtoimax.sh: Likewise.
55812         * tests/test-xstrtoumax.sh: Likewise.
55813         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55814
55815 2008-04-26  Bruno Haible  <bruno@clisp.org>
55816
55817         * modules/memchr-tests: New file.
55818         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55819
55820 2008-04-26  Eric Blake  <ebb9@byu.net>
55821             Bruno Haible  <bruno@clisp.org>
55822
55823         * lib/memchr.c: Include intprops.h.
55824         (__memchr): Optimize parallel detection of matching bytes. Rename local
55825         variables. Add explanatory comments.
55826
55827 2008-04-26  Bruno Haible  <bruno@clisp.org>
55828
55829         Fix module 'memchr', broken since 2000-10-28.
55830         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55831
55832 2008-04-26  Bruno Haible  <bruno@clisp.org>
55833
55834         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55835         comments.
55836
55837 2008-04-25  Eric Blake  <ebb9@byu.net>
55838
55839         Use native fstatat on cygwin 1.7.0.
55840         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55841         first.
55842
55843 2008-04-23  Eric Blake  <ebb9@byu.net>
55844
55845         Improve memchr2 performance.
55846         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55847         NUL bytes.
55848         * modules/memchr2 (Depends-on): Use intprops.h.
55849
55850 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55851
55852         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55853         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55854         <blp@cs.stanford.edu>.
55855
55856 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55857
55858         * lib/arpa_inet.in.h: New file.
55859
55860         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55861         (Makefile.am): Sed in substitute header file.
55862
55863         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55864         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55865
55866         * modules/inet_ntop (configure.ac): Use
55867         gl_ARPA_INET_MODULE_INDICATOR.
55868
55869         * modules/inet_pton (configure.ac): Use
55870         gl_ARPA_INET_MODULE_INDICATOR.
55871
55872 2008-04-22  Jim Meyering  <meyering@redhat.com>
55873
55874         * modules/verify (License): Re-license as LGPLv2+.
55875
55876 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55877
55878         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55879         parameter to void* as per POSIX standard (MinGW uses char*).
55880
55881 2008-04-21  Bruno Haible  <bruno@clisp.org>
55882
55883         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55884         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55885         Define to replacements if REPLACE_ISWCNTRL is 1.
55886         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55887         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55888         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55889         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55890         what it fixes.
55891         * doc/posix-functions/iswalpha.texi: Likewise.
55892         * doc/posix-functions/iswblank.texi: Likewise.
55893         * doc/posix-functions/iswcntrl.texi: Likewise.
55894         * doc/posix-functions/iswdigit.texi: Likewise.
55895         * doc/posix-functions/iswgraph.texi: Likewise.
55896         * doc/posix-functions/iswlower.texi: Likewise.
55897         * doc/posix-functions/iswprint.texi: Likewise.
55898         * doc/posix-functions/iswpunct.texi: Likewise.
55899         * doc/posix-functions/iswspace.texi: Likewise.
55900         * doc/posix-functions/iswupper.texi: Likewise.
55901         * doc/posix-functions/iswxdigit.texi: Likewise.
55902         Reported by Alain Guibert.
55903
55904 2008-04-21  Bruno Haible  <bruno@clisp.org>
55905
55906         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
55907         Patch by Alain Guibert.
55908
55909 2008-04-21  Bruno Haible  <bruno@clisp.org>
55910
55911         Fix test failures on mingw.
55912         * tests/test-xstrtol.c (print_no_progname): New function.
55913         (main): Install it in error_print_progname hook.
55914         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
55915         * tests/test-xstrtoimax.sh: Likewise.
55916         * tests/test-xstrtoumax.sh: Likewise.
55917
55918 2008-04-21  Bruno Haible  <bruno@clisp.org>
55919
55920         Fix test failure on mingw.
55921         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
55922
55923 2008-04-21  Bruno Haible  <bruno@clisp.org>
55924
55925         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
55926         Actually assign a value.
55927
55928 2008-04-20  Bruno Haible  <bruno@clisp.org>
55929
55930         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
55931         take 2.
55932         * lib/canonicalize.c (canonicalize_file_name): Elide if the
55933         'canonicalize-lgpl' module is also used.
55934         * lib/canonicalize-lgpl.c: Undo last change.
55935         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
55936
55937 2008-04-20  Bruno Haible  <bruno@clisp.org>
55938
55939         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
55940         config.h. Provide _mkdir based fallback for mingw.
55941         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
55942         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
55943         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
55944         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
55945         rather than defining mkdir in config.h.
55946         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
55947         (gl_SYS_STAT_H_DEFAULTS): New macro.
55948         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
55949         HAVE_IO_H any more.
55950         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
55951         HAVE_DECL_MKDIR and HAVE_IO_H.
55952
55953 2008-04-20  Bruno Haible  <bruno@clisp.org>
55954
55955         * lib/isapipe.c: Port to native Windows platforms.
55956
55957 2008-04-20  Bruno Haible  <bruno@clisp.org>
55958
55959         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
55960
55961 2008-04-21  Eric Blake  <ebb9@byu.net>
55962
55963         Work around preprocessors that don't handle UINTMAX_MAX.
55964         * lib/memchr2.c (memchr2): Avoid embedded #if.
55965         Reported by Alain Guibert, fix suggested by Bruno Haible.
55966
55967 2008-04-21  Simon Josefsson  <simon@josefsson.org>
55968
55969         * doc/posix-functions/strftime.texi (strftime): Explain better
55970         Windows incompatibility.  Suggested by Micah Cowan
55971         <micah@cowan.name>.
55972
55973 2008-04-20  Bruno Haible  <bruno@clisp.org>
55974
55975         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
55976         unistr/u8-mblen.
55977
55978 2008-04-20  Bruno Haible  <bruno@clisp.org>
55979
55980         Fix test failure on platforms with non-GNU iconv.
55981         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
55982         (U_TO_U8): Use it, rather than u16_to_u8.
55983         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
55984         units at the end of the input string.
55985         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
55986
55987 2008-04-20  Bruno Haible  <bruno@clisp.org>
55988
55989         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
55990         when the resulting length is 0.
55991         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
55992
55993 2008-04-20  Bruno Haible  <bruno@clisp.org>
55994
55995         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
55996         works.
55997         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
55998
55999 2008-04-20  Bruno Haible  <bruno@clisp.org>
56000
56001         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56002         * modules/tsearch-tests (configure.ac): Test for initstate function.
56003
56004 2008-04-20  Bruno Haible  <bruno@clisp.org>
56005
56006         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56007         for nlink_t if missing.
56008         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56009
56010 2008-04-19  Bruno Haible  <bruno@clisp.org>
56011
56012         Work around snprintf bug on Linux libc5.
56013         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56014         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56015         gl_SNPRINTF_SIZE1.
56016         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56017         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56018         that test failed.
56019         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56020         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56021         * modules/snprintf (Files): Add m4/printf.m4.
56022         * modules/vsnprintf (Files): Likewise.
56023         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56024         * doc/posix-functions/vsnprintf.texi: Likewise.
56025
56026 2008-04-19  Bruno Haible  <bruno@clisp.org>
56027
56028         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56029         from 0.0058 to less than 10^-7.
56030
56031 2008-04-19  Bruno Haible  <bruno@clisp.org>
56032
56033         Fix rounding when a precision is given.
56034         * lib/vasnprintf.c (is_borderline): New function.
56035         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56036         9...9x.
56037         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56038         %e, %g.
56039         * tests/test-vasprintf-posix.c (test_function): Likewise.
56040         * tests/test-snprintf-posix.h (test_function): Likewise.
56041         * tests/test-sprintf-posix.h (test_function): Likewise.
56042         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56043         * tests/test-printf-posix.h (test_function): Likewise.
56044         * tests/test-printf-posix.output: Update.
56045         Reported by John Darrington <john@darrington.wattle.id.au> via
56046         Ben Pfaff <blp@cs.stanford.edu>.
56047
56048 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56049
56050         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56051         Suggested by Bruno Haible <bruno@clisp.org>.
56052
56053 2008-04-17  Bruno Haible  <bruno@clisp.org>
56054
56055         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56056         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56057         implementation.
56058         Patch by Bruce Merry <bmerry@gmail.com>.
56059
56060 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56061
56062         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56063         doesn't work under Windows.
56064
56065 2008-04-16  Bruno Haible  <bruno@clisp.org>
56066
56067         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56068         New macros.
56069         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56070         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56071         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56072         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56073         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56074         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56075         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56076         macros.
56077         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56078         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56079         Northern Sotho, Uighur.
56080
56081 2008-04-16  Bruno Haible  <bruno@clisp.org>
56082
56083         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56084         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56085         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56086         Reported by Daniel Bergström <daniel@octocode.com>.
56087
56088 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56089             Bruno Haible  <bruno@clisp.org>
56090
56091         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56092         function.
56093         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56094         New functions, mostly extracted from gl_locale_name_default.
56095         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56096
56097 2008-04-16  Eric Blake  <ebb9@byu.net>
56098
56099         Adjust strtod detection to catch glibc 2.7 bug.
56100         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56101         Reported by John Gatewood Ham.
56102
56103 2008-04-16  Bruno Haible  <bruno@clisp.org>
56104
56105         Add tentative support for Linux libc5.
56106         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56107         * lib/fpurge.c (fpurge): Likewise.
56108         * lib/freadable.c (freadable): Likewise.
56109         * lib/freadahead.c (freadahead): Likewise.
56110         * lib/freading.c (freading): Likewise.
56111         * lib/freadptr.c (freadptr): Likewise.
56112         * lib/freadseek.c (freadptrinc): Likewise.
56113         * lib/fseeko.c (rpl_fseeko): Likewise.
56114         * lib/fseterr.c (fseterr): Likewise.
56115         * lib/fwritable.c (fwritable): Likewise.
56116         * lib/fwriting.c (fwriting): Likewise.
56117         Reported by Alain Guibert <alguibert+bts@free.fr>.
56118
56119 2008-04-15  Bruno Haible  <bruno@clisp.org>
56120
56121         * modules/mathl (configure.ac): Define module indicator.
56122
56123 2008-04-15  Bruno Haible  <bruno@clisp.org>
56124
56125         * lib/logl.c (logl): Remove unused variables.
56126
56127 2008-04-15  Bruno Haible  <bruno@clisp.org>
56128
56129         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56130         fails.
56131
56132 2008-04-15  Bruno Haible  <bruno@clisp.org>
56133
56134         * lib/trim.c (trim2): Fix argument of isspace() macro.
56135
56136 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56137
56138         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56139         to 0.
56140         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56141
56142 2008-04-14  Bruno Haible  <bruno@clisp.org>
56143
56144         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56145         AC_LANG_PROGRAM argument.
56146         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56147         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56148         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56149         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56150         * m4/math_h.m4 (gl_MATH_H): Likewise.
56151         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56152         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56153         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56154         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56155         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56156         * m4/regex.m4 (gl_REGEX): Likewise.
56157         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56158         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56159         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56160         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56161         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56162         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56163         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56164         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56165
56166 2008-04-14  Jim Meyering  <meyering@redhat.com>
56167
56168         test-strtod: fix typos: s/abs/fabs/
56169         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56170
56171 2008-04-13  Bruno Haible  <bruno@clisp.org>
56172
56173         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56174         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56175         module is also used and while not building the reloc-wrapper.
56176
56177 2008-04-13  Bruno Haible  <bruno@clisp.org>
56178
56179         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56180
56181 2008-04-13  Bruno Haible  <bruno@clisp.org>
56182
56183         Fix AIX compilation failure introduced on 2008-04-02.
56184         * tests/test-frexp.c (exp): Undefine before redefining.
56185         * tests/test-frexpl.c (exp): Likewise.
56186
56187 2008-04-13  Bruno Haible  <bruno@clisp.org>
56188
56189         Work around a HP-UX stdio bug.
56190         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56191         * tests/test-ftello.c (main): Likewise.
56192         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56193         * doc/posix-functions/ftello.texi: Likewise.
56194
56195 2008-04-13  Bruno Haible  <bruno@clisp.org>
56196
56197         Make test-signbit pass on HP-UX/hppa.
56198         * tests/test-signbit.c (minus_zerol): New variable.
56199         (test_signbitl): Use it.
56200
56201 2008-04-13  Bruno Haible  <bruno@clisp.org>
56202
56203         Make truncl work on OSF/1 4.0.
56204         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56205         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56206         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56208         HAVE_DECL_TRUNCL.
56209         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56210         HAVE_DECL_TRUNCL.
56211         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56212
56213 2008-04-13  Bruno Haible  <bruno@clisp.org>
56214
56215         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56216
56217 2008-04-13  Bruno Haible  <bruno@clisp.org>
56218
56219         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56220         expression, so as to avoid HP-UX 11 cc compiler bug.
56221
56222 2008-04-13  Bruno Haible  <bruno@clisp.org>
56223
56224         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56225
56226 2008-04-13  Bruno Haible  <bruno@clisp.org>
56227
56228         * lib/git-merge-changelog.c: Remove empty declaration outside of
56229         functions.
56230
56231 2008-04-13  Bruno Haible  <bruno@clisp.org>
56232
56233         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56234
56235 2008-04-13  Bruno Haible  <bruno@clisp.org>
56236
56237         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56238         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56239         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56240         also if it exists but lacks definitions of the SHUT_* macros.
56241         * modules/sys_socket (Description): Update.
56242         Reported by Elbert Pol <e.pol@chello.nl>.
56243
56244 2008-04-13  Bruno Haible  <bruno@clisp.org>
56245
56246         * lib/localcharset.c (OS2): Don't redefine if already defined.
56247         Reported by Elbert Pol <e.pol@chello.nl>.
56248
56249 2008-04-13  Bruno Haible  <bruno@clisp.org>
56250
56251         * lib/binary-io.h [__EMX__]: Include <io.h>.
56252         Reported by Elbert Pol <e.pol@chello.nl>.
56253
56254 2008-04-12  Bruno Haible  <bruno@clisp.org>
56255
56256         * lib/fpucw.h: Enable the definitions also for x86_64.
56257         Needed for NetBSD/x86_64.
56258         Reported by Thomas Klausner <tk@giga.or.at>.
56259
56260 2008-04-12  Bruno Haible  <bruno@clisp.org>
56261
56262         * tests/test-strtod.c: Include isnand.h.
56263         (main): Use isnand instead of isnan.
56264         Reported by Jim Meyering.
56265
56266 2008-04-12  Bruno Haible  <bruno@clisp.org>
56267
56268         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56269         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56270
56271 2008-04-12  Jim Meyering  <meyering@redhat.com>
56272
56273         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56274
56275 2008-04-12  Bruno Haible  <bruno@clisp.org>
56276
56277         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56278         Reported by Elbert Pol <e.pol@chello.nl>.
56279
56280 2008-04-12  Eric Blake  <ebb9@byu.net>
56281
56282         Work around Solaris 10 math.h bug.
56283         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56284         (gl_MATH_H_DEFAULTS): Set up default.
56285         * modules/math (Makefile.am): Replace new indicators.
56286         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56287         * tests/test-math.c (main): Test this.
56288         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56289         * doc/posix-headers/math.texi (math.h): Mention bug.
56290         Reported by Nelson H. F. Beebe and Jim Meyering.
56291
56292 2008-04-11  Bruno Haible  <bruno@clisp.org>
56293
56294         Adapt to future versions of Apple GCC.
56295         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56296         Reported by Peter O'Gorman <peter@pogma.com>.
56297
56298 2008-04-11  Bruno Haible  <bruno@clisp.org>
56299
56300         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56301
56302 2008-04-11  Bruno Haible  <bruno@clisp.org>
56303
56304         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56305
56306         * modules/getaddrinfo-tests (Makefile.am): Define
56307         test_getaddrinfo_LDADD.
56308
56309 2008-04-11  Bruno Haible  <bruno@clisp.org>
56310
56311         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56312         (init): Fix syntax error.
56313         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56314         is declared.
56315
56316 2008-04-11  Bruno Haible  <bruno@clisp.org>
56317
56318         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56319         * modules/glob (Depends-on): Add stdbool.
56320
56321 2008-04-11  Bruno Haible  <bruno@clisp.org>
56322
56323         * lib/trim.c: Include <string.h>.
56324
56325 2008-04-11  Eric Blake  <ebb9@byu.net>
56326
56327         Avoid compile failure on OS/2.
56328         * lib/regex_internal.h (internal_function): Disable optimization
56329         on OS/2 (__EMX__), where it caused compiler error.
56330         Reported by Elbert Pol.
56331
56332 2008-04-11  Bruno Haible  <bruno@clisp.org>
56333
56334         Flush the standard error stream before aborting. Needed on mingw.
56335         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56336         * tests/test-array_list.c (ASSERT): Likewise.
56337         * tests/test-array_oset.c (ASSERT): Likewise.
56338         * tests/test-avltree_list.c (ASSERT): Likewise.
56339         * tests/test-avltree_oset.c (ASSERT): Likewise.
56340         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56341         * tests/test-binary-io.c (ASSERT): Likewise.
56342         * tests/test-byteswap.c (ASSERT): Likewise.
56343         * tests/test-c-ctype.c (ASSERT): Likewise.
56344         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56345         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56346         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56347         * tests/test-c-strstr.c (ASSERT): Likewise.
56348         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56349         * tests/test-canonicalize.c (ASSERT): Likewise.
56350         * tests/test-carray_list.c (ASSERT): Likewise.
56351         * tests/test-ceilf1.c (ASSERT): Likewise.
56352         * tests/test-ceilf2.c (ASSERT): Likewise.
56353         * tests/test-ceill.c (ASSERT): Likewise.
56354         * tests/test-count-one-bits.c (ASSERT): Likewise.
56355         * tests/test-fbufmode.c (ASSERT): Likewise.
56356         * tests/test-fflush2.c (ASSERT): Likewise.
56357         * tests/test-floorf1.c (ASSERT): Likewise.
56358         * tests/test-floorf2.c (ASSERT): Likewise.
56359         * tests/test-floorl.c (ASSERT): Likewise.
56360         * tests/test-fopen.c (ASSERT): Likewise.
56361         * tests/test-fpending.c (ASSERT): Likewise.
56362         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56363         * tests/test-fpurge.c (ASSERT): Likewise.
56364         * tests/test-freadable.c (ASSERT): Likewise.
56365         * tests/test-freadahead.c (ASSERT): Likewise.
56366         * tests/test-freading.c (ASSERT): Likewise.
56367         * tests/test-freadptr.c (ASSERT): Likewise.
56368         * tests/test-freadptr2.c (ASSERT): Likewise.
56369         * tests/test-freadseek.c (ASSERT): Likewise.
56370         * tests/test-freopen.c (ASSERT): Likewise.
56371         * tests/test-frexp.c (ASSERT): Likewise.
56372         * tests/test-frexpl.c (ASSERT): Likewise.
56373         * tests/test-fseek.c (ASSERT): Likewise.
56374         * tests/test-fseeko.c (ASSERT): Likewise.
56375         * tests/test-fstrcmp.c (ASSERT): Likewise.
56376         * tests/test-ftell.c (ASSERT): Likewise.
56377         * tests/test-ftello.c (ASSERT): Likewise.
56378         * tests/test-func.c (ASSERT): Likewise.
56379         * tests/test-fwritable.c (ASSERT): Likewise.
56380         * tests/test-fwriting.c (ASSERT): Likewise.
56381         * tests/test-getdelim.c (ASSERT): Likewise.
56382         * tests/test-getline.c (ASSERT): Likewise.
56383         * tests/test-i-ring.c (ASSERT): Likewise.
56384         * tests/test-iconv-utf.c (ASSERT): Likewise.
56385         * tests/test-iconv.c (ASSERT): Likewise.
56386         * tests/test-isfinite.c (ASSERT): Likewise.
56387         * tests/test-isnand.c (ASSERT): Likewise.
56388         * tests/test-isnanf.c (ASSERT): Likewise.
56389         * tests/test-isnanl.h (ASSERT): Likewise.
56390         * tests/test-ldexpl.c (ASSERT): Likewise.
56391         * tests/test-linked_list.c (ASSERT): Likewise.
56392         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56393         * tests/test-localename.c (ASSERT): Likewise.
56394         * tests/test-lseek.c (ASSERT): Likewise.
56395         * tests/test-mbscasecmp.c (ASSERT): Likewise.
56396         * tests/test-mbscasestr1.c (ASSERT): Likewise.
56397         * tests/test-mbscasestr2.c (ASSERT): Likewise.
56398         * tests/test-mbscasestr3.c (ASSERT): Likewise.
56399         * tests/test-mbscasestr4.c (ASSERT): Likewise.
56400         * tests/test-mbschr.c (ASSERT): Likewise.
56401         * tests/test-mbscspn.c (ASSERT): Likewise.
56402         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
56403         * tests/test-mbspbrk.c (ASSERT): Likewise.
56404         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
56405         * tests/test-mbsrchr.c (ASSERT): Likewise.
56406         * tests/test-mbsspn.c (ASSERT): Likewise.
56407         * tests/test-mbsstr1.c (ASSERT): Likewise.
56408         * tests/test-mbsstr2.c (ASSERT): Likewise.
56409         * tests/test-mbsstr3.c (ASSERT): Likewise.
56410         * tests/test-memchr2.c (ASSERT): Likewise.
56411         * tests/test-memmem.c (ASSERT): Likewise.
56412         * tests/test-open.c (ASSERT): Likewise.
56413         * tests/test-printf-frexp.c (ASSERT): Likewise.
56414         * tests/test-printf-frexpl.c (ASSERT): Likewise.
56415         * tests/test-printf-posix.c (ASSERT): Likewise.
56416         * tests/test-quotearg.c (ASSERT): Likewise.
56417         * tests/test-rbtree_list.c (ASSERT): Likewise.
56418         * tests/test-rbtree_oset.c (ASSERT): Likewise.
56419         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
56420         * tests/test-round1.c (ASSERT): Likewise.
56421         * tests/test-roundf1.c (ASSERT): Likewise.
56422         * tests/test-roundl.c (ASSERT): Likewise.
56423         * tests/test-signbit.c (ASSERT): Likewise.
56424         * tests/test-sleep.c (ASSERT): Likewise.
56425         * tests/test-snprintf-posix.c (ASSERT): Likewise.
56426         * tests/test-snprintf.c (ASSERT): Likewise.
56427         * tests/test-sprintf-posix.c (ASSERT): Likewise.
56428         * tests/test-stat-time.c (ASSERT): Likewise.
56429         * tests/test-strcasestr.c (ASSERT): Likewise.
56430         * tests/test-strerror.c (ASSERT): Likewise.
56431         * tests/test-striconv.c (ASSERT): Likewise.
56432         * tests/test-striconveh.c (ASSERT): Likewise.
56433         * tests/test-striconveha.c (ASSERT): Likewise.
56434         * tests/test-strsignal.c (ASSERT): Likewise.
56435         * tests/test-strstr.c (ASSERT): Likewise.
56436         * tests/test-strtod.c (ASSERT): Likewise.
56437         * tests/test-trunc1.c (ASSERT): Likewise.
56438         * tests/test-trunc2.c (ASSERT): Likewise.
56439         * tests/test-truncf1.c (ASSERT): Likewise.
56440         * tests/test-truncf2.c (ASSERT): Likewise.
56441         * tests/test-truncl.c (ASSERT): Likewise.
56442         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
56443         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
56444         * tests/test-vasnprintf.c (ASSERT): Likewise.
56445         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
56446         * tests/test-vasprintf.c (ASSERT): Likewise.
56447         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
56448         * tests/test-vprintf-posix.c (ASSERT): Likewise.
56449         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
56450         * tests/test-vsnprintf.c (ASSERT): Likewise.
56451         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
56452         * tests/test-wcwidth.c (ASSERT): Likewise.
56453         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
56454         * tests/test-xprintf-posix.c (ASSERT): Likewise.
56455         * tests/test-xvasprintf.c (ASSERT): Likewise.
56456         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
56457         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
56458         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
56459         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
56460         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
56461         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
56462         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
56463         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
56464         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
56465         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
56466         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
56467         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
56468         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
56469         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
56470         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
56471         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
56472         * tests/unictype/test-block_list.c (ASSERT): Likewise.
56473         * tests/unictype/test-block_of.c (ASSERT): Likewise.
56474         * tests/unictype/test-block_test.c (ASSERT): Likewise.
56475         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
56476         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
56477         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
56478         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
56479         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
56480         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
56481         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
56482         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
56483         * tests/unictype/test-combining.c (ASSERT): Likewise.
56484         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
56485         * tests/unictype/test-digit.c (ASSERT): Likewise.
56486         * tests/unictype/test-mirror.c (ASSERT): Likewise.
56487         * tests/unictype/test-numeric.c (ASSERT): Likewise.
56488         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
56489         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
56490         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
56491         * tests/unictype/test-scripts.c (ASSERT): Likewise.
56492         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
56493         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
56494         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
56495         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
56496         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
56497         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
56498         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
56499         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
56500         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
56501         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
56502         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
56503         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
56504         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
56505         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
56506         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
56507         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
56508         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
56509         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
56510         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
56511         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
56512         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
56513         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
56514         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
56515         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
56516         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
56517         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
56518         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
56519         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
56520         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
56521         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
56522         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
56523         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
56524         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
56525         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
56526         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
56527         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
56528         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
56529         Reported by Eric Blake.
56530
56531 2008-04-11  Bruno Haible  <bruno@clisp.org>
56532
56533         * lib/wchar.in.h: Tweak comment.
56534
56535 2008-04-11  Bruno Haible  <bruno@clisp.org>
56536
56537         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56538         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56539         gl_COMMON.
56540         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56541
56542 2008-04-11  Bruno Haible  <bruno@clisp.org>
56543
56544         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56545
56546 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56547
56548         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56549         of attempting to use non-existing /dev/*random.  Based on patch
56550         from Adam Strzelecki <ono@java.pl> in
56551         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56552
56553 2008-04-08  Bruno Haible  <bruno@clisp.org>
56554
56555         Add tentative support for emx+gcc.
56556         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56557         * lib/fpurge.c (fpurge): Likewise.
56558         * lib/freadable.c (freadable): Likewise.
56559         * lib/freadahead.c (freadahead): Likewise.
56560         * lib/freading.c (freading): Likewise.
56561         * lib/freadptr.c (freadptr): Likewise.
56562         * lib/freadseek.c (freadptrinc): Likewise.
56563         * lib/fseeko.c (rpl_fseeko): Likewise.
56564         * lib/fseterr.c (fseterr): Likewise.
56565         * lib/fwritable.c (fwritable): Likewise.
56566         * lib/fwriting.c (fwriting): Likewise.
56567         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56568
56569 2008-04-09  Eric Blake  <ebb9@byu.net>
56570
56571         Avoid some autoconf warnings.
56572         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56573         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56574         * m4/afs.m4 (gl_AFS): Likewise.
56575         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56576         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56577         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56578         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56579         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56580         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56581         (AC_CHECK_DECLS_ONCE): Likewise.
56582         Rename file...
56583         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56584         gnulib-tool requires autoconf 2.59 or better.
56585         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56586
56587 2008-04-08  Eric Blake  <ebb9@byu.net>
56588
56589         Use 'git describe --match' if present (added in git 1.5.5).
56590         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56591         if possible.
56592
56593 2008-04-08  Bruno Haible  <bruno@clisp.org>
56594
56595         Add tentative support for OpenServer.
56596         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56597         _ptr, _cnt.
56598         * lib/fpurge.c (fpurge): Likewise.
56599         * lib/freadable.c (freadable): Likewise.
56600         * lib/freadahead.c (freadahead): Likewise.
56601         * lib/freading.c (freading): Likewise.
56602         * lib/freadptr.c (freadptr): Likewise.
56603         * lib/freadseek.c (freadptrinc): Likewise.
56604         * lib/fseeko.c (rpl_fseeko): Likewise.
56605         * lib/fseterr.c (fseterr): Likewise.
56606         * lib/fwritable.c (fwritable): Likewise.
56607         * lib/fwriting.c (fwriting): Likewise.
56608         Reported by Roger Cornelius <rac@tenzing.org> and
56609         Brian K. White <brian@aljex.com>.
56610
56611 2008-04-06  Jim Meyering  <meyering@redhat.com>
56612
56613         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56614
56615 2008-04-06  Bruno Haible  <bruno@clisp.org>
56616
56617         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56618         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56619         * tests/test-printf-posix.sh: Likewise.
56620         * tests/test-vfprintf-posix.sh: Likewise.
56621         * tests/test-vprintf-posix.sh: Likewise.
56622         * tests/test-xprintf-posix.sh: Likewise.
56623
56624 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56625
56626         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56627         hide error from 'ls', needed on OS/2.
56628         Report by Elbert Pol <elbert.pol@gmail.com>.
56629
56630 2008-04-04  Eric Blake  <ebb9@byu.net>
56631
56632         Make test-fseeko.c failures meaningful.
56633         * tests/test-fseeko.c: Print line number on failure.
56634         * tests/test-fseek.c: Likewise.
56635         Reported by Nelson H. F. Beebe.
56636
56637         Improve strtod bug detection check.
56638         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56639         required for Solaris 10.
56640         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56641
56642 2008-04-04  Bruno Haible  <bruno@clisp.org>
56643
56644         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56645         by m4/setenv.m4.
56646
56647 2008-04-03  Eric Blake  <ebb9@byu.net>
56648
56649         Ensure sane .version contents.
56650         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56651         version string.
56652         * build-aux/git-version-gen: Improve documentation.
56653
56654         Make GNU make output nicer.
56655         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56656         MAKECMDGOALS to enforce message for all command line targets.  Set
56657         srcdir for use in maint.mk.
56658
56659         Another maintainer tweak.
56660         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56661         a target that regenerates version.
56662
56663 2008-04-03  Jim Meyering  <meyering@redhat.com>
56664
56665         vc-list-files: don't cause coreutils "make po-check" failure
56666         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56667
56668 2008-04-03  Eric Blake  <ebb9@byu.net>
56669
56670         Allow VPATH usage of vc-list-files.
56671         * build-aux/vc-list-files (scriptversion): Add timestamp.
56672         (options): Add --help, --version, -C.
56673         (CVS): Support installed cvsu.
56674
56675 2008-04-02  Bruno Haible  <bruno@clisp.org>
56676
56677         Avoid some "statement with no effect" warnings from gcc.
56678         * tests/test-wctype.c (main): Explicitly ignore unused values.
56679         Reported by Jim Meyering.
56680
56681 2008-04-02  Jim Meyering  <meyering@redhat.com>
56682
56683         Avoid some warnings from "gcc -Wshadow".
56684         * tests/test-frexp.c (exp): Define to a different identifier.
56685         * tests/test-frexpl.c (exp): Likewise.
56686
56687 2008-04-03  Jim Meyering  <meyering@redhat.com>
56688
56689         bootstrap: remove dangling *.[ch] symlinks from lib
56690         * build-aux/bootstrap [dangling symlink removal]: Move find's
56691         -depth option to precede all others, to avoid a warning.
56692         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56693
56694 2008-04-02  Bruno Haible  <bruno@clisp.org>
56695
56696         Avoid some warnings from "gcc -Wshadow".
56697         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56698         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56699         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56700         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56701         Reported by Jim Meyering.
56702
56703 2008-04-01  Bruno Haible  <bruno@clisp.org>
56704
56705         Fix test to work on IRIX 6.5 with cc.
56706         * tests/test-math.c (numeric_equal): New function.
56707         (main): Use it.
56708
56709 2008-04-01  Bruno Haible  <bruno@clisp.org>
56710
56711         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56712
56713 2008-04-01  Bruno Haible  <bruno@clisp.org>
56714
56715         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56716         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56717         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56718         (Depends-on): Remove math.
56719
56720         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56721         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56722         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56723         (Depends-on): Remove math.
56724
56725         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56726         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56727         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56728         (Depends-on): Remove math.
56729         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56730         (Depends-on): Remove math.
56731
56732         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56733         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56734         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56735         (Depends-on): Remove math.
56736         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56737         (Depends-on): Remove math.
56738
56739         * tests/test-round1.c: Include nan.h.
56740         (main): Use NaNd instead of NAN.
56741         * modules/round-tests (Files): Add tests/nan.h.
56742
56743         * tests/test-trunc1.c: Include nan.h.
56744         (main): Use NaNd instead of NAN.
56745         * modules/trunc-tests (Files): Add tests/nan.h.
56746
56747         * tests/test-roundf1.c: Include nan.h.
56748         (main): Use NaNf instead of NAN.
56749         * modules/roundf-tests (Files): Add tests/nan.h.
56750
56751         * tests/test-truncf1.c: Include nan.h.
56752         (main): Use NaNf instead of NAN.
56753         * modules/truncf-tests (Files): Add tests/nan.h.
56754
56755         * tests/test-ceilf1.c: Include nan.h.
56756         (main): Use NaNf instead of NAN.
56757         * modules/ceilf-tests (Files): Add tests/nan.h.
56758
56759         * tests/test-floorf1.c: Include nan.h.
56760         (main): Use NaNf instead of NAN.
56761         * modules/floorf-tests (Files): Add tests/nan.h.
56762
56763         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56764         (main): Use NaNf instead of NAN.
56765         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56766
56767         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56768         (main): Use NaNd instead of NAN.
56769         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56770
56771         * tests/test-frexp.c: Include nan.h.
56772         (main): Use NaNd instead of NAN.
56773         * modules/frexp-tests (Files): Add tests/nan.h.
56774
56775         * lib/isnan.c: Don't include <math.h>.
56776         (FUNC): Don't use NAN macro.
56777         * modules/isnand-nolibm (Depends-on): Remove math.
56778         * modules/isnanf-nolibm (Depends-on): Remove math.
56779         * modules/isnanl (Depends-on): Remove math.
56780         * modules/isnanl-nolibm (Depends-on): Remove math.
56781
56782         * tests/nan.h: New file.
56783
56784 2008-04-01  Eric Blake  <ebb9@byu.net>
56785
56786         Fix typos.
56787         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56788         values to be the right type.
56789
56790         For now, cater to gnulib strtod inaccuracies.
56791         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56792         fractional results.  While not as nice from a QoI perspective, it
56793         is a quicker patch than correctly implementing decimal to binary
56794         rounding.
56795
56796 2008-03-31  Eric Blake  <ebb9@byu.net>
56797
56798         Guarantee a definition of NAN.
56799         * lib/math.in.h (NAN): Define if missing.
56800         * tests/test-math.c (main): Test it.
56801         * doc/posix-headers/math.texi (math.h): Document this.
56802         * lib/isnan.c (rpl_isnand): Use it.
56803         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56804         * tests/test-floorf1.c (NaN): Likewise.
56805         * tests/test-frexp.c (NaN): Likewise.
56806         * tests/test-isnand.c (NaN): Likewise.
56807         * tests/test-isnanf.c (NaN): Likewise.
56808         * tests/test-round1.c (NaN): Likewise.
56809         * tests/test-roundf1.c (NaN): Likewise.
56810         * tests/test-snprintf-posix.h (NaN): Likewise.
56811         * tests/test-sprintf-posix.h (NaN): Likewise.
56812         * tests/test-trunc1.c (NaN): Likewise.
56813         * tests/test-truncf1.c (NaN): Likewise.
56814         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56815         * tests/test-vasprintf-posix.c (NaN): Likewise.
56816         * modules/isnand-nolibm (Depends-on): Add math.
56817         * modules/isnanf-nolibm (Depends-on): Likewise.
56818         * modules/isnanl (Depends-on): Likewise.
56819         * modules/isnanl-nolibm (Depends-on): Likewise.
56820         * modules/snprintf-posix-tests (Depends-on): Likewise.
56821         * modules/sprintf-posix-tests (Depends-on): Likewise.
56822         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56823         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56824         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56825         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56826
56827 2008-03-31  Bruno Haible  <bruno@clisp.org>
56828
56829         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56830         * doc/posix-functions/strtod.texi: Likewise.
56831
56832 2008-03-31  Bruno Haible  <bruno@clisp.org>
56833
56834         * tests/test-strtod.c (main): Don't use C99 syntax.
56835
56836 2008-03-31  Bruno Haible  <bruno@clisp.org>
56837
56838         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56839         Reported by Eric Blake.
56840
56841 2008-03-31  Jim Meyering  <meyering@redhat.com>
56842
56843         Don't compare actual signbit return values.
56844         * tests/test-strtod.c (main): Rather, compare only their
56845         zero/non-zero nature.
56846
56847 2008-03-31  Eric Blake  <ebb9@byu.net>
56848
56849         More strtod documentation.
56850         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56851         failures as distinct bugs.
56852
56853 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56854
56855         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56856         Problem reported by Erik Benada in
56857         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56858
56859 2008-03-30  Bruno Haible  <bruno@clisp.org>
56860
56861         * tests/test-strtod.c: Add comments about which assertion fails on which
56862         platform.
56863         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56864
56865 2008-03-30  Eric Blake  <ebb9@byu.net>
56866
56867         Test signbit behavior on zeros.
56868         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56869         (test_signbitd, test_signbitl): Likewise.
56870
56871         More strtod touchups.
56872         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56873         sign of negative underflow, for now.  Use .5, not .1.
56874         * doc/posix-functions/strtod.texi (strtod): Mention these
56875         limitations.
56876         Reported by Jim Meyering.
56877
56878 2008-03-30  Bruno Haible  <bruno@clisp.org>
56879
56880         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56881         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56882
56883 2008-03-30  Bruno Haible  <bruno@clisp.org>
56884
56885         Avoid failure when attempting to return empty iconv results on some
56886         platforms.
56887         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56888         allocation, don't report ENOMEM when the resulting string is empty.
56889
56890 2008-03-30  Bruno Haible  <bruno@clisp.org>
56891
56892         Fix buffer overrun.
56893         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56894         Don't consider the width for tmp_length. Check count against tmp_length
56895         before doing the padding. Ensure enough allocation during padding.
56896
56897 2008-03-30  Eric Blake  <ebb9@byu.net>
56898
56899         strtod touchups.
56900         * lib/strtod.c (strtod): Avoid compiler warnings.
56901         Reported by Jim Meyering.
56902
56903 2008-03-30  Bruno Haible  <bruno@clisp.org>
56904
56905         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
56906         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
56907         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
56908         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
56909         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
56910         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
56911         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
56912         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
56913
56914         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
56915         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
56916         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
56917         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
56918         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
56919         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
56920         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
56921         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
56922
56923         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
56924         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
56925         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
56926         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
56927         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
56928         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
56929         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
56930         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
56931
56932         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
56933         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
56934
56935         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
56936         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
56937
56938         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
56939         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
56940
56941         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
56942         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
56943         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
56944
56945         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
56946         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
56947         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
56948
56949         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
56950         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
56951         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
56952
56953         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
56954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
56955         * modules/vasprintf (Depends-on): Add EOVERFLOW.
56956
56957         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
56958         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
56959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
56960         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
56961         (Depends-on): Add EOVERFLOW.
56962         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
56963         (Depends-on): Add EOVERFLOW.
56964         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56965         (Depends-on): Add EOVERFLOW.
56966         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56967         (Depends-on): Add EOVERFLOW.
56968         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56969         (Depends-on): Add EOVERFLOW.
56970         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56971         (Depends-on): Add EOVERFLOW.
56972         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56973         (Depends-on): Add EOVERFLOW.
56974         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56975         (Depends-on): Add EOVERFLOW.
56976
56977         * lib/sprintf.c (EOVERFLOW): Remove fallback.
56978         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
56979         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
56980
56981         * lib/snprintf.c (EOVERFLOW): Remove fallback.
56982         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
56983         * modules/snprintf (Depends-on): Add EOVERFLOW.
56984
56985         * lib/poll.c (EOVERFLOW): Remove fallback.
56986         * modules/poll (Depends-on): Add EOVERFLOW.
56987
56988         * lib/getugroups.c (EOVERFLOW): Remove fallback.
56989         * modules/getugroups (Depends-on): Add EOVERFLOW.
56990
56991         * lib/getdelim.c (EOVERFLOW): Remove fallback.
56992         * modules/getdelim (Depends-on): Add EOVERFLOW.
56993
56994         * lib/ftell.c (EOVERFLOW): Remove fallback.
56995         * modules/ftell (Depends-on): Add EOVERFLOW.
56996
56997         * lib/fprintf.c (EOVERFLOW): Remove fallback.
56998         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
56999         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57000
57001         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57002
57003         * modules/EOVERFLOW-tests: New file.
57004         * tests/test-EOVERFLOW.c: New file.
57005
57006         * modules/EOVERFLOW: New file.
57007         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57008
57009 2008-03-30  Bruno Haible  <bruno@clisp.org>
57010
57011         Fix bug introduced on 2007-06-10.
57012         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57013         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57014
57015 2008-03-30  Bruno Haible  <bruno@clisp.org>
57016
57017         Improve freadseek's efficiency after ungetc.
57018         * lib/freadseek.c: Include freadahead.h.
57019         (freadptrinc): New function, extracted from freadseek.
57020         (freadseek): Use it in a loop. Use freadahead to determine the number
57021         of loop iterations.
57022         * modules/freadseek (Depends-on): Add freadahead.
57023         (configure.ac): Require AC_C_INLINE.
57024
57025 2008-03-30  Bruno Haible  <bruno@clisp.org>
57026
57027         * lib/freadseek.c (freadseek): Don't ignore the return value of
57028         freadptr.
57029
57030 2008-03-29  Eric Blake  <ebb9@byu.net>
57031
57032         Add hex float support.
57033         * modules/strtod (Depends-on): Add c-ctype.
57034         (Link): Mention POW_LIB.
57035         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57036         whitespace between 'e' and exponent.
57037         * tests/test-strtod.c (main): Enable hex float tests.
57038         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57039         now provides.
57040
57041         Document various strtod bugs, with some fixes.
57042         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57043         "-0x", "inf", "nan", and hex constants.
57044         * doc/posix-functions/atof.texi (atof): Likewise.
57045         * modules/stdlib (Makefile.am): Support strtod.
57046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57047         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57048         detect additional strtod bugs.
57049         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57050         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57051         bool where appropriate.  Parse 'inf' and 'nan'.
57052         * tests/test-strtod.c: New file.
57053         * modules/strtod (Depends-on): Add stdbool, stdlib.
57054         (configure.ac): Turn on module indicator.
57055         * modules/strtod-tests: New module.
57056
57057 2008-03-29  Eric Blake  <ebb9@byu.net>
57058
57059         Fix ftell on mingw.
57060         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57061         * modules/ftell-tests (Depends-on): Add binary-io.
57062         * modules/ftello-tests (Depends-on): Likewise.
57063         * tests/test-ftell.c (main): Enhance test to cover behavior after
57064         ungetc.  Enforce binary mode.
57065         * tests/test-ftello.c (main): Likewise.
57066
57067         Pass test-freadseek on cygwin.
57068         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57069         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57070         ungetc buffer.
57071
57072         * tests/test-fflush2.c (main): Fix typo.
57073
57074 2008-03-29  Bruno Haible  <bruno@clisp.org>
57075
57076         * tests/test-fflush2.c (main): Temporarily disable the contents of
57077         this test.
57078         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57079         Reported by Eric Blake.
57080
57081 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57082
57083         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57084         (GC_SHA224_DIGEST_SIZE): Add.
57085
57086         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57087         (gc_hash_digest_length): Likewise.
57088         (gc_hash_buffer): Likewise.
57089
57090 2008-03-25  Bruno Haible  <bruno@clisp.org>
57091
57092         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57093         detail which gettext release to use.
57094         Reported by Simon Josefsson.
57095
57096 2008-03-26  Jim Meyering  <meyering@redhat.com>
57097
57098         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57099         * modules/gnumakefile (clean-GNUmakefile): Also, use
57100         test ... && ... || : syntax rather than if-then ... fi.
57101
57102         gnumakefile: Don't double-quote-expand $(VPATH) value.
57103         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57104
57105 2008-03-24  Eric Blake  <ebb9@byu.net>
57106
57107         Alter GNUmakefile to install into top directory.
57108         * modules/maintainer-makefile: Split, and add dependency...
57109         * modules/gnumakefile: to this new module.
57110         * build-aux/GNUmakefile: Move...
57111         * top/GNUmakefile: ...here.
57112         * build-aux/maint.mk: Move...
57113         * top/maint.mk: ...here.
57114         * MODULES.html.sh (Support for maintaining...): Document new
57115         module.
57116
57117 2008-03-23  Bruno Haible  <bruno@clisp.org>
57118
57119         * gnulib-tool: New options --vc-files, --no-vc-files.
57120         (func_usage): Document them.
57121         (vc_files): New variable.
57122         (func_import): Consider vc_files.
57123         (func_create_testdir): Set vc_files to empty.
57124         Suggested by Jim Meyering and Karl Berry.
57125
57126 2008-03-23  Bruno Haible  <bruno@clisp.org>
57127
57128         Fix regex compilation error on HP-UX 11.
57129         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57130         * modules/regex (Files): Add m4/mbstate_t.m4.
57131         Reported by Ton Voon <ton.voon@altinity.com>.
57132
57133 2008-03-23  Bruno Haible  <bruno@clisp.org>
57134
57135         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57136
57137 2008-03-23  Eric Blake  <ebb9@byu.net>
57138             Bruno Haible  <bruno@clisp.org>
57139
57140         Install files from top/ in the destination directory.
57141         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57142         augmentation also for the files from top/.
57143         (func_import, func_create_testdir): Rewrite file names:
57144         top/filename -> filename.
57145
57146 2008-03-23  Bruno Haible  <bruno@clisp.org>
57147
57148         Tweak "gnulib --version" output.
57149         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57150
57151 2008-03-23  Bruno Haible  <bruno@clisp.org>
57152
57153         Tweak "gnulib --version" output.
57154         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57155         rather than contents of ChangeLog, when possible.
57156
57157 2008-03-21  Eric Blake  <ebb9@byu.net>
57158
57159         More --version tweaks.
57160         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57161         date of last ChangeLog entry.
57162
57163 2008-03-21  Jim Meyering  <meyering@redhat.com>
57164
57165         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57166
57167 2008-03-20  Eric Blake  <ebb9@byu.net>
57168
57169         VPATH fix.
57170         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57171
57172 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57173
57174         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57175         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57176
57177 2008-03-20  Eric Blake  <ebb9@byu.net>
57178
57179         Sync GNUmakefile with coreutils.
57180         * build-aux/GNUmakefile (have-Makefile): Rename...
57181         (_have-Makefile): ...to this, for namespace consideration.
57182         (GNUmakefile.cfg): Include, if present.
57183         (_autoreconf): Define a default.
57184         (_is-dist-target): New rule for rebuilds to pick up intra-release
57185         version.
57186         (maint-cfg.mk): Rename...
57187         (cfg.mk): ...to this.
57188
57189 2008-03-18  Jim Meyering  <meyering@redhat.com>
57190
57191         New script and module: mktempd
57192         * MODULES.html.sh (maint+release support): Add mktempd.
57193         * build-aux/mktempd: New file.
57194         * modules/mktempd: New file.
57195
57196 2008-03-15  Jim Meyering  <meyering@redhat.com>
57197
57198         Undo last change.
57199         * lib/sha1.c, lib/md5.c: 63 != ~63.
57200         Reported by Andreas Schwab.
57201
57202         sha1.c, md5.c: Hoist a redundant expression.
57203         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57204         "ctx->buflen" only once, before calling *_process_block.
57205         * lib/md5.c (md5_process_bytes): Likewise.
57206
57207 2008-03-14  Eric Blake  <ebb9@byu.net>
57208
57209         Bump copyright year in files generated by gnulib-tool.
57210         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57211         gnulib-tool, rather than hard-coding it.
57212
57213         Fix 'gnulib-tool --version' output to work with git.
57214         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57215         (startup): ...here.
57216         (func_version): Use it to invoke git-version-gen, rather than
57217         relying on CVS keyword expansion.  Modernize wording.
57218         (cvsdatestamp, last_checkin_date, version): Kill unused
57219         variables.
57220
57221 2008-03-12  Jim Meyering  <meyering@redhat.com>
57222
57223         Recognize optional cast of the argument to free.
57224         * build-aux/useless-if-before-free: Update regexps.
57225
57226         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57227
57228 2008-03-11  Bruno Haible  <bruno@clisp.org>
57229
57230         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57231         by a single package.
57232         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57233         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57234         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57235         Reported by Sam Steingold <sds@gnu.org>.
57236
57237 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57238
57239         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57240         repositories.
57241
57242 2008-03-11  Bruno Haible  <bruno@clisp.org>
57243
57244         Avoid conflicts between local macro definitions.
57245         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57246         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57247
57248 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57249             Bruno Haible  <bruno@clisp.org>
57250
57251         Make va_copy work with some version of xlc on AIX 5.1.
57252         * lib/stdarg.in.h: New file.
57253         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57254         On AIX, use a <stdarg.h> file substitute.
57255         * modules/stdarg (Files): Add lib/stdarg.in.h.
57256         (Depends-on): Add include_next.
57257         (Makefile.am): Build a stdarg.h substitute if requested.
57258         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57259
57260 2008-03-10  Bruno Haible  <bruno@clisp.org>
57261
57262         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57263         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57264         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57265
57266 2008-03-10  Bruno Haible  <bruno@clisp.org>
57267
57268         * modules/stdlib (Depends-on): Add include_next, remove
57269         absolute-header.
57270
57271 2008-03-09  Bruno Haible  <bruno@clisp.org>
57272
57273         * lib/freadahead.h (freadahead): Document more precisely.
57274         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57275         the sum of both buffer sizes.
57276         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57277         * NEWS: Document the change.
57278
57279 2008-03-09  Bruno Haible  <bruno@clisp.org>
57280
57281         Extend freadptr to return also the buffer size.
57282         * lib/freadptr.h (freadptr): Add sizep argument.
57283         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57284         (freadptr): Add sizep argument. Determine buffer size like freadahead
57285         does.
57286         * tests/test-freadptr.c: Don't include freadahead.h.
57287         (main): Adapt for new calling convention of freadptr.
57288         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57289         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57290         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57291         tests/test-freadptr2.sh.
57292         (Depends): Remove freadahead.
57293         (TESTS): Add test-freadptr2.sh.
57294         (check_PROGRAMS): Add test-freadptr2.
57295
57296 2008-03-09  Bruno Haible  <bruno@clisp.org>
57297
57298         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57299         Report and solution by Simon Josefsson.
57300
57301 2008-03-06  Bruno Haible  <bruno@clisp.org>
57302
57303         Make fflush after ungetc work on BSD platforms.
57304         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57305         * tests/test-fflush2.c: New file.
57306         * tests/test-fflush2.sh: New file.
57307         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57308         tests/test-fflush2.c.
57309         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57310         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57311
57312 2008-03-06  Eric Blake  <ebb9@byu.net>
57313
57314         Likewise for ftello.
57315         * modules/ftello (Dependencies): Add extensions.
57316         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57317
57318 2008-03-06  Bruno Haible  <bruno@clisp.org>
57319
57320         * modules/fseeko (Dependencies): Add extensions.
57321         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57322         Needed on glibc systems.
57323
57324 2008-03-06  Bruno Haible  <bruno@clisp.org>
57325
57326         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57327         email address.
57328         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57329
57330 2008-03-06  Bruno Haible  <bruno@clisp.org>
57331
57332         * users.txt: Add libgnupdf.
57333
57334 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57335
57336         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57337         (Header File Substitutes, Function Substitutes,
57338         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57339         (Build robot for gnulib): Fix typo.
57340
57341 2008-03-06  Bruno Haible  <bruno@clisp.org>
57342
57343         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57344         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57345
57346 2008-03-06  Bruno Haible  <bruno@clisp.org>
57347
57348         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57349         * doc/gnulib.texi: Include it.
57350
57351 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57352
57353         * modules/func (License): Change license to unlimited; there was
57354         no LGPL parts in the module anyway.
57355
57356 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57357
57358         * modules/__func__: Renamed to modules/func.
57359         * modules/__func__-tests: Renamed to modules/func-tests.
57360         * tests/test-__func__.c: Renamed to tests/test-func.c.
57361         * m4/__func__.m4: Renamed to m4/func.m4.
57362         * doc/gnulib.texi (__func__): Section renamed to func.
57363         Suggested by Eric Blake <ebb9@byu.net>.
57364
57365 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57366
57367         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57368         about __func__.  Make example self-contained.  Suggested by Eric
57369         Blake <ebb9@byu.net>.
57370
57371         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57372         Suggested by Eric Blake <ebb9@byu.net>.
57373
57374 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57375
57376         * modules/__func__: New file.
57377         * modules/__func__-tests: New file.
57378         * tests/test-__func__.c: New file.
57379         * m4/__func__.m4: New file.
57380         * doc/gnulib.texi (__func__): Document __func__ module.
57381
57382 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57383
57384         * modules/byteswap (License): Re-license as LGPLv2+.
57385
57386 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57387
57388         * doc/Makefile: Add pdf target.
57389
57390 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57391
57392         * modules/inline (License): Use 'unlimited', since there are only
57393         *.m4 files in this module.
57394
57395 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57396             Bruno Haible  <bruno@clisp.org>
57397
57398         Add support for HP C 7.1 on OpenVMS 8.3.
57399         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
57400
57401 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57402
57403         Update VMS specifics.
57404         * lib/getopt.c [VMS]: Remove include of unixlib.h.
57405
57406 2008-03-02  Jim Meyering  <meyering@redhat.com>
57407
57408         Remove the last dependency on the "free" module.
57409         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
57410         Reported by Bob Proulx.
57411
57412         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
57413
57414         Remove useless "if" tests before free.  Deprecate "free" module.
57415         * doc/posix-functions/free.texi: Mention that this
57416         module is no longer useful.
57417         * modules/free (Notice): Say this module is obsolete.
57418         * modules/readutmp (Depends-on): Remove free.
57419         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
57420         * lib/putenv.c (putenv): Likewise.
57421         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
57422         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
57423         * tests/test-c-strcasestr.c (main): Likewise.
57424         * tests/test-c-strstr.c (main): Likewise.
57425         * tests/test-mbscasestr1.c (main): Likewise.
57426         * tests/test-mbscasestr2.c (main): Likewise.
57427         * tests/test-mbsstr1.c (main): Likewise.
57428         * tests/test-mbsstr2.c (main): Likewise.
57429         * tests/test-memmem.c (main): Likewise.
57430         * tests/test-strcasestr.c (main): Likewise.
57431         * tests/test-striconv.c (main): Likewise.
57432         * tests/test-striconveh.c (main): Likewise.
57433         * tests/test-striconveha.c (main): Likewise.
57434         * tests/test-strstr.c (main): Likewise.
57435
57436         * build-aux/git-version-gen: Adjust a comment and the Usage string.
57437
57438         bootstrap: sync from coreutils again
57439         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
57440
57441 2008-03-01  Jim Meyering  <meyering@redhat.com>
57442
57443         bootstrap: sync from coreutils
57444         * build-aux/bootstrap (update_po_files): Copy a .po file into place
57445         also when the target doesn't exist.
57446
57447 2008-03-01  Eric Blake  <ebb9@byu.net>
57448
57449         Fix bugs in last patch.
57450         * lib/memchr2.c (memchr2): Fix typo.
57451         * tests/test-memchr2.c: Test previous bug, and don't use GNU
57452         extension.
57453         Reported by Bruce Korb.
57454
57455         New module 'memchr2'.
57456         * modules/memchr2: New file.
57457         * modules/memchr2-tests: Likewise.
57458         * lib/memchr2.h: Likewise.
57459         * lib/memchr2.c: Likewise, based on memchr.c.
57460         * tests/test-memchr2.c: New test.
57461         * MODULES.html.sh (String handling): Add memchr2.
57462
57463 2008-02-29  Bruno Haible  <bruno@clisp.org>
57464
57465         * modules/freadseek-tests: New file.
57466         * tests/test-freadseek.sh: New file.
57467         * tests/test-freadseek.c: New file.
57468
57469         New module 'freadseek'.
57470         * modules/freadseek: New file.
57471         * lib/freadseek.h: New file.
57472         * lib/freadseek.c: New file.
57473         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
57474
57475 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57476
57477         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
57478         wydawca.
57479
57480         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
57481         program_invocation_name and program_invocation_short_name are
57482         present.
57483
57484 2008-02-28  Bruno Haible  <bruno@clisp.org>
57485
57486         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
57487         * tests/test-freadptr.sh: Also test non-seekable stdin.
57488
57489 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
57490
57491         * build-aux/bootstrap (source_base, m4_base)
57492         (doc_base, tests_base): New variables.
57493         (gnulib_tool_options): Do not hardcode base directories, use
57494         the above variables instead.
57495
57496 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
57497
57498         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
57499
57500 2008-02-28  Bruno Haible  <bruno@clisp.org>
57501
57502         * modules/freadptr-tests: New file.
57503         * tests/test-freadptr.sh: New file.
57504         * tests/test-freadptr.c: New file.
57505
57506         New module 'freadptr'.
57507         * modules/freadptr: New file.
57508         * lib/freadptr.h: New file.
57509         * lib/freadptr.c: New file.
57510         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
57511
57512 2008-02-26  Karl Berry  <karl@freefriends.org>
57513
57514         Sync from Libtool:
57515         * libltdl/argz.c (argz_add, argz_count): New functions.
57516         * libltdl/argz.in.h: Declare them.
57517         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
57518
57519 2008-02-22  Bruno Haible  <bruno@clisp.org>
57520
57521         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
57522         is a pointer type.  Needed for HP-UX 10.
57523         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
57524         * doc/posix-functions/gmtime_r.texi: Likewise.
57525         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57526
57527 2008-02-24  Bruno Haible  <bruno@clisp.org>
57528
57529         * modules/environ-tests: New file.
57530         * tests/test-environ.c: New file.
57531
57532         New module 'environ'.
57533         * modules/environ: New file.
57534         * lib/unistd.in.h (environ): New declaration.
57535         * m4/environ.m4: New file.
57536         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57537         after use.
57538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57539         HAVE_DECL_ENVIRON.
57540         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57541         HAVE_DECL_ENVIRON.
57542         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57543         wrong claim that 'environ' is missing on some systems.
57544         * modules/execute (Depends-on): Add environ.
57545         * lib/execute.c (environ): Remove fallback declaration.
57546         * modules/pipe (Depends-on): Add environ.
57547         * lib/pipe.c (environ): Remove fallback declaration.
57548         * modules/setenv (Depends-on): Add environ.
57549         * lib/setenv.c (environ): Remove fallback declaration.
57550         * modules/unsetenv (Depends-on): Add environ.
57551         * lib/unsetenv.c (environ): Remove fallback declaration.
57552         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57553         m4/environ.m4.
57554         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57555         (gl_PREREQ_UNSETENV): Likewise.
57556
57557 2008-02-24  Bruno Haible  <bruno@clisp.org>
57558
57559         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57560
57561 2008-02-20  Bob Proulx  <bob@proulx.com>
57562
57563         Enable use of older two part flavor 'git describe'.
57564         * build-aux/git-version-gen: If using the older two part flavor of
57565         git version then recreate the third part now present in the
57566         newer three part flavor of git describe.
57567
57568 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57569
57570         * lib/fts.c (fts_build): Typo correction to comment.
57571
57572 2008-02-17  Bruno Haible  <bruno@clisp.org>
57573
57574         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57575         generating no-op conflicts.
57576
57577 2008-02-17  Bruno Haible  <bruno@clisp.org>
57578
57579         Speed up by 10%.
57580         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57581         result_entries, rather than an index-based loop.
57582
57583 2008-02-17  Bruno Haible  <bruno@clisp.org>
57584
57585         Speed up by 25%.
57586         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57587         'hashcode_cached'.
57588         (entry_create): New function.
57589         (entry_hashcode): Use the cached hashcode if possible.
57590         (read_changelog_file, try_split_merged_entry): Use entry_create.
57591
57592 2008-02-17  Bruno Haible  <bruno@clisp.org>
57593
57594         Speed up from O(n^2) to O(n) for long ChangeLog files.
57595         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57596         (read_changelog_file): Change implementation of entries_reversed list
57597         to rbtreehash.
57598         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57599
57600 2008-02-17  Bruno Haible  <bruno@clisp.org>
57601
57602         New option --split-merged-entry.
57603         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57604         (find_paragraph_end, try_split_merged_entry): New functions.
57605         (long_options): Add option --split-merged-entry.
57606         (usage): Document option --split-merged-entry.
57607         (main): Implement option --split-merged-entry.
57608         Reported by Eric Blake.
57609
57610 2008-02-17  Bruno Haible  <bruno@clisp.org>
57611
57612         * lib/git-merge-changelog.c: Include c-strstr.h.
57613         (main): Support the "git pull --rebase" situation.
57614         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57615         Reported by Eric Blake.
57616
57617 2008-02-16  Eric Blake  <ebb9@byu.net>
57618
57619         Avoid doubling \ in common case of "c-maybe" quoting style.
57620         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57621         eliding outer quotes.
57622         * lib/quotearg.h: Document this.
57623         * tests/test-quotearg.c (result_strings, inputs, results_g)
57624         (flag_results, locale_results): Test it by adding a new string to
57625         each test group.
57626         (compare_strings): Test new string.
57627
57628 2008-02-13  Eric Blake  <ebb9@byu.net>
57629
57630         Avoid trigraph quoting in default output.
57631         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57632         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57633         unless explicitly requested.
57634         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57635
57636 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57637
57638         Don't rely on signed integer overflowing to negative value.
57639         * lib/getugroups.c (getugroups): Include <limits.h>.
57640         Instead, compare against INT_MAX, and increment only if the test passes.
57641
57642 2008-02-13  Jim Meyering  <meyering@redhat.com>
57643         and Eric Blake  <ebb9@byu.net>
57644
57645         Avoid shadowing warning and compile errors on Linux.
57646         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57647         forwarding macros on Linux.
57648         (dcgettext): Define a stub, for Linux.
57649         (results_g, main): Avoid warnings.
57650
57651 2008-02-12  Eric Blake  <ebb9@byu.net>
57652
57653         Silence warning in last patch.
57654         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57655
57656         Quotearg part 4: add tests, fix c-maybe colon quoting.
57657         * lib/quotearg.h: Improve documentation.
57658         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57659         escapes when adding outer quotes.  When quoting trigraphs, use
57660         valid C notation.  When quoting NUL, omit extra characters if next
57661         character is not digit.  Alter prototype.
57662         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57663         callers.
57664         * modules/quotearg-tests: New module.
57665         * tests/test-quotearg.c: New test.
57666
57667 2008-02-07  Eric Blake  <ebb9@byu.net>
57668
57669         Quotearg part 3: add flag to control outer quote elision.
57670         * lib/quotearg.h (c_maybe_quoting_style): New style.
57671         (enum quoting_flags): Better documentation of flags.
57672         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57673         c-maybe style.
57674         (quotearg_buffer_restyled): Handle new flag to elide outer
57675         quotes.
57676
57677         Quotearg part 2: add flag that can control NUL elision.
57678         * lib/quotearg.h (set_quoting_flags): New prototype.
57679         * lib/quotearg.c (struct quoting_options): Add flag field.
57680         (set_quoting_flags): New function.
57681         (quotearg_buffer_restyled): Add flags parameter.
57682         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57683         (quotearg_n_options): Set the flag, since length cannot be
57684         returned.
57685         (quoting_options_from_style): Default flags correctly.
57686
57687         Quotearg part 1: more wrappers, restore quotearg_char state.
57688         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57689         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57690         (quotearg_colon_mem): New wrappers.
57691         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57692         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57693         functions.
57694         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57695         (quotearg_colon_mem): New functions.
57696
57697 2008-02-11  Bruno Haible  <bruno@clisp.org>
57698
57699         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57700         library in the current directory: it does not work with parallel make.
57701         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57702
57703 2008-02-11  Bruno Haible  <bruno@clisp.org>
57704
57705         * .gitattributes: New file.
57706
57707 2008-02-11  Jim Meyering  <meyering@redhat.com>
57708
57709         useless-if-before-free: Fix reversed exit values.
57710         * build-aux/useless-if-before-free: Use correct values
57711         for EXIT_MATCH and EXIT_NO_MATCH.
57712
57713         * build-aux/useless-if-before-free: Close stdout carefully.
57714
57715 2008-02-10  Bruno Haible  <bruno@clisp.org>
57716
57717         New module 'git-merge-changelog'.
57718         * modules/git-merge-changelog: New file.
57719         * lib/git-merge-changelog.c: New file.
57720
57721 2008-02-10  Jim Meyering  <meyering@redhat.com>
57722
57723         useless-if-before-free: New option: --list (-l).
57724
57725         useless-if-before-free: Don't exit immediately upon open failure.
57726         * build-aux/useless-if-before-free: Exit 2 for errors.
57727         Upon failure to open a file, don't exit immediately.
57728         Rather, just warn and continue with any remaining files.
57729
57730 2008-02-10  Bruno Haible  <bruno@clisp.org>
57731
57732         New abstract list operation 'node_set_value'.
57733         * lib/gl_list.h (gl_list_node_set_value): New function.
57734         (struct gl_list_implementation): New field node_set_value.
57735         * lib/gl_list.c (gl_list_node_set_value): New function.
57736         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57737         (gl_array_list_implementation): Update.
57738         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57739         (gl_carray_list_implementation): Update.
57740         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57741         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57742         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57743         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57744         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57745         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57746         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57747         Update.
57748         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57749         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57750         (gl_sublist_list_implementation): Update.
57751
57752 2008-02-10  Bruno Haible  <bruno@clisp.org>
57753
57754         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57755         Needed when ELEMENT is #defined to 'some_type *'.
57756
57757 2008-02-10  Jim Meyering  <meyering@redhat.com>
57758
57759         New script and module: useless-if-before-free
57760         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57761         * build-aux/useless-if-before-free: New file.
57762         * modules/useless-if-before-free: New file.
57763
57764         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57765
57766         xstrtol_error: Fix typo.
57767         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57768         s/exit_failure/exit_status/.
57769
57770 2008-02-09  Jim Meyering  <meyering@redhat.com>
57771
57772         New script and module: gitlog-to-changelog
57773         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57774         * modules/gitlog-to-changelog: New file.
57775         * build-aux/gitlog-to-changelog: New file.
57776
57777 2008-02-08  Jim Meyering  <meyering@redhat.com>
57778
57779         Avoid two "parameter unused" warnings.
57780         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57781         Mark "st" as used.
57782
57783         Use "git COMMAND", not "git-COMMAND".
57784         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57785         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57786         * build-aux/git-version-gen: Use "git status", not "git-status".
57787
57788 2008-02-07  Bruno Haible  <bruno@clisp.org>
57789
57790         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57791         Avoids a crash on Windows Vista.
57792         Reported by Adam Strzelecki <ono@java.pl> via
57793         Simon Josefsson <simon@josefsson.org>.
57794
57795 2008-02-06  Bruno Haible  <bruno@clisp.org>
57796
57797         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57798         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57799         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57800         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57801         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57802         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57803         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57804         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57807         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57808         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57809         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57810         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57812         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57813         left-adjust flag.
57814         * tests/test-snprintf-posix.h (test_function): Likewise.
57815         * tests/test-sprintf-posix.h (test_function): Likewise.
57816         * tests/test-vasprintf-posix.c (test_function): Likewise.
57817         * doc/posix-functions/fprintf.texi: Update.
57818         * doc/posix-functions/printf.texi: Update.
57819         * doc/posix-functions/snprintf.texi: Update.
57820         * doc/posix-functions/sprintf.texi: Update.
57821         * doc/posix-functions/vfprintf.texi: Update.
57822         * doc/posix-functions/vprintf.texi: Update.
57823         * doc/posix-functions/vsnprintf.texi: Update.
57824         * doc/posix-functions/vsprintf.texi: Update.
57825         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57826
57827 2008-02-06  Bruno Haible  <bruno@clisp.org>
57828
57829         Fix bug introduced on 2008-01-26.
57830         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57831
57832 2008-02-06  Bruno Haible  <bruno@clisp.org>
57833
57834         Fix bug introduced on 2007-06-10.
57835         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57836         !NEED_PRINTF_FLAG_ZERO.
57837
57838 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57839
57840         getloadavg: use libperfstat on AIX5
57841         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57842
57843 2008-02-03  Bruno Haible  <bruno@clisp.org>
57844
57845         * lib/diffseq.h: Add comments about required #includes.
57846         Reported by Michael Biggs <gnulib@doubleplum.net>.
57847
57848 2008-02-01  Bruno Haible  <bruno@clisp.org>
57849
57850         * users.txt: Add gnuit.
57851
57852 2008-01-31  Bruno Haible  <bruno@clisp.org>
57853
57854         * lib/md4.c (set_uint32): Mark as inline.
57855         * lib/md5.c (set_uint32): Likewise.
57856         * lib/sha1.c (set_uint32): Likewise.
57857         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57858         * m4/md5.m4 (gl_MD5): Likewise.
57859         * m4/sha1.m4 (gl_SHA1): Likewise.
57860
57861 2008-01-31  Jim Meyering  <meyering@redhat.com>
57862
57863         Use "sizeof VAR", rather than a literal "4".
57864         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57865         * lib/md4.c (md4_read_ctx): Likewise.
57866         * lib/sha1.c (sha1_read_ctx): Likewise.
57867
57868 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57869
57870         * tests/test-sha1.c: New file, based on test-md5.c.
57871
57872         * modules/crypto/sha1-tests: New file.
57873
57874 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57875
57876         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57877
57878 2008-01-31  Jim Meyering  <meyering@redhat.com>
57879
57880         Prefer "sizeof v" over the equivalent "4".
57881         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57882         * lib/md5.c (set_uint32): Likewise.
57883         * lib/sha1.c (set_uint32): Likewise.
57884
57885 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57886
57887         * lib/sha1.c (set_uint32): Mark function as static.
57888
57889 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57890
57891         md2: clarify comments to say that alignment is not required.
57892         * lib/md2.h: Remove warning about alignment in comment.
57893         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57894         never been required.
57895
57896 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57897
57898         md4: adapt alignment constraint fix from sha1.
57899         * lib/md4.c (set_uint32): New function, from sha1.c
57900         (md4_read_ctx): Use it.
57901         (md4_finish_ctx): Doc fix.
57902         * lib/md4.h: Doc fix.
57903
57904 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57905
57906         md5: adapt alignment constraint fix from sha1.
57907         * lib/md5.c (set_uint32): New function, from sha1.c
57908         (md5_read_ctx): Use it.
57909         (md5_finish_ctx): Doc fix.
57910         * lib/md5.h: Doc fix.
57911
57912 2008-01-30  Peter Palfrader  <weasel@debian.org>
57913
57914         sha1: remove the result buffer alignment constraint
57915         * lib/sha1.c (set_uint32): New function.
57916         (sha1_read_ctx): Rewrite to remove the result buffer alignment
57917         constraint.
57918         (sha1_finish_ctx): Remove comment warning about alignment constraint.
57919         * lib/sha1.h: Likewise.
57920
57921 2008-01-30  Andreas Schwab  <schwab@suse.de>
57922             Bruno Haible  <bruno@clisp.org>
57923
57924         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
57925         correct definition of LDBL_MIN_EXP.
57926
57927 2008-01-30  Karl Berry  <karl@gnu.org>
57928
57929         * config/srclist-update: try to preserve x bit on updates.
57930         * config/srclistvars.sh: update for karl.
57931
57932 2008-01-29  Jim Meyering  <meyering@redhat.com>
57933
57934         vasnprintf.c: Avoid warning about unused label
57935         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
57936         "overflow" label definition and associated code with the
57937         same cpp condition that guards the sole use of that label.
57938
57939 2008-01-26  Bruno Haible  <bruno@clisp.org>
57940
57941         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
57942         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
57943         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
57944         * lib/isnanl-nolibm.h (isnanl): Likewise.
57945         Reported by Paul Eggert <eggert@cs.ucla.edu>.
57946
57947 2008-01-26  Bruno Haible  <bruno@clisp.org>
57948
57949         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
57950         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
57951
57952 2008-01-26  Bruno Haible  <bruno@clisp.org>
57953
57954         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
57955         GCC >= 4.0 built-in.
57956         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
57957
57958 2008-01-26  Bruno Haible  <bruno@clisp.org>
57959
57960         Rename isnan, applicable to 'double' only, to isnand.
57961         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
57962         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
57963         (configure.ac): Update.
57964         (Include): Replace "isnan.h" with "isnand.h".
57965         * m4/isnand.m4: Renamed from m4/isnan.m4.
57966         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
57967         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
57968         instead of isnan.c.
57969         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
57970         instead of HAVE_ISNAN_IN_LIBC.
57971         (isnand): Renamed from isnan.
57972         * lib/isnand.c: New file.
57973         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
57974         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
57975         (Makefile.am): Update.
57976         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
57977         Include isnand.h instead of isnan.h.
57978         (main): Test isnand instead of isnan.
57979         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
57980         isnan-nolibm.
57981         * modules/frexp (Depends-on): Likewise.
57982         * modules/frexp-tests (Depends-on): Likewise.
57983         * modules/frexp-nolibm (Depends-on): Likewise.
57984         * modules/frexp-nolibm-tests (Depends-on): Likewise.
57985         * modules/isfinite (Depends-on): Likewise.
57986         * modules/round-tests (Depends-on): Likewise.
57987         * modules/signbit (Depends-on): Likewise.
57988         * modules/signbit-tests (Depends-on): Likewise.
57989         * modules/snprintf-posix (Depends-on): Likewise.
57990         * modules/sprintf-posix (Depends-on): Likewise.
57991         * modules/trunc-tests (Depends-on): Likewise.
57992         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57993         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57994         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57995         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57996         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57997         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57998         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57999         * modules/vasnprintf-posix (Depends-on): Likewise.
58000         * modules/vasprintf-posix (Depends-on): Likewise.
58001         * modules/vfprintf-posix (Depends-on): Likewise.
58002         * modules/vsnprintf-posix (Depends-on): Likewise.
58003         * modules/vsprintf-posix (Depends-on): Likewise.
58004         * lib/frexp.c: Include isnand.h instead of isnan.h.
58005         (ISNAN): Set to isnand instead of isnan.
58006         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58007         (gl_isfinited): Use isnand instead of isnan.
58008         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58009         (gl_signbitd): Use isnand instead of isnan.
58010         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58011         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58012         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58013         (main): Use isnand instead of isnan.
58014         * tests/test-round1.c: Include isnand.h.
58015         (main): Use isnand instead of isnan.
58016         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58017         (ISNAN): Set to isnand instead of isnan.
58018         * tests/test-trunc1.c: Include isnand.h.
58019         (main): Use isnand instead of isnan.
58020         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58021         (equal): Use isnand instead of isnan.
58022         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58023         isnand-nolibm.
58024         * NEWS: Mention the change.
58025
58026 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58027             Bruno Haible  <bruno@clisp.org>
58028
58029         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58030         the GCC builtins for signbits are present and set
58031         REPLACE_SIGNBIT_USING_GCC if so.
58032         * lib/math.in.h (signbit): Define using GCC builtins if
58033         REPLACE_SIGNBIT_USING_GCC is set.
58034         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58035         REPLACE_SIGNBIT_USING_GCC.
58036         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58037
58038 2008-01-25  Jim Meyering  <meyering@redhat.com>
58039
58040         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58041         * lib/poll.c: Include <config.h>, not "config.h".
58042         * tests/test-getaddrinfo.c: Likewise.
58043
58044 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58045
58046         * modules/sockets-tests: New file.
58047
58048 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58049
58050         * modules/sockets: New module, can be used to call WSA_Startup and
58051         WSA_Cleanup when needed.
58052
58053         * lib/sockets.h, lib/sockets.c: New files.
58054
58055         * m4/sockets.m4: New file.
58056
58057         * tests/test-sockets.c: New file.
58058
58059 2008-01-19  Bruno Haible  <bruno@clisp.org>
58060
58061         * doc/posix-headers: Renamed from doc/headers.
58062         * doc/posix-functions: Renamed from doc/functions.
58063         * doc/gnulib.texi: Update.
58064
58065 2008-01-19  Bruno Haible  <bruno@clisp.org>
58066
58067         * doc/glibc-functions/strcasestr.texi: Include contents of
58068         doc/functions/strcasestr.texi, fixing the list of platforms.
58069         * doc/functions/strcasestr.texi: Remove file.
58070
58071 2008-01-19  Bruno Haible  <bruno@clisp.org>
58072
58073         * doc/glibc-functions/memmem.texi: Include contents of
58074         doc/functions/memmem.texi.
58075         * doc/functions/memmem.texi: Remove file.
58076
58077 2008-01-18  Bruno Haible  <bruno@clisp.org>
58078
58079         * doc/glibc-functions/*.texi: New files.
58080         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58081         to use the new files.
58082
58083 2008-01-17  Bruno Haible  <bruno@clisp.org>
58084
58085         * tests/test-gethostname.c (main): Fix printf statement.
58086
58087 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58088
58089         * modules/gethostname-tests: New file.
58090
58091         * tests/test-gethostname.c: New file.
58092
58093 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58094
58095         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58096         used by the UNAME case.  Reported by Bruno Haible
58097         <bruno@clisp.org>.
58098
58099 2008-01-17  Eric Blake  <ebb9@byu.net>
58100
58101         Convert c-strcasestr to be more efficient.
58102         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58103         (Depends-on): Add c-strcase, remove malloca, strnlen.
58104         * tests/test-c-strcasestr.c (main): Enhance test.
58105         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58106
58107 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58108
58109         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58110         Use it in creating po/Makevars.
58111
58112 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58113
58114         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58115         Applications that requires it should initialize libgcrypt
58116         manually.
58117
58118 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58119
58120         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58121
58122 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58123
58124         Fix problem with getdate on mingw32 reported by Simon Josefsson
58125         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58126         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58127         tzname", when deciding whether to declare tzname.
58128         * lib/strftime.c (tzname): Likewise.
58129
58130 2008-01-15  Bruno Haible  <bruno@clisp.org>
58131
58132         Work around a MacOS X 10.5 bug in frexpl().
58133         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58134         * doc/functions/frexpl.texi: Document the bug.
58135         Reported by Elias Pipping <pipping@gentoo.org>.
58136
58137 2008-01-14  Eric Blake  <ebb9@byu.net>
58138
58139         Touch up previous patch.
58140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58141         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58142
58143         Convert strcasestr module to use Two-Way algorithm.
58144         * modules/strcasestr-simple: New module, based on the old
58145         strcasestr, but with Two-Way rather than KMP.
58146         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58147         * lib/string.in.h (rpl_strcasestr): Declare.
58148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58149         performance.
58150         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58151         * modules/string (Makefile.am): Support strcasestr.
58152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58153         * modules/strcasestr-tests (Depends-on): Check for alarm.
58154         * tests/test-strcasestr.c: Augment test.
58155         * lib/str-two-way.h: Clean up stray macro.
58156         * NEWS: Document new module.
58157         * MODULES.html.sh (string handling): Likewise.
58158         * doc/functions/strcasestr.texi: New file.
58159         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58160         here, since it is not a POSIX function.
58161
58162 2008-01-14  Colin Watson  <cjwatson@debian.org>
58163             Bruno Haible  <bruno@clisp.org>
58164
58165         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58166         works fine; if not, set REPLACE_STRSIGNAL.
58167         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58168         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58169         REPLACE_STRSIGNAL.
58170         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58171         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58172         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58173
58174 2008-01-14  Bruno Haible  <bruno@clisp.org>
58175
58176         * modules/strsignal (Include): Change to <string.h>.
58177
58178 2008-01-14  Colin Watson  <cjwatson@debian.org>
58179
58180         * modules/argp (Notice): Add a notice recommending to change
58181         XGETTEXT_OPTIONS.
58182         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58183
58184 2008-01-13  Colin Watson  <cjwatson@debian.org>
58185
58186         * modules/strsignal-tests: New file.
58187         * tests/test-strsignal.c: New file.
58188
58189         * lib/strsignal.c: New file, from glibc with modifications.
58190         * lib/siglist.h: New file, from glibc with modifications.
58191         * lib/string.in.h (strsignal): New declaration.
58192         * m4/strsignal.m4: New file.
58193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58194         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58195         * modules/strsignal: New file.
58196         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58197         HAVE_DECL_STRSIGNAL.
58198
58199 2008-01-13  Bruno Haible  <bruno@clisp.org>
58200
58201         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58202         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58203         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58204         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58205
58206 2008-01-13  Bruno Haible  <bruno@clisp.org>
58207
58208         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58209         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58210         * lib/argp.h (__attribute__): Likewise.
58211         * lib/c-stack.c (__attribute__): Likewise.
58212         * lib/error.h (__attribute__): Likewise.
58213         * lib/fts.c (__attribute__): Likewise.
58214         * lib/openat.h (__attribute__): Likewise.
58215         * lib/stdio.in.h (__attribute__): Likewise.
58216         * lib/string.in.h (__attribute__): Likewise.
58217         * lib/utimens.c (__attribute__): Likewise.
58218         * lib/vasnprintf.h (__attribute__): Likewise.
58219         * lib/xalloc.h (__attribute__): Likewise.
58220         * lib/xprintf.h (__attribute__): Likewise.
58221         * lib/xstrtol.h (__attribute__): Likewise.
58222         * lib/xvasprintf.h (__attribute__): Likewise.
58223
58224 2008-01-12  Bruno Haible  <bruno@clisp.org>
58225
58226         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58227         * doc/glibc-headers/a.out.texi: New file.
58228         * doc/glibc-headers/aliases.texi: New file.
58229         * doc/glibc-headers/alloca.texi: New file.
58230         * doc/glibc-headers/ar.texi: New file.
58231         * doc/glibc-headers/argp.texi: New file.
58232         * doc/glibc-headers/argz.texi: New file.
58233         * doc/glibc-headers/byteswap.texi: New file.
58234         * doc/glibc-headers/crypt.texi: New file.
58235         * doc/glibc-headers/endian.texi: New file.
58236         * doc/glibc-headers/envz.texi: New file.
58237         * doc/glibc-headers/err.texi: New file.
58238         * doc/glibc-headers/error.texi: New file.
58239         * doc/glibc-headers/execinfo.texi: New file.
58240         * doc/glibc-headers/fpu_control.texi: New file.
58241         * doc/glibc-headers/fstab.texi: New file.
58242         * doc/glibc-headers/fts.texi: New file.
58243         * doc/glibc-headers/getopt.texi: New file.
58244         * doc/glibc-headers/ieee754.texi: New file.
58245         * doc/glibc-headers/ifaddrs.texi: New file.
58246         * doc/glibc-headers/libintl.texi: New file.
58247         * doc/glibc-headers/mcheck.texi: New file.
58248         * doc/glibc-headers/mntent.texi: New file.
58249         * doc/glibc-headers/obstack.texi: New file.
58250         * doc/glibc-headers/paths.texi: New file.
58251         * doc/glibc-headers/printf.texi: New file.
58252         * doc/glibc-headers/pty.texi: New file.
58253         * doc/glibc-headers/resolv.texi: New file.
58254         * doc/glibc-headers/shadow.texi: New file.
58255         * doc/glibc-headers/sysexits.texi: New file.
58256         * doc/glibc-headers/ttyent.texi: New file.
58257
58258 2008-01-12  Jim Meyering  <meyering@redhat.com>
58259
58260         announce-gen: emit Gnulib's git-based version string.
58261         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58262         New option --gnulib-version=V, where V is expected to be
58263         the output of running git describe in the gnulib directory.
58264         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58265         not useful, and plan to stop publishing an xdelta file with each
58266         coreutils release.
58267
58268         * build-aux/announce-gen: Also check for lzma-compressed files.
58269
58270 2008-01-11  Bruno Haible  <bruno@clisp.org>
58271
58272         * tests/test-memmem.c (main): Increase maximum allowed time.
58273         * tests/test-strstr.c (main): Likewise.
58274
58275 2008-01-11  Bruno Haible  <bruno@clisp.org>
58276
58277         * doc/functions/memmem.texi: Add more precisions about platforms.
58278         * doc/functions/strstr.texi: Likewise.
58279
58280 2008-01-10  Eric Blake  <ebb9@byu.net>
58281
58282         * m4/strstr.m4: Delete cruft from copy-n-paste.
58283         Reported by Bruno Haible.
58284
58285 2008-01-10  Bruno Haible  <bruno@clisp.org>
58286
58287         Make c-strstr rely on strstr.
58288         * lib/c-strstr.c: Don't include str-kmp.h.
58289         (c_strstr): Define in terms of strstr.
58290         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58291         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58292
58293 2008-01-10  Bruno Haible  <bruno@clisp.org>
58294
58295         * doc/gnulib.texi (String Functions in C Locale): New section.
58296         * doc/c-ctype.texi: New file.
58297         * doc/c-strcase.texi: New file.
58298         * doc/c-strcaseeq.texi: New file.
58299         * doc/c-strcasestr.texi: New file.
58300         * doc/c-strstr.texi: New file.
58301         * doc/c-strtod.texi: New file.
58302         * doc/c-strtold.texi: New file.
58303
58304 2008-01-10  Eric Blake  <ebb9@byu.net>
58305
58306         * lib/relocatable.h: Fix a comment.
58307
58308 2008-01-10  Eric Blake  <ebb9@byu.net>
58309
58310         Share two-way algorithm.
58311         * lib/str-two-way.h: New file, merged from...
58312         * lib/memmem.c: ...here...
58313         * lib/strstr.c: ...and here.
58314         * modules/memmem (Files): Use it.
58315         * modules/strstr (Files): Likewise.
58316
58317         Avoid quadratic strstr implementations.
58318         * lib/strstr.c: New file.
58319         * m4/strstr.m4: Likewise.
58320         * modules/strstr: Likewise.
58321         * modules/strstr-tests: Likewise.
58322         * tests/test-strstr.c: Likewise.
58323         * lib/string.in.h (rpl_strstr): Declare.
58324         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58325         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58326         * modules/string (Makefile.am): Likewise.
58327         * MODULES.html.sh (string handling): Mention new module.
58328         * doc/functions/strstr.texi (strstr): Document the bug.
58329
58330 2008-01-10  Bruno Haible  <bruno@clisp.org>
58331
58332         * lib/relocatable.h (relocate): State whether result is freshly
58333         allocated or not.
58334         * lib/relocatable.c (relocate): Return a freshly allocated string
58335         instead of a pointer to a privately held string.
58336         Reported by Sylvain Beucler <beuc@gnu.org>.
58337
58338 2008-01-10  Colin Watson  <cjwatson@debian.org>
58339
58340         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58341         s/S_ISNLK/S_ISLNK/.
58342
58343 2008-01-09  Bruno Haible  <bruno@clisp.org>
58344
58345         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58346         and other files.
58347         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58348         if it's only a guess.
58349         * modules/memmem: Simplify by depending on memmem-simple.
58350
58351 2008-01-09  Bruno Haible  <bruno@clisp.org>
58352
58353         Work around OpenBSD 4.0 tdelete() bug.
58354         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58355         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58356         macros and don't redefine the enum values.
58357         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58358         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58359         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58360
58361 2008-01-09  Bruno Haible  <bruno@clisp.org>
58362
58363         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58364         (main): Don't perform the tests if setlocale did not install a UTF-8
58365         locale. Needed on OpenBSD 4.0.
58366         * modules/wcwidth-tests (Depends-on): Add localcharset.
58367
58368 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58369
58370         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58371         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58372         * NEWS: announce this.
58373         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58374
58375 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58376         and Eric Blake  <ebb9@byu.net>
58377
58378         Add memmem-simple module.
58379         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58380         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58381         * modules/memmem-simple: New file.
58382         * modules/memmem (Description): Tweak.
58383         * MODULES.html.sh (string handling): Mention new module.
58384         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58385         addressed by memmem-simple.
58386         * NEWS: Document the difference.
58387
58388 2008-01-09  Eric Blake  <ebb9@byu.net>
58389
58390         Give gcc some memmem optimization hints.
58391         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58392         (strcasestr): Declare as pure.
58393         * modules/memmem (Maintainer): Claim my implementation.
58394
58395 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58396
58397         Support AIX 6.1 and higher.
58398         * build-aux/config.libpath: Likewise.
58399         * build-aux/config.rpath: Likewise.
58400
58401 2008-01-08  Jim Meyering  <meyering@redhat.com>
58402             Bruno Haible  <bruno@clisp.org>
58403
58404         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
58405         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
58406         Reported by Peter Fales in
58407         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
58408
58409 2008-01-08  Bruno Haible  <bruno@clisp.org>
58410
58411         * modules/unictype/category-of (Depends-on): Add
58412         unictype/category-none.
58413         * modules/unictype/category-and-tests (Depends-on): Add
58414         unictype/category-{L,N,Lu,Nd}.
58415         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
58416         * modules/unictype/category-or-tests (Depends-on): Add
58417         unictype/category-{L,N}.
58418         * modules/unictype/category-name-tests (Depends-on): Add
58419         unictype/category-{Z,Nl}.
58420         Reported by Simon Josefsson.
58421
58422 2008-01-08  Bruno Haible  <bruno@clisp.org>
58423
58424         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
58425         convention better.
58426         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
58427         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
58428         Reported by Peter Miller <millerp@canb.auug.org.au>.
58429
58430 2008-01-08  Eric Blake  <ebb9@byu.net>
58431
58432         Rewrite memmem to guarantee linear complexity without malloc.
58433         * lib/memmem.c (memmem): Use Two-Way rather than
58434         Knuth-Morris-Pratt, to allow O(1) space usage.
58435         (critical_factorization, two_way_short_needle)
58436         (two_way_long_needle): New functions.
58437         (knuth_morris_pratt): Delete.
58438         * modules/memmem (Depends-on): No longer need malloca or stdbool.
58439         Add stdint.
58440         * tests/test-memmem.c (main): Add tests for periodic needle and
58441         sublinear performance.
58442         * doc/functions/memmem.texi (memmem): Document other deficiencies
58443         in cygwin and older glibc.
58444
58445 2008-01-08  Bruno Haible  <bruno@clisp.org>
58446
58447         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
58448         augmentation.
58449
58450 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
58451
58452         Add a configure time option: --disable-acl.
58453         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
58454         AC_ARG_ENABLE(acl).
58455
58456 2008-01-06  Simon Josefsson  <simon@josefsson.org>
58457
58458         * tests/test-localename.c: Don't include obsolete "setenv.h".
58459
58460         * modules/localename-tests (Depends-on): Need unsetenv.
58461
58462 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58463
58464         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
58465
58466 2008-01-06  Colin Watson  <cjwatson@debian.org>
58467
58468         * users.txt: Add man-db.
58469
58470 2008-01-07  Bruno Haible  <bruno@clisp.org>
58471
58472         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
58473         previous section name.
58474
58475 2008-01-07  Bruno Haible  <bruno@clisp.org>
58476
58477         * lib/progname.c (set_program_name): Don't strip off a leading
58478         "lt-" prefix outside a .libs directory.
58479         Suggested by Paul Eggert.
58480
58481 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
58482             Bruno Haible  <bruno@clisp.org>
58483
58484         Improve memory cleanup in 'relocatable' module.
58485         * lib/relocatable.h (compute_curr_prefix): Change return type to
58486         'char *'.
58487         * lib/relocatable.c (compute_curr_prefix): Change return type to
58488         'char *'. Free curr_installdir after use.
58489         (relocate): Free curr_prefix_better after use.
58490         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
58491
58492 2008-01-01  Bruno Haible  <bruno@clisp.org>
58493
58494         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
58495         failure on older glibc systems.
58496         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58497
58498 2008-01-05  Eric Blake  <ebb9@byu.net>
58499
58500         Avoid quadratic system memmem.
58501         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
58502         Reported by Ralf Wildenhues.
58503
58504         Fix memmem test for mingw.
58505         * modules/memmem-tests (configure.ac): Check for alarm.
58506         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
58507         it.
58508         * doc/functions/memmem.texi: New file.
58509         * doc/gnulib.texi (Function Substitutes): Add memmem.
58510         Reported by Bruno Haible.
58511
58512 2008-01-04  Bruno Haible  <bruno@clisp.org>
58513
58514         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
58515         Require gl_HEADER_STRINGS_H_DEFAULTS, not
58516         gl_HEADER_STRING_H_DEFAULTS.
58517
58518 2008-01-04  Eric Blake  <ebb9@byu.net>
58519
58520         Shorten duration of memmem test.
58521         * tests/test-memmem.c (main): Use alarm to declare failure if test
58522         is taking too long.
58523         Reported by Ralf Wildenhues.
58524
58525 2007-12-21  Simon Josefsson  <simon@josefsson.org>
58526
58527         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
58528         string, needed by strerror.
58529
58530 2008-01-03  Colin Watson  <cjwatson@debian.org>
58531             Bruno Haible  <bruno@clisp.org>
58532
58533         * doc/gnulib-tool.texi (Localization): New section.
58534
58535 2008-01-02  Bruno Haible  <bruno@clisp.org>
58536
58537         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58538         variables to 'unsigned char *' type.
58539         Reported by Paul Eggert.
58540
58541 2008-01-02  Jim Meyering  <jim@meyering.net>
58542
58543         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58544
58545 2007-12-31  Jim Meyering  <jim@meyering.net>
58546
58547         Avoid use of private FTS type name.
58548         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58549
58550 2007-12-30  Karl Berry  <karl@gnu.org>
58551
58552         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58553         work around defect in Texinfo and/or the standalone Info browser.
58554
58555 2007-12-30  Bruno Haible  <bruno@clisp.org>
58556
58557         Unify 5 copies of the KMP code.
58558         * lib/str-kmp.h: New file.
58559         * lib/c-strcasestr.c: Include str-kmp.h.
58560         (knuth_morris_pratt): Remove function.
58561         (c_strcasestr): Update.
58562         * lib/c-strstr.c: Include str-kmp.h.
58563         (knuth_morris_pratt): Remove function.
58564         (c_strcasestr): Update.
58565         * lib/mbscasestr.c: Include str-kmp.h.
58566         (knuth_morris_pratt_unibyte): Remove function.
58567         * lib/mbsstr.c: Include str-kmp.h.
58568         (knuth_morris_pratt_unibyte): Remove function.
58569         * lib/strcasestr.c: Include str-kmp.h.
58570         (knuth_morris_pratt): Remove function.
58571         (strcasestr): Update.
58572         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58573         * modules/c-strstr (Files): Likewise.
58574         * modules/mbscasestr (Files): Likewise.
58575         * modules/mbsstr (Files): Likewise.
58576         * modules/strcasestr (Files): Likewise.
58577         Suggested by Paul Eggert.
58578
58579 2007-12-30  Bruno Haible  <bruno@clisp.org>
58580
58581         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58582         defined.
58583
58584 2007-12-30  Bruno Haible  <bruno@clisp.org>
58585
58586         * lib/xmalloca.h: Include xalloc.h.
58587         (xnmalloca): New macro.
58588
58589 2007-12-30  Bruno Haible  <bruno@clisp.org>
58590
58591         * lib/malloca.h (nmalloca): New macro.
58592         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58593         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58594         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58595         knuth_morris_pratt_multibyte): Likewise.
58596         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58597         knuth_morris_pratt_multibyte): Likewise.
58598         * lib/memmem.c (knuth_morris_pratt): Likewise.
58599         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58600
58601 2007-12-25  Bruno Haible  <bruno@clisp.org>
58602
58603         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58604         * lib/glob.c: Don't include openat.h.
58605         (link_exists2_p): Add back the code that deals with the
58606         !GLOB_ALTDIRFUNC case.
58607         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58608         let it do the filename concatenation.
58609         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58610         * modules/glob (Depends-on): Remove openat.
58611
58612 2007-12-31  Bruno Haible  <bruno@clisp.org>
58613
58614         * modules/dirfd (License): Change to LGPLv2+.
58615         Approved by Jim Meyering.
58616
58617 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58620         when multiplying M by sizeof (size_t).
58621
58622 2007-12-10  Martin Lambers  <marlam@marlam.de>
58623
58624         Override getpagesize on mingw.
58625         * lib/getpagesize.c: New file.
58626         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58627         * modules/getpagesize (Files): Add lib/getpagesize.c.
58628         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58630         REPLACE_GETPAGESIZE.
58631         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58632
58633 2007-12-25  Bruno Haible  <bruno@clisp.org>
58634
58635         * modules/localcharset (Notice): New field.
58636         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58637         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58638
58639 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58640             Bruno Haible  <bruno@clisp.org>
58641
58642         Avoid using the syntax symbol() in formatted documentation.
58643         * MODULES.html.sh (func_module): When replacing symbol() with a
58644         hyperlink, remove the parentheses. Show an error if some remain.
58645         Recognize and render the '...' syntax.
58646         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58647         Rework. Add paragraph about GCC's inlining.
58648         * doc/alloca.texi: Likewise.
58649         * doc/error.texi: Remove parentheses from symbol reference.
58650         * doc/gnulib-intro.texi: Likewise.
58651         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58652         * modules/fnmatch (Description): Reword to say "the ... function".
58653         * modules/full-read (Description): Likewise.
58654         * modules/full-write (Description): Likewise.
58655         * modules/safe-read (Description): Likewise.
58656         * modules/safe-write (Description): Likewise.
58657         * modules/strchrnul (Description): Likewise.
58658         * modules/trim (Description): Likewise.
58659         * modules/error (Description): Remove parentheses from symbol
58660         references.
58661         * modules/verror (Description): Likewise.
58662         Reported by Karl Berry.
58663
58664 2007-12-25  Bruno Haible  <bruno@clisp.org>
58665
58666         Fixup after 2007-10-16 commit.
58667         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58668
58669 2007-12-24  Bruno Haible  <bruno@clisp.org>
58670
58671         Make --enable-relocatable work with DESTDIR.
58672         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58673         to compute installdir from destprog.
58674         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58675         also set the RELOC_DESTDIR variable.
58676         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58677
58678 2007-12-24  Bruno Haible  <bruno@clisp.org>
58679
58680         Fix link error due to xalloc_die().
58681         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58682         of xreadlink.
58683         * lib/relocwrapper.c: Update comments.
58684         * build-aux/install-reloc: Remove xreadlink.c from file list.
58685         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58686         xreadlink.c.
58687         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58688
58689 2007-12-24  Bruno Haible  <bruno@clisp.org>
58690
58691         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58692         * lib/setenv.h: Remove file.
58693         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58694         lib/setenv.h.
58695         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58696         (Depends-on): Add stdlib.
58697         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58698         gl_FUNC_UNSETENV.
58699         (Include): Replace setenv.h with <stdlib.h>.
58700         * modules/unsetenv: New file.
58701         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58702         * lib/unsetenv.c: Include <stdlib.h> first.
58703         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58704         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58705         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58706         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58707         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58708         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58710         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58711         * doc/functions/unsetenv.texi: Update.
58712         * modules/xsetenv (Depends-on): Add unsetenv.
58713         * modules/getdate (Depends-on): Likewise.
58714         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58715         * lib/xsetenv.c: Don't include setenv.h.
58716         * lib/getdate.y: Likewise.
58717         * lib/relocwrapper.c: Likewise.
58718         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58719         (Depends-on): Add stdlib.
58720         * NEWS: Mention the changes.
58721         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58722
58723 2007-12-23  Bruno Haible  <bruno@clisp.org>
58724
58725         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58726         indentation.
58727
58728 2007-12-23  Bruno Haible  <bruno@clisp.org>
58729
58730         * lib/c-strcasestr.c: Add more comments.
58731         * lib/c-strstr.c: Likewise.
58732         * lib/mbscasestr.c: Likewise.
58733         * lib/mbsstr.c: Likewise.
58734         * lib/strcasestr.c: Likewise.
58735         * lib/memmem.c: Likewise.
58736
58737 2007-12-23  Bruno Haible  <bruno@clisp.org>
58738
58739         * tests/test-memmem.c: Include <string.h> first.
58740
58741 2007-12-22  Bruno Haible  <bruno@clisp.org>
58742
58743         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58744         the contents of $testsbase.
58745         Reported by Ralf Wildenhues.
58746
58747 2007-12-22  Bruno Haible  <bruno@clisp.org>
58748
58749         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58750         two variables local_ldadd_before, local_ldadd_last.
58751
58752 2007-12-20  Eric Blake  <ebb9@byu.net>
58753
58754         Work around circular library issue when cross-compiling.
58755         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58756         that progname.o does not need to pull in rpl_memcmp.
58757
58758 2007-12-19  Eric Blake  <ebb9@byu.net>
58759
58760         Fix memmem to avoid O(n^2) worst-case complexity.
58761         * lib/memmem.c (knuth_morris_pratt): New function.
58762         (memmem): Use it if first few naive iterations fail.
58763         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58764         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58765         * modules/memchr (License): Likewise.
58766         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58767         malloca.
58768         * tests/test-memmem.c: Rewrite, borrowing ideas from
58769         test-mbsstr1.c; the old version wouldn't even compile!
58770         * modules/memmem-tests: New file.
58771         * lib/string.in.h (rpl_memmem): Add declaration.
58772         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58774         REPLACE_MEMMEM.
58775
58776 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58777
58778         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58779         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58780         before any system include files, and undef after them all.  This
58781         should fix a problem on VMS reported by John E. Malmberg in
58782         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58783
58784 2007-12-17  Eric Blake  <ebb9@byu.net>
58785
58786         Revert addition of verify, for BSD/OS.
58787         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58788         can't handle large files, for the sake of obsolete platforms.
58789         * modules/fseeko (Depends-on): Remove verify.
58790         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58791         * doc/functions/ftello.texi (ftello): Likewise.
58792         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58793         Reported by Larry Jones.
58794
58795 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58796
58797         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58798         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58799
58800 2007-12-17  Jim Meyering  <meyering@redhat.com>
58801
58802         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58803         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58804         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58805         * modules/getcwd (Depends-on): Add openat.
58806         Reported by Petr Salinger.
58807
58808 2007-12-17  Bruno Haible  <bruno@clisp.org>
58809
58810         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58811         avoid a segmentation fault of the configure test on x86_64 systems.
58812
58813 2007-12-15  Jim Meyering  <meyering@redhat.com>
58814
58815         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58816
58817 2007-12-13  Eric Blake  <ebb9@byu.net>
58818
58819         Another fseek test.
58820         * tests/test-fseek.c (main): Also test ungetc handling.
58821         * tests/test-fseeko.c (main): Likewise.
58822         * modules/fseeko (Depends-on): Add verify.
58823         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58824         large.
58825         Reported by Larry Jones.
58826
58827         Fix fseeko on mingw.
58828         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58829         seek.
58830
58831         Beef up fseek tests.
58832         * tests/test-fseek.c (main): Also test eof handling.
58833         * tests/test-fseeko.c (main): Likewise.
58834         Reported by Larry Jones.
58835
58836 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58837
58838         Fix fseeko on BSD-based platforms.
58839         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58840         successful seek.
58841
58842 2007-12-12  Eric Blake  <ebb9@byu.net>
58843
58844         Allow circular dependency of separate libtests.a
58845         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58846         when use_libtests.
58847
58848 2007-12-11  Eric Blake  <ebb9@byu.net>
58849
58850         Fix bug with -0.0L in previous patch.
58851         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58852         * tests/test-isnan.c (main): Also test on zeroes.
58853         * tests/test-isnanf.c (main): Likewise.
58854         * tests/test-isnanl.h (main): Likewise.
58855
58856         Detect pseudo-denormals on x86 even when cross-compiling.
58857         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58858         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58859         invalid bit patterns that happen to satisfy ==.
58860
58861         Avoid link failures with separate libtests.a.
58862         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58863         last, to satisfy circular dependencies.
58864
58865 2007-12-11  Eric Blake  <ebb9@byu.net>
58866         and Bruno Haible  <bruno@clisp.org>
58867
58868         Fix OpenBSD 4.0 <float.h> handling of long double.
58869         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58870         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58871         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58872
58873 2007-12-11  Jim Meyering  <meyering@redhat.com>
58874
58875         * users.txt: Add libvirt.
58876
58877         Support versions of autoconf prior to 2.59c.
58878         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58879         if it is not already defined.
58880
58881 2007-12-09  Bruno Haible  <bruno@clisp.org>
58882
58883         Let 'gnulib-tool --import' collect sources needed for the tests in
58884         tests/ rather than in lib/.
58885         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58886         argument. If true, add rules to generate libtests.a, and put libtests.a
58887         into $(LDADD). Consider source files in subdirectories and set
58888         uses_subdirs.
58889         (func_emit_initmacro_start, func_emit_initmacro_end,
58890         func_emit_initmacro_done): Pass all arguments explicitly.
58891         (func_import): Determine two module lists main_modules,
58892         testsrelated_modules. Determine use_libtests. Determine two variables
58893         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58894         instead of just sed_transform_lib_file. Determine two variables
58895         main_files and testsrelated_files. Compute 'files' as the union of
58896         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58897         func_add_or_update. In the generated gnulib-comp.m4, collect the
58898         object files for tests/ in different variables than those for lib/.
58899         Substitute LIBTESTS_LIBDEPS.
58900         (func_create_testdir): Combine the uses_subdirs results from
58901         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58902
58903 2007-12-09  Bruno Haible  <bruno@clisp.org>
58904
58905         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
58906         the build-aux directory.
58907
58908 2007-12-09  Bruno Haible  <bruno@clisp.org>
58909
58910         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
58911         introduced on 2006-09-09.
58912
58913 2007-12-07  Jim Meyering  <meyering@redhat.com>
58914
58915         Let these macros work also with autoconf-2.59.
58916         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
58917         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
58918         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58919
58920 2007-12-06  Jim Meyering  <meyering@redhat.com>
58921
58922         Avoid a configure-time syntax error in gl_FUNC_ACL.
58923         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
58924         function in each branch, before testing the cache variable.
58925
58926 2007-12-04  Eric Blake  <ebb9@byu.net>
58927
58928         Make scripts executable.
58929         * build-aux/config.guess: Add execute permissions.
58930         * build-aux/config.sub: Likewise.
58931         * build-aux/gendocs.sh: Likewise.
58932
58933         Fix frexp on mingw.
58934         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
58935         cross-compiling.
58936         * doc/functions/frexp.texi (frexp): Document the bug.
58937
58938         Make cygwin fseeko check more reliable.
58939         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
58940         version numbers, rather than unrelated feature check.
58941         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
58942         * doc/functions/ftello.texi (ftello): Likewise.
58943         Reported by Bruno Haible.
58944
58945         * m4/strerror.m4: Bump version number.
58946
58947 2007-12-03  Bruno Haible  <bruno@clisp.org>
58948
58949         * doc/functions/mprotect.texi: Mention the mingw problem.
58950
58951 2007-12-03  Eric Blake  <ebb9@byu.net>
58952
58953         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
58954         REPLACE_STRERROR is initialized before this macro.
58955
58956 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58957
58958         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
58959         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
58960         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
58961         put -lsec in even for programs other than 'ls'.  This fixes a problem
58962         for gettext reported by Bruno Haible in
58963         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
58964         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
58965         Add support for Solaris 10.  This isn't efficient, but should get the
58966         job done for now.
58967
58968 2007-12-03  James Youngman  <jay@gnu.org>
58969
58970         * doc/regexprops-generic.texi: change "an close-group" to "a
58971         close-group" and "illegal" to "not allowed".
58972
58973 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58974
58975         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
58976         pr_byname.h. Needed for the rare case when the maintainer has done
58977         "make maintainer-clean" in the source directory and then attempts a
58978         build outside the source directory.
58979         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
58980         scripts_byname.h.
58981
58982 2007-12-02  Martin Lambers <marlam@marlam.de>
58983             Bruno Haible  <bruno@clisp.org>
58984
58985         * lib/getpagesize.h: Remove file.
58986         * lib/unistd.in.h: Include declaration of getpagesize here.
58987         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
58988         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
58989         HAVE_SYS_PARAM_H.
58990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
58991         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58992         * modules/getpagesize (Files): Remove lib/getpagesize.h.
58993         (Depends-on): Add unistd.
58994         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58995         (Include): Use <unistd.h> instead of getpagesize.h.
58996         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
58997         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58998         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
58999         gl_GETPAGESIZE invocation, already handled by module dependency.
59000         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59001
59002 2007-12-02  Bruno Haible  <bruno@clisp.org>
59003
59004         * modules/strings-tests: New file.
59005         * tests/test-strings.c: New file.
59006
59007         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59008         * lib/strings.in.h: New file.
59009         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59010         * m4/strings_h.m4: New file.
59011         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59012         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59013         * modules/strings: New file.
59014         * modules/string (Makefile.am): Update.
59015         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59016         Reported by Karl Berry.
59017
59018 2007-12-01  Eric Blake  <ebb9@byu.net>
59019
59020         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59021         accomodate fix in cygwin 1.5.25.
59022
59023 2007-12-01  Jim Meyering  <meyering@redhat.com>
59024
59025         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59026         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59027         that would inhibit utf8-optimization of a regexp containing line-
59028         or buffer-anchors, e.g., `^', `$'.
59029
59030 2007-11-30  Bruno Haible  <bruno@clisp.org>
59031
59032         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59033         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59034         glthread_recursive_lock_init.
59035         * lib/lock.c (glthread_recursive_lock_init)
59036         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59037         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59038
59039 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59040
59041         New function qset_acl, like set_acl but with syscall semantics.
59042         * lib/acl.h (qset_acl): New decl.
59043         * lib/acl.c (qset_acl): New function.
59044         (set_acl): Use new function.  Use more-consistent diagnostics.
59045
59046 2007-11-28  Jim Meyering  <meyering@redhat.com>
59047
59048         * modules/physmem (License): Change from GPL to LGPLv2+.
59049
59050 2007-11-26  Bruno Haible  <bruno@clisp.org>
59051
59052         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59053         'long double' type has excess precision.
59054         Reported by Jim Meyering in
59055         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59056
59057 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59058
59059         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59060         Sync from <http://gnu.org/licenses>.
59061         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59062         with license text from same location.
59063         * doc/maintain.texi, doc/standards.texi:  Sync from
59064         <http://savannah.gnu.org/projects/gnustandards>.
59065
59066 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59067         and Jim Meyering  <meyering@redhat.com>
59068
59069         Adjust getdate' grammar to accept a slightly more regular language.
59070         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59071         Before, the former was rejected.
59072         * lib/getdate.y (digits_to_date_time): New function, factored
59073         out of ...
59074         (number): ...here.  Just call digits_to_date_time.
59075         (hybrid): New non-terminal to handle an <unsigned number,
59076         signed relative offset> sequence consistently.
59077
59078 2007-11-18  Jim Meyering  <meyering@redhat.com>
59079
59080         Pull my changes from coreutils:
59081         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59082         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59083         use of $gnulib_tool_option_extras, so that it's separated from the
59084         preceding argument.
59085
59086         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59087         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59088         parent destination directories before copying a file into place.
59089
59090 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59091
59092         bootstrap: work also with 4-argument variant of AC_INIT
59093         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59094
59095 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59096
59097         Port test-getaddrinfo to Solaris.
59098         Problem reported by Bruno Haible in
59099         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59100         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59101         explanation of setting 'hints'.
59102         Don't reject an implementation merely because it returns EAI_SERVICE.
59103         (EAI_SERVICE): Define to 0 if not defined.
59104
59105 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59106
59107         The license of gnu-make and posix-shell is now "GPLed build tool".
59108         * modules/gnu-make (License): Likewise.
59109         * modules/posix-shell (License): Likewise.
59110
59111         New module posix-shell, for determining a POSIX shell
59112         or perhaps something that is close enough to a POSIX shell.
59113         * m4/posix-shell.m4: New file.
59114         * modules/posix-shell: New file.
59115
59116         * MODULES.html.sh: Mention new module.
59117
59118         New module gnu-make, for determining whether we're using GNU Make.
59119         * m4/gnu-make.m4: New file.
59120         * modules/gnu-make: New file.
59121         * MODULES.html.sh: Mention new module.
59122
59123 2007-11-14  Jim Meyering  <meyering@redhat.com>
59124
59125         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59126         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59127         use this macro to create a function _definition_.
59128         Remove useless "#undef ARGMATCH_DIE".
59129
59130 2007-11-14  Bruno Haible  <bruno@clisp.org>
59131
59132         * lib/config.charset: Update for OpenBSD 4.1.
59133         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59134
59135 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59136
59137         Document 64-bit #if problems in stdint.texi.
59138         * doc/headers/stdint.texi (stdint.h): Mention problems with
59139         64-bit-#if, and how to work around them.
59140
59141         Don't insist on 'long long int' support in the preprocessor.  It
59142         breaks too many things.  For example, PRIdMAX still uses a 'long
59143         long int' format with the latest Sun compiler, even though
59144         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59145         preprocessor problem.  This causes the latest coreutils to dump
59146         core on Solaris 10 sparc with the Sun C compiler.
59147         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59148         the troublesome expressions at configure-time, not at #if-time.
59149         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59150         preprocessor.
59151         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59152         compile-time C checks, done at 'configure'-time.
59153         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59154         * modules/inttypes (Makefile): Substitute the new symbols that
59155         gl_INTTYPES_H now generates.
59156         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59157
59158 2007-11-12  Bruno Haible  <bruno@clisp.org>
59159
59160         Tests for Unicode character classification functions.
59161
59162         * modules/unictype/bidicategory-byname-tests: New file.
59163         * modules/unictype/bidicategory-name-tests: New file.
59164         * modules/unictype/bidicategory-of-tests: New file.
59165         * modules/unictype/bidicategory-test-tests: New file.
59166         * modules/unictype/block-list-tests: New file.
59167         * modules/unictype/block-of-tests: New file.
59168         * modules/unictype/block-test-tests: New file.
59169         * modules/unictype/category-C-tests: New file.
59170         * modules/unictype/category-Cc-tests: New file.
59171         * modules/unictype/category-Cf-tests: New file.
59172         * modules/unictype/category-Cn-tests: New file.
59173         * modules/unictype/category-Co-tests: New file.
59174         * modules/unictype/category-Cs-tests: New file.
59175         * modules/unictype/category-L-tests: New file.
59176         * modules/unictype/category-Ll-tests: New file.
59177         * modules/unictype/category-Lm-tests: New file.
59178         * modules/unictype/category-Lo-tests: New file.
59179         * modules/unictype/category-Lt-tests: New file.
59180         * modules/unictype/category-Lu-tests: New file.
59181         * modules/unictype/category-M-tests: New file.
59182         * modules/unictype/category-Mc-tests: New file.
59183         * modules/unictype/category-Me-tests: New file.
59184         * modules/unictype/category-Mn-tests: New file.
59185         * modules/unictype/category-N-tests: New file.
59186         * modules/unictype/category-Nd-tests: New file.
59187         * modules/unictype/category-Nl-tests: New file.
59188         * modules/unictype/category-No-tests: New file.
59189         * modules/unictype/category-P-tests: New file.
59190         * modules/unictype/category-Pc-tests: New file.
59191         * modules/unictype/category-Pd-tests: New file.
59192         * modules/unictype/category-Pe-tests: New file.
59193         * modules/unictype/category-Pf-tests: New file.
59194         * modules/unictype/category-Pi-tests: New file.
59195         * modules/unictype/category-Po-tests: New file.
59196         * modules/unictype/category-Ps-tests: New file.
59197         * modules/unictype/category-S-tests: New file.
59198         * modules/unictype/category-Sc-tests: New file.
59199         * modules/unictype/category-Sk-tests: New file.
59200         * modules/unictype/category-Sm-tests: New file.
59201         * modules/unictype/category-So-tests: New file.
59202         * modules/unictype/category-Z-tests: New file.
59203         * modules/unictype/category-Zl-tests: New file.
59204         * modules/unictype/category-Zp-tests: New file.
59205         * modules/unictype/category-Zs-tests: New file.
59206         * modules/unictype/category-and-not-tests: New file.
59207         * modules/unictype/category-and-tests: New file.
59208         * modules/unictype/category-byname-tests: New file.
59209         * modules/unictype/category-name-tests: New file.
59210         * modules/unictype/category-none-tests: New file.
59211         * modules/unictype/category-of-tests: New file.
59212         * modules/unictype/category-or-tests: New file.
59213         * modules/unictype/category-test-withtable-tests: New file.
59214         * modules/unictype/combining-class-tests: New file.
59215         * modules/unictype/ctype-alnum-tests: New file.
59216         * modules/unictype/ctype-alpha-tests: New file.
59217         * modules/unictype/ctype-blank-tests: New file.
59218         * modules/unictype/ctype-cntrl-tests: New file.
59219         * modules/unictype/ctype-digit-tests: New file.
59220         * modules/unictype/ctype-graph-tests: New file.
59221         * modules/unictype/ctype-lower-tests: New file.
59222         * modules/unictype/ctype-print-tests: New file.
59223         * modules/unictype/ctype-punct-tests: New file.
59224         * modules/unictype/ctype-space-tests: New file.
59225         * modules/unictype/ctype-upper-tests: New file.
59226         * modules/unictype/ctype-xdigit-tests: New file.
59227         * modules/unictype/decimal-digit-tests: New file.
59228         * modules/unictype/digit-tests: New file.
59229         * modules/unictype/mirror-tests: New file.
59230         * modules/unictype/numeric-tests: New file.
59231         * modules/unictype/property-alphabetic-tests: New file.
59232         * modules/unictype/property-ascii-hex-digit-tests: New file.
59233         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59234         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59235         * modules/unictype/property-bidi-block-separator-tests: New file.
59236         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59237         * modules/unictype/property-bidi-common-separator-tests: New file.
59238         * modules/unictype/property-bidi-control-tests: New file.
59239         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59240         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59241         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59242         * modules/unictype/property-bidi-european-digit-tests: New file.
59243         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59244         * modules/unictype/property-bidi-left-to-right-tests: New file.
59245         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59246         * modules/unictype/property-bidi-other-neutral-tests: New file.
59247         * modules/unictype/property-bidi-pdf-tests: New file.
59248         * modules/unictype/property-bidi-segment-separator-tests: New file.
59249         * modules/unictype/property-bidi-whitespace-tests: New file.
59250         * modules/unictype/property-byname-tests: New file.
59251         * modules/unictype/property-combining-tests: New file.
59252         * modules/unictype/property-composite-tests: New file.
59253         * modules/unictype/property-currency-symbol-tests: New file.
59254         * modules/unictype/property-dash-tests: New file.
59255         * modules/unictype/property-decimal-digit-tests: New file.
59256         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59257         * modules/unictype/property-deprecated-tests: New file.
59258         * modules/unictype/property-diacritic-tests: New file.
59259         * modules/unictype/property-extender-tests: New file.
59260         * modules/unictype/property-format-control-tests: New file.
59261         * modules/unictype/property-grapheme-base-tests: New file.
59262         * modules/unictype/property-grapheme-extend-tests: New file.
59263         * modules/unictype/property-grapheme-link-tests: New file.
59264         * modules/unictype/property-hex-digit-tests: New file.
59265         * modules/unictype/property-hyphen-tests: New file.
59266         * modules/unictype/property-id-continue-tests: New file.
59267         * modules/unictype/property-id-start-tests: New file.
59268         * modules/unictype/property-ideographic-tests: New file.
59269         * modules/unictype/property-ids-binary-operator-tests: New file.
59270         * modules/unictype/property-ids-trinary-operator-tests: New file.
59271         * modules/unictype/property-ignorable-control-tests: New file.
59272         * modules/unictype/property-iso-control-tests: New file.
59273         * modules/unictype/property-join-control-tests: New file.
59274         * modules/unictype/property-left-of-pair-tests: New file.
59275         * modules/unictype/property-line-separator-tests: New file.
59276         * modules/unictype/property-logical-order-exception-tests: New file.
59277         * modules/unictype/property-lowercase-tests: New file.
59278         * modules/unictype/property-math-tests: New file.
59279         * modules/unictype/property-non-break-tests: New file.
59280         * modules/unictype/property-not-a-character-tests: New file.
59281         * modules/unictype/property-numeric-tests: New file.
59282         * modules/unictype/property-other-alphabetic-tests: New file.
59283         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59284         * modules/unictype/property-other-grapheme-extend-tests: New file.
59285         * modules/unictype/property-other-id-continue-tests: New file.
59286         * modules/unictype/property-other-id-start-tests: New file.
59287         * modules/unictype/property-other-lowercase-tests: New file.
59288         * modules/unictype/property-other-math-tests: New file.
59289         * modules/unictype/property-other-uppercase-tests: New file.
59290         * modules/unictype/property-paired-punctuation-tests: New file.
59291         * modules/unictype/property-paragraph-separator-tests: New file.
59292         * modules/unictype/property-pattern-syntax-tests: New file.
59293         * modules/unictype/property-pattern-white-space-tests: New file.
59294         * modules/unictype/property-private-use-tests: New file.
59295         * modules/unictype/property-punctuation-tests: New file.
59296         * modules/unictype/property-quotation-mark-tests: New file.
59297         * modules/unictype/property-radical-tests: New file.
59298         * modules/unictype/property-sentence-terminal-tests: New file.
59299         * modules/unictype/property-soft-dotted-tests: New file.
59300         * modules/unictype/property-space-tests: New file.
59301         * modules/unictype/property-terminal-punctuation-tests: New file.
59302         * modules/unictype/property-test-tests: New file.
59303         * modules/unictype/property-titlecase-tests: New file.
59304         * modules/unictype/property-unassigned-code-value-tests: New file.
59305         * modules/unictype/property-unified-ideograph-tests: New file.
59306         * modules/unictype/property-uppercase-tests: New file.
59307         * modules/unictype/property-variation-selector-tests: New file.
59308         * modules/unictype/property-white-space-tests: New file.
59309         * modules/unictype/property-xid-continue-tests: New file.
59310         * modules/unictype/property-xid-start-tests: New file.
59311         * modules/unictype/property-zero-width-tests: New file.
59312         * modules/unictype/scripts-tests: New file.
59313         * modules/unictype/syntax-c-ident-tests: New file.
59314         * modules/unictype/syntax-c-whitespace-tests: New file.
59315         * modules/unictype/syntax-java-ident-tests: New file.
59316         * modules/unictype/syntax-java-whitespace-tests: New file.
59317         * tests/unictype/test-bidi_byname.c: New file.
59318         * tests/unictype/test-bidi_name.c: New file.
59319         * tests/unictype/test-bidi_of.c: New file.
59320         * tests/unictype/test-bidi_test.c: New file.
59321         * tests/unictype/test-block_list.c: New file.
59322         * tests/unictype/test-block_of.c: New file.
59323         * tests/unictype/test-block_test.c: New file.
59324         * tests/unictype/test-categ_and.c: New file.
59325         * tests/unictype/test-categ_and_not.c: New file.
59326         * tests/unictype/test-categ_byname.c: New file.
59327         * tests/unictype/test-categ_name.c: New file.
59328         * tests/unictype/test-categ_none.c: New file.
59329         * tests/unictype/test-categ_of.c: New file.
59330         * tests/unictype/test-categ_or.c: New file.
59331         * tests/unictype/test-categ_test_withtable.c: New file.
59332         * tests/unictype/test-combining.c: New file.
59333         * tests/unictype/test-decdigit.c: New file.
59334         * tests/unictype/test-digit.c: New file.
59335         * tests/unictype/test-mirror.c: New file.
59336         * tests/unictype/test-numeric.c: New file.
59337         * tests/unictype/test-pr_byname.c: New file.
59338         * tests/unictype/test-pr_test.c: New file.
59339         * tests/unictype/test-predicate-part1.h: New file.
59340         * tests/unictype/test-predicate-part2.h: New file.
59341         * tests/unictype/test-scripts.c: New file.
59342         * tests/unictype/test-sy_c_ident.c: New file.
59343         * tests/unictype/test-sy_java_ident.c: New file.
59344
59345         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59346         for Unicode 5.0.0.
59347         * tests/unictype/test-categ_Cc.c: Likewise.
59348         * tests/unictype/test-categ_Cf.c: Likewise.
59349         * tests/unictype/test-categ_Cn.c: Likewise.
59350         * tests/unictype/test-categ_Co.c: Likewise.
59351         * tests/unictype/test-categ_Cs.c: Likewise.
59352         * tests/unictype/test-categ_L.c: Likewise.
59353         * tests/unictype/test-categ_Ll.c: Likewise.
59354         * tests/unictype/test-categ_Lm.c: Likewise.
59355         * tests/unictype/test-categ_Lo.c: Likewise.
59356         * tests/unictype/test-categ_Lt.c: Likewise.
59357         * tests/unictype/test-categ_Lu.c: Likewise.
59358         * tests/unictype/test-categ_M.c: Likewise.
59359         * tests/unictype/test-categ_Mc.c: Likewise.
59360         * tests/unictype/test-categ_Me.c: Likewise.
59361         * tests/unictype/test-categ_Mn.c: Likewise.
59362         * tests/unictype/test-categ_N.c: Likewise.
59363         * tests/unictype/test-categ_Nd.c: Likewise.
59364         * tests/unictype/test-categ_Nl.c: Likewise.
59365         * tests/unictype/test-categ_No.c: Likewise.
59366         * tests/unictype/test-categ_P.c: Likewise.
59367         * tests/unictype/test-categ_Pc.c: Likewise.
59368         * tests/unictype/test-categ_Pd.c: Likewise.
59369         * tests/unictype/test-categ_Pe.c: Likewise.
59370         * tests/unictype/test-categ_Pf.c: Likewise.
59371         * tests/unictype/test-categ_Pi.c: Likewise.
59372         * tests/unictype/test-categ_Po.c: Likewise.
59373         * tests/unictype/test-categ_Ps.c: Likewise.
59374         * tests/unictype/test-categ_S.c: Likewise.
59375         * tests/unictype/test-categ_Sc.c: Likewise.
59376         * tests/unictype/test-categ_Sk.c: Likewise.
59377         * tests/unictype/test-categ_Sm.c: Likewise.
59378         * tests/unictype/test-categ_So.c: Likewise.
59379         * tests/unictype/test-categ_Z.c: Likewise.
59380         * tests/unictype/test-categ_Zl.c: Likewise.
59381         * tests/unictype/test-categ_Zp.c: Likewise.
59382         * tests/unictype/test-categ_Zs.c: Likewise.
59383         * tests/unictype/test-ctype_alnum.c: Likewise.
59384         * tests/unictype/test-ctype_alpha.c: Likewise.
59385         * tests/unictype/test-ctype_blank.c: Likewise.
59386         * tests/unictype/test-ctype_cntrl.c: Likewise.
59387         * tests/unictype/test-ctype_digit.c: Likewise.
59388         * tests/unictype/test-ctype_graph.c: Likewise.
59389         * tests/unictype/test-ctype_lower.c: Likewise.
59390         * tests/unictype/test-ctype_print.c: Likewise.
59391         * tests/unictype/test-ctype_punct.c: Likewise.
59392         * tests/unictype/test-ctype_space.c: Likewise.
59393         * tests/unictype/test-ctype_upper.c: Likewise.
59394         * tests/unictype/test-ctype_xdigit.c: Likewise.
59395         * tests/unictype/test-decdigit.h: Likewise.
59396         * tests/unictype/test-digit.h: Likewise.
59397         * tests/unictype/test-numeric.h: Likewise.
59398         * tests/unictype/test-pr_alphabetic.c: Likewise.
59399         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
59400         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59401         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59402         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
59403         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59404         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
59405         * tests/unictype/test-pr_bidi_control.c: Likewise.
59406         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
59407         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
59408         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59409         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59410         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59411         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59412         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59413         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59414         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
59415         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
59416         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
59417         * tests/unictype/test-pr_combining.c: Likewise.
59418         * tests/unictype/test-pr_composite.c: Likewise.
59419         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59420         * tests/unictype/test-pr_dash.c: Likewise.
59421         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59422         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
59423         * tests/unictype/test-pr_deprecated.c: Likewise.
59424         * tests/unictype/test-pr_diacritic.c: Likewise.
59425         * tests/unictype/test-pr_extender.c: Likewise.
59426         * tests/unictype/test-pr_format_control.c: Likewise.
59427         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59428         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59429         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59430         * tests/unictype/test-pr_hex_digit.c: Likewise.
59431         * tests/unictype/test-pr_hyphen.c: Likewise.
59432         * tests/unictype/test-pr_id_continue.c: Likewise.
59433         * tests/unictype/test-pr_id_start.c: Likewise.
59434         * tests/unictype/test-pr_ideographic.c: Likewise.
59435         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
59436         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
59437         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59438         * tests/unictype/test-pr_iso_control.c: Likewise.
59439         * tests/unictype/test-pr_join_control.c: Likewise.
59440         * tests/unictype/test-pr_left_of_pair.c: Likewise.
59441         * tests/unictype/test-pr_line_separator.c: Likewise.
59442         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59443         * tests/unictype/test-pr_lowercase.c: Likewise.
59444         * tests/unictype/test-pr_math.c: Likewise.
59445         * tests/unictype/test-pr_non_break.c: Likewise.
59446         * tests/unictype/test-pr_not_a_character.c: Likewise.
59447         * tests/unictype/test-pr_numeric.c: Likewise.
59448         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59449         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
59450         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
59451         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59452         * tests/unictype/test-pr_other_id_start.c: Likewise.
59453         * tests/unictype/test-pr_other_lowercase.c: Likewise.
59454         * tests/unictype/test-pr_other_math.c: Likewise.
59455         * tests/unictype/test-pr_other_uppercase.c: Likewise.
59456         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
59457         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
59458         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
59459         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
59460         * tests/unictype/test-pr_private_use.c: Likewise.
59461         * tests/unictype/test-pr_punctuation.c: Likewise.
59462         * tests/unictype/test-pr_quotation_mark.c: Likewise.
59463         * tests/unictype/test-pr_radical.c: Likewise.
59464         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59465         * tests/unictype/test-pr_soft_dotted.c: Likewise.
59466         * tests/unictype/test-pr_space.c: Likewise.
59467         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59468         * tests/unictype/test-pr_titlecase.c: Likewise.
59469         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59470         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59471         * tests/unictype/test-pr_uppercase.c: Likewise.
59472         * tests/unictype/test-pr_variation_selector.c: Likewise.
59473         * tests/unictype/test-pr_white_space.c: Likewise.
59474         * tests/unictype/test-pr_xid_continue.c: Likewise.
59475         * tests/unictype/test-pr_xid_start.c: Likewise.
59476         * tests/unictype/test-pr_zero_width.c: Likewise.
59477         * tests/unictype/test-sy_c_whitespace.c: Likewise.
59478         * tests/unictype/test-sy_java_whitespace.c: Likewise.
59479
59480 2007-11-12  Bruno Haible  <bruno@clisp.org>
59481
59482         Unicode character classification functions.
59483         * lib/unictype.h: New file.
59484         * modules/unictype/base: New file.
59485         * modules/unictype/category-L: New file.
59486         * modules/unictype/category-Lu: New file.
59487         * modules/unictype/category-Ll: New file.
59488         * modules/unictype/category-Lt: New file.
59489         * modules/unictype/category-Lm: New file.
59490         * modules/unictype/category-Lo: New file.
59491         * modules/unictype/category-M: New file.
59492         * modules/unictype/category-Mn: New file.
59493         * modules/unictype/category-Mc: New file.
59494         * modules/unictype/category-Me: New file.
59495         * modules/unictype/category-N: New file.
59496         * modules/unictype/category-Nd: New file.
59497         * modules/unictype/category-Nl: New file.
59498         * modules/unictype/category-No: New file.
59499         * modules/unictype/category-P: New file.
59500         * modules/unictype/category-Pc: New file.
59501         * modules/unictype/category-Pd: New file.
59502         * modules/unictype/category-Ps: New file.
59503         * modules/unictype/category-Pe: New file.
59504         * modules/unictype/category-Pi: New file.
59505         * modules/unictype/category-Pf: New file.
59506         * modules/unictype/category-Po: New file.
59507         * modules/unictype/category-S: New file.
59508         * modules/unictype/category-Sm: New file.
59509         * modules/unictype/category-Sc: New file.
59510         * modules/unictype/category-Sk: New file.
59511         * modules/unictype/category-So: New file.
59512         * modules/unictype/category-Z: New file.
59513         * modules/unictype/category-Zs: New file.
59514         * modules/unictype/category-Zl: New file.
59515         * modules/unictype/category-Zp: New file.
59516         * modules/unictype/category-C: New file.
59517         * modules/unictype/category-Cc: New file.
59518         * modules/unictype/category-Cf: New file.
59519         * modules/unictype/category-Cs: New file.
59520         * modules/unictype/category-Co: New file.
59521         * modules/unictype/category-Cn: New file.
59522         * modules/unictype/category-or: New file.
59523         * modules/unictype/category-of: New file.
59524         * modules/unictype/category-test: New file.
59525         * modules/unictype/category-test-withtable: New file.
59526         * modules/unictype/category-byname: New file.
59527         * modules/unictype/category-none: New file.
59528         * modules/unictype/category-and: New file.
59529         * modules/unictype/category-and-not: New file.
59530         * modules/unictype/category-name: New file.
59531         * modules/unictype/combining-class: New file.
59532         * modules/unictype/category-all: New file.
59533         * modules/unictype/bidicategory-all: New file.
59534         * modules/unictype/bidicategory-byname: New file.
59535         * modules/unictype/bidicategory-name: New file.
59536         * modules/unictype/bidicategory-of: New file.
59537         * modules/unictype/bidicategory-test: New file.
59538         * modules/unictype/decimal-digit: New file.
59539         * modules/unictype/digit: New file.
59540         * modules/unictype/numeric: New file.
59541         * modules/unictype/mirror: New file.
59542         * modules/unictype/property-white-space: New file.
59543         * modules/unictype/property-alphabetic: New file.
59544         * modules/unictype/property-other-alphabetic: New file.
59545         * modules/unictype/property-not-a-character: New file.
59546         * modules/unictype/property-default-ignorable-code-point: New file.
59547         * modules/unictype/property-other-default-ignorable-code-point: New
59548         file.
59549         * modules/unictype/property-deprecated: New file.
59550         * modules/unictype/property-logical-order-exception: New file.
59551         * modules/unictype/property-variation-selector: New file.
59552         * modules/unictype/property-private-use: New file.
59553         * modules/unictype/property-unassigned-code-value: New file.
59554         * modules/unictype/property-uppercase: New file.
59555         * modules/unictype/property-other-uppercase: New file.
59556         * modules/unictype/property-lowercase: New file.
59557         * modules/unictype/property-other-lowercase: New file.
59558         * modules/unictype/property-titlecase: New file.
59559         * modules/unictype/property-soft-dotted: New file.
59560         * modules/unictype/property-id-start: New file.
59561         * modules/unictype/property-other-id-start: New file.
59562         * modules/unictype/property-id-continue: New file.
59563         * modules/unictype/property-other-id-continue: New file.
59564         * modules/unictype/property-xid-start: New file.
59565         * modules/unictype/property-xid-continue: New file.
59566         * modules/unictype/property-pattern-white-space: New file.
59567         * modules/unictype/property-pattern-syntax: New file.
59568         * modules/unictype/property-join-control: New file.
59569         * modules/unictype/property-grapheme-base: New file.
59570         * modules/unictype/property-grapheme-extend: New file.
59571         * modules/unictype/property-other-grapheme-extend: New file.
59572         * modules/unictype/property-grapheme-link: New file.
59573         * modules/unictype/property-bidi-control: New file.
59574         * modules/unictype/property-bidi-left-to-right: New file.
59575         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59576         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59577         * modules/unictype/property-bidi-european-digit: New file.
59578         * modules/unictype/property-bidi-eur-num-separator: New file.
59579         * modules/unictype/property-bidi-eur-num-terminator: New file.
59580         * modules/unictype/property-bidi-arabic-digit: New file.
59581         * modules/unictype/property-bidi-common-separator: New file.
59582         * modules/unictype/property-bidi-block-separator: New file.
59583         * modules/unictype/property-bidi-segment-separator: New file.
59584         * modules/unictype/property-bidi-whitespace: New file.
59585         * modules/unictype/property-bidi-non-spacing-mark: New file.
59586         * modules/unictype/property-bidi-boundary-neutral: New file.
59587         * modules/unictype/property-bidi-pdf: New file.
59588         * modules/unictype/property-bidi-embedding-or-override: New file.
59589         * modules/unictype/property-bidi-other-neutral: New file.
59590         * modules/unictype/property-hex-digit: New file.
59591         * modules/unictype/property-ascii-hex-digit: New file.
59592         * modules/unictype/property-ideographic: New file.
59593         * modules/unictype/property-unified-ideograph: New file.
59594         * modules/unictype/property-radical: New file.
59595         * modules/unictype/property-ids-binary-operator: New file.
59596         * modules/unictype/property-ids-trinary-operator: New file.
59597         * modules/unictype/property-zero-width: New file.
59598         * modules/unictype/property-space: New file.
59599         * modules/unictype/property-non-break: New file.
59600         * modules/unictype/property-iso-control: New file.
59601         * modules/unictype/property-format-control: New file.
59602         * modules/unictype/property-dash: New file.
59603         * modules/unictype/property-hyphen: New file.
59604         * modules/unictype/property-punctuation: New file.
59605         * modules/unictype/property-line-separator: New file.
59606         * modules/unictype/property-paragraph-separator: New file.
59607         * modules/unictype/property-quotation-mark: New file.
59608         * modules/unictype/property-sentence-terminal: New file.
59609         * modules/unictype/property-terminal-punctuation: New file.
59610         * modules/unictype/property-currency-symbol: New file.
59611         * modules/unictype/property-math: New file.
59612         * modules/unictype/property-other-math: New file.
59613         * modules/unictype/property-paired-punctuation: New file.
59614         * modules/unictype/property-left-of-pair: New file.
59615         * modules/unictype/property-combining: New file.
59616         * modules/unictype/property-composite: New file.
59617         * modules/unictype/property-decimal-digit: New file.
59618         * modules/unictype/property-numeric: New file.
59619         * modules/unictype/property-diacritic: New file.
59620         * modules/unictype/property-extender: New file.
59621         * modules/unictype/property-ignorable-control: New file.
59622         * modules/unictype/property-test: New file.
59623         * modules/unictype/property-byname: New file.
59624         * modules/unictype/property-all: New file.
59625         * modules/unictype/scripts: New file.
59626         * modules/unictype/scripts-all: New file.
59627         * modules/unictype/block-of: New file.
59628         * modules/unictype/block-test: New file.
59629         * modules/unictype/block-list: New file.
59630         * modules/unictype/block-all: New file.
59631         * modules/unictype/syntax-c-whitespace: New file.
59632         * modules/unictype/syntax-java-whitespace: New file.
59633         * modules/unictype/syntax-c-ident: New file.
59634         * modules/unictype/syntax-java-ident: New file.
59635         * modules/unictype/ctype-alnum: New file.
59636         * modules/unictype/ctype-alpha: New file.
59637         * modules/unictype/ctype-cntrl: New file.
59638         * modules/unictype/ctype-digit: New file.
59639         * modules/unictype/ctype-graph: New file.
59640         * modules/unictype/ctype-lower: New file.
59641         * modules/unictype/ctype-print: New file.
59642         * modules/unictype/ctype-punct: New file.
59643         * modules/unictype/ctype-space: New file.
59644         * modules/unictype/ctype-upper: New file.
59645         * modules/unictype/ctype-xdigit: New file.
59646         * modules/unictype/ctype-blank: New file.
59647         * lib/unictype/bidi_byname.c: New file.
59648         * lib/unictype/bidi_name.c: New file.
59649         * lib/unictype/bidi_of.c: New file.
59650         * lib/unictype/bidi_test.c: New file.
59651         * lib/unictype/bitmap.h: New file.
59652         * lib/unictype/block_test.c: New file.
59653         * lib/unictype/blocks.c: New file.
59654         * lib/unictype/categ_C.c: New file.
59655         * lib/unictype/categ_Cc.c: New file.
59656         * lib/unictype/categ_Cf.c: New file.
59657         * lib/unictype/categ_Cn.c: New file.
59658         * lib/unictype/categ_Co.c: New file.
59659         * lib/unictype/categ_Cs.c: New file.
59660         * lib/unictype/categ_L.c: New file.
59661         * lib/unictype/categ_Ll.c: New file.
59662         * lib/unictype/categ_Lm.c: New file.
59663         * lib/unictype/categ_Lo.c: New file.
59664         * lib/unictype/categ_Lt.c: New file.
59665         * lib/unictype/categ_Lu.c: New file.
59666         * lib/unictype/categ_M.c: New file.
59667         * lib/unictype/categ_Mc.c: New file.
59668         * lib/unictype/categ_Me.c: New file.
59669         * lib/unictype/categ_Mn.c: New file.
59670         * lib/unictype/categ_N.c: New file.
59671         * lib/unictype/categ_Nd.c: New file.
59672         * lib/unictype/categ_Nl.c: New file.
59673         * lib/unictype/categ_No.c: New file.
59674         * lib/unictype/categ_P.c: New file.
59675         * lib/unictype/categ_Pc.c: New file.
59676         * lib/unictype/categ_Pd.c: New file.
59677         * lib/unictype/categ_Pe.c: New file.
59678         * lib/unictype/categ_Pf.c: New file.
59679         * lib/unictype/categ_Pi.c: New file.
59680         * lib/unictype/categ_Po.c: New file.
59681         * lib/unictype/categ_Ps.c: New file.
59682         * lib/unictype/categ_S.c: New file.
59683         * lib/unictype/categ_Sc.c: New file.
59684         * lib/unictype/categ_Sk.c: New file.
59685         * lib/unictype/categ_Sm.c: New file.
59686         * lib/unictype/categ_So.c: New file.
59687         * lib/unictype/categ_Z.c: New file.
59688         * lib/unictype/categ_Zl.c: New file.
59689         * lib/unictype/categ_Zp.c: New file.
59690         * lib/unictype/categ_Zs.c: New file.
59691         * lib/unictype/categ_and.c: New file.
59692         * lib/unictype/categ_and_not.c: New file.
59693         * lib/unictype/categ_byname.c: New file.
59694         * lib/unictype/categ_name.c: New file.
59695         * lib/unictype/categ_none.c: New file.
59696         * lib/unictype/categ_of.c: New file.
59697         * lib/unictype/categ_or.c: New file.
59698         * lib/unictype/categ_test.c: New file.
59699         * lib/unictype/combining.c: New file.
59700         * lib/unictype/ctype_alnum.c: New file.
59701         * lib/unictype/ctype_alpha.c: New file.
59702         * lib/unictype/ctype_blank.c: New file.
59703         * lib/unictype/ctype_cntrl.c: New file.
59704         * lib/unictype/ctype_digit.c: New file.
59705         * lib/unictype/ctype_graph.c: New file.
59706         * lib/unictype/ctype_lower.c: New file.
59707         * lib/unictype/ctype_print.c: New file.
59708         * lib/unictype/ctype_punct.c: New file.
59709         * lib/unictype/ctype_space.c: New file.
59710         * lib/unictype/ctype_upper.c: New file.
59711         * lib/unictype/ctype_xdigit.c: New file.
59712         * lib/unictype/decdigit.c: New file.
59713         * lib/unictype/digit.c: New file.
59714         * lib/unictype/identsyntaxmap.h: New file.
59715         * lib/unictype/mirror.c: New file.
59716         * lib/unictype/numeric.c: New file.
59717         * lib/unictype/pr_alphabetic.c: New file.
59718         * lib/unictype/pr_ascii_hex_digit.c: New file.
59719         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59720         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59721         * lib/unictype/pr_bidi_block_separator.c: New file.
59722         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59723         * lib/unictype/pr_bidi_common_separator.c: New file.
59724         * lib/unictype/pr_bidi_control.c: New file.
59725         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59726         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59727         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59728         * lib/unictype/pr_bidi_european_digit.c: New file.
59729         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59730         * lib/unictype/pr_bidi_left_to_right.c: New file.
59731         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59732         * lib/unictype/pr_bidi_other_neutral.c: New file.
59733         * lib/unictype/pr_bidi_pdf.c: New file.
59734         * lib/unictype/pr_bidi_segment_separator.c: New file.
59735         * lib/unictype/pr_bidi_whitespace.c: New file.
59736         * lib/unictype/pr_byname.c: New file.
59737         * lib/unictype/pr_byname.gperf: New file.
59738         * lib/unictype/pr_combining.c: New file.
59739         * lib/unictype/pr_composite.c: New file.
59740         * lib/unictype/pr_currency_symbol.c: New file.
59741         * lib/unictype/pr_dash.c: New file.
59742         * lib/unictype/pr_decimal_digit.c: New file.
59743         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59744         * lib/unictype/pr_deprecated.c: New file.
59745         * lib/unictype/pr_diacritic.c: New file.
59746         * lib/unictype/pr_extender.c: New file.
59747         * lib/unictype/pr_format_control.c: New file.
59748         * lib/unictype/pr_grapheme_base.c: New file.
59749         * lib/unictype/pr_grapheme_extend.c: New file.
59750         * lib/unictype/pr_grapheme_link.c: New file.
59751         * lib/unictype/pr_hex_digit.c: New file.
59752         * lib/unictype/pr_hyphen.c: New file.
59753         * lib/unictype/pr_id_continue.c: New file.
59754         * lib/unictype/pr_id_start.c: New file.
59755         * lib/unictype/pr_ideographic.c: New file.
59756         * lib/unictype/pr_ids_binary_operator.c: New file.
59757         * lib/unictype/pr_ids_trinary_operator.c: New file.
59758         * lib/unictype/pr_ignorable_control.c: New file.
59759         * lib/unictype/pr_iso_control.c: New file.
59760         * lib/unictype/pr_join_control.c: New file.
59761         * lib/unictype/pr_left_of_pair.c: New file.
59762         * lib/unictype/pr_line_separator.c: New file.
59763         * lib/unictype/pr_logical_order_exception.c: New file.
59764         * lib/unictype/pr_lowercase.c: New file.
59765         * lib/unictype/pr_math.c: New file.
59766         * lib/unictype/pr_non_break.c: New file.
59767         * lib/unictype/pr_not_a_character.c: New file.
59768         * lib/unictype/pr_numeric.c: New file.
59769         * lib/unictype/pr_other_alphabetic.c: New file.
59770         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59771         * lib/unictype/pr_other_grapheme_extend.c: New file.
59772         * lib/unictype/pr_other_id_continue.c: New file.
59773         * lib/unictype/pr_other_id_start.c: New file.
59774         * lib/unictype/pr_other_lowercase.c: New file.
59775         * lib/unictype/pr_other_math.c: New file.
59776         * lib/unictype/pr_other_uppercase.c: New file.
59777         * lib/unictype/pr_paired_punctuation.c: New file.
59778         * lib/unictype/pr_paragraph_separator.c: New file.
59779         * lib/unictype/pr_pattern_syntax.c: New file.
59780         * lib/unictype/pr_pattern_white_space.c: New file.
59781         * lib/unictype/pr_private_use.c: New file.
59782         * lib/unictype/pr_punctuation.c: New file.
59783         * lib/unictype/pr_quotation_mark.c: New file.
59784         * lib/unictype/pr_radical.c: New file.
59785         * lib/unictype/pr_sentence_terminal.c: New file.
59786         * lib/unictype/pr_soft_dotted.c: New file.
59787         * lib/unictype/pr_space.c: New file.
59788         * lib/unictype/pr_terminal_punctuation.c: New file.
59789         * lib/unictype/pr_test.c: New file.
59790         * lib/unictype/pr_titlecase.c: New file.
59791         * lib/unictype/pr_unassigned_code_value.c: New file.
59792         * lib/unictype/pr_unified_ideograph.c: New file.
59793         * lib/unictype/pr_uppercase.c: New file.
59794         * lib/unictype/pr_variation_selector.c: New file.
59795         * lib/unictype/pr_white_space.c: New file.
59796         * lib/unictype/pr_xid_continue.c: New file.
59797         * lib/unictype/pr_xid_start.c: New file.
59798         * lib/unictype/pr_zero_width.c: New file.
59799         * lib/unictype/scripts.c: New file.
59800         * lib/unictype/sy_c_ident.c: New file.
59801         * lib/unictype/sy_c_whitespace.c: New file.
59802         * lib/unictype/sy_java_ident.c: New file.
59803         * lib/unictype/sy_java_whitespace.c: New file.
59804
59805         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59806         Unicode 5.0.0.
59807         * lib/unictype/blocks.h: Likewise.
59808         * lib/unictype/categ_C.h: Likewise.
59809         * lib/unictype/categ_Cc.h: Likewise.
59810         * lib/unictype/categ_Cf.h: Likewise.
59811         * lib/unictype/categ_Cn.h: Likewise.
59812         * lib/unictype/categ_Co.h: Likewise.
59813         * lib/unictype/categ_Cs.h: Likewise.
59814         * lib/unictype/categ_L.h: Likewise.
59815         * lib/unictype/categ_Ll.h: Likewise.
59816         * lib/unictype/categ_Lm.h: Likewise.
59817         * lib/unictype/categ_Lo.h: Likewise.
59818         * lib/unictype/categ_Lt.h: Likewise.
59819         * lib/unictype/categ_Lu.h: Likewise.
59820         * lib/unictype/categ_M.h: Likewise.
59821         * lib/unictype/categ_Mc.h: Likewise.
59822         * lib/unictype/categ_Me.h: Likewise.
59823         * lib/unictype/categ_Mn.h: Likewise.
59824         * lib/unictype/categ_N.h: Likewise.
59825         * lib/unictype/categ_Nd.h: Likewise.
59826         * lib/unictype/categ_Nl.h: Likewise.
59827         * lib/unictype/categ_No.h: Likewise.
59828         * lib/unictype/categ_P.h: Likewise.
59829         * lib/unictype/categ_Pc.h: Likewise.
59830         * lib/unictype/categ_Pd.h: Likewise.
59831         * lib/unictype/categ_Pe.h: Likewise.
59832         * lib/unictype/categ_Pf.h: Likewise.
59833         * lib/unictype/categ_Pi.h: Likewise.
59834         * lib/unictype/categ_Po.h: Likewise.
59835         * lib/unictype/categ_Ps.h: Likewise.
59836         * lib/unictype/categ_S.h: Likewise.
59837         * lib/unictype/categ_Sc.h: Likewise.
59838         * lib/unictype/categ_Sk.h: Likewise.
59839         * lib/unictype/categ_Sm.h: Likewise.
59840         * lib/unictype/categ_So.h: Likewise.
59841         * lib/unictype/categ_Z.h: Likewise.
59842         * lib/unictype/categ_Zl.h: Likewise.
59843         * lib/unictype/categ_Zp.h: Likewise.
59844         * lib/unictype/categ_Zs.h: Likewise.
59845         * lib/unictype/categ_of.h: Likewise.
59846         * lib/unictype/combining.h: Likewise.
59847         * lib/unictype/ctype_alnum.h: Likewise.
59848         * lib/unictype/ctype_alpha.h: Likewise.
59849         * lib/unictype/ctype_blank.h: Likewise.
59850         * lib/unictype/ctype_cntrl.h: Likewise.
59851         * lib/unictype/ctype_digit.h: Likewise.
59852         * lib/unictype/ctype_graph.h: Likewise.
59853         * lib/unictype/ctype_lower.h: Likewise.
59854         * lib/unictype/ctype_print.h: Likewise.
59855         * lib/unictype/ctype_punct.h: Likewise.
59856         * lib/unictype/ctype_space.h: Likewise.
59857         * lib/unictype/ctype_upper.h: Likewise.
59858         * lib/unictype/ctype_xdigit.h: Likewise.
59859         * lib/unictype/decdigit.h: Likewise.
59860         * lib/unictype/digit.h: Likewise.
59861         * lib/unictype/mirror.h: Likewise.
59862         * lib/unictype/numeric.h: Likewise.
59863         * lib/unictype/pr_alphabetic.h: Likewise.
59864         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59865         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59866         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59867         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59868         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59869         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59870         * lib/unictype/pr_bidi_control.h: Likewise.
59871         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59872         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59873         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59874         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59875         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59876         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59877         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59878         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59879         * lib/unictype/pr_bidi_pdf.h: Likewise.
59880         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59881         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59882         * lib/unictype/pr_combining.h: Likewise.
59883         * lib/unictype/pr_composite.h: Likewise.
59884         * lib/unictype/pr_currency_symbol.h: Likewise.
59885         * lib/unictype/pr_dash.h: Likewise.
59886         * lib/unictype/pr_decimal_digit.h: Likewise.
59887         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59888         * lib/unictype/pr_deprecated.h: Likewise.
59889         * lib/unictype/pr_diacritic.h: Likewise.
59890         * lib/unictype/pr_extender.h: Likewise.
59891         * lib/unictype/pr_format_control.h: Likewise.
59892         * lib/unictype/pr_grapheme_base.h: Likewise.
59893         * lib/unictype/pr_grapheme_extend.h: Likewise.
59894         * lib/unictype/pr_grapheme_link.h: Likewise.
59895         * lib/unictype/pr_hex_digit.h: Likewise.
59896         * lib/unictype/pr_hyphen.h: Likewise.
59897         * lib/unictype/pr_id_continue.h: Likewise.
59898         * lib/unictype/pr_id_start.h: Likewise.
59899         * lib/unictype/pr_ideographic.h: Likewise.
59900         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59901         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59902         * lib/unictype/pr_ignorable_control.h: Likewise.
59903         * lib/unictype/pr_iso_control.h: Likewise.
59904         * lib/unictype/pr_join_control.h: Likewise.
59905         * lib/unictype/pr_left_of_pair.h: Likewise.
59906         * lib/unictype/pr_line_separator.h: Likewise.
59907         * lib/unictype/pr_logical_order_exception.h: Likewise.
59908         * lib/unictype/pr_lowercase.h: Likewise.
59909         * lib/unictype/pr_math.h: Likewise.
59910         * lib/unictype/pr_non_break.h: Likewise.
59911         * lib/unictype/pr_not_a_character.h: Likewise.
59912         * lib/unictype/pr_numeric.h: Likewise.
59913         * lib/unictype/pr_other_alphabetic.h: Likewise.
59914         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59915         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59916         * lib/unictype/pr_other_id_continue.h: Likewise.
59917         * lib/unictype/pr_other_id_start.h: Likewise.
59918         * lib/unictype/pr_other_lowercase.h: Likewise.
59919         * lib/unictype/pr_other_math.h: Likewise.
59920         * lib/unictype/pr_other_uppercase.h: Likewise.
59921         * lib/unictype/pr_paired_punctuation.h: Likewise.
59922         * lib/unictype/pr_paragraph_separator.h: Likewise.
59923         * lib/unictype/pr_pattern_syntax.h: Likewise.
59924         * lib/unictype/pr_pattern_white_space.h: Likewise.
59925         * lib/unictype/pr_private_use.h: Likewise.
59926         * lib/unictype/pr_punctuation.h: Likewise.
59927         * lib/unictype/pr_quotation_mark.h: Likewise.
59928         * lib/unictype/pr_radical.h: Likewise.
59929         * lib/unictype/pr_sentence_terminal.h: Likewise.
59930         * lib/unictype/pr_soft_dotted.h: Likewise.
59931         * lib/unictype/pr_space.h: Likewise.
59932         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59933         * lib/unictype/pr_titlecase.h: Likewise.
59934         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59935         * lib/unictype/pr_unified_ideograph.h: Likewise.
59936         * lib/unictype/pr_uppercase.h: Likewise.
59937         * lib/unictype/pr_variation_selector.h: Likewise.
59938         * lib/unictype/pr_white_space.h: Likewise.
59939         * lib/unictype/pr_xid_continue.h: Likewise.
59940         * lib/unictype/pr_xid_start.h: Likewise.
59941         * lib/unictype/pr_zero_width.h: Likewise.
59942         * lib/unictype/scripts.h: Likewise.
59943         * lib/unictype/scripts_byname.gperf: Likewise.
59944         * lib/unictype/sy_c_ident.h: Likewise.
59945         * lib/unictype/sy_c_whitespace.h: Likewise.
59946         * lib/unictype/sy_java_ident.h: Likewise.
59947         * lib/unictype/sy_java_whitespace.h: Likewise.
59948
59949         * lib/unictype/Makefile: New file.
59950         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
59951         glibc.
59952         * lib/unictype/3level.h: New file, copied from glibc.
59953         * lib/unictype/3levelbit.h: New file.
59954
59955 2007-11-11  Bruno Haible  <bruno@clisp.org>
59956
59957         * modules/gperf: New file.
59958         * modules/iconv_open (Depends-on): Add it.
59959         (Makefile.am): Remove the GPERF definition.
59960
59961 2007-11-11  Bruno Haible  <bruno@clisp.org>
59962
59963         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
59964         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
59965
59966 2007-11-11  Bruno Haible  <bruno@clisp.org>
59967
59968         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
59969         (usage): Remove function.
59970
59971 2007-11-11  Bruno Haible  <bruno@clisp.org>
59972
59973         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
59974         gl_FUNC_CEILF_LIBS.
59975         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
59976         gl_FUNC_CEIL_LIBS.
59977         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
59978         gl_FUNC_CEILL_LIBS.
59979         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
59980         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
59981         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
59982
59983 2007-11-11  Bruno Haible  <bruno@clisp.org>
59984
59985         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
59986         roundf were declared but do not exist on functions.
59987         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
59988         roundl were declared but do not exist on functions.
59989         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
59990         HAVE_FLOORL_AND_CEILL, respectively.
59991         Needed for Sun C on Solaris 10.
59992
59993 2007-11-11  Bruno Haible  <bruno@clisp.org>
59994
59995         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
59996         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
59997         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
59998         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
59999         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60000         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60001         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60002         HAVE_DECL_ROUNDF.
60003         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60004         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60006         of HAVE_DECL_ROUND*.
60007         * modules/math (Makefile.am): Update.
60008
60009 2007-11-10  Bruno Haible  <bruno@clisp.org>
60010
60011         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60012         ptrdiff_t as m4/intl.m4.
60013
60014 2007-11-10  Jim Meyering  <meyering@redhat.com>
60015
60016         Avoid link failure for the argmatch test.
60017         * tests/test-argmatch.c (usage): Define function to avoid a link
60018         failure: argmatch_die requires a usage function.
60019
60020 2007-11-09  Bruno Haible  <bruno@clisp.org>
60021
60022         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60023         * doc/functions/vsnprintf.texi: Likewise.
60024         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60025         with a size argument < 2.
60026
60027 2007-11-09  Bruno Haible  <bruno@clisp.org>
60028
60029         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60030         buffer. Fixes an inefficiency introduced on 2007-11-03.
60031
60032 2007-11-09  Bruno Haible  <bruno@clisp.org>
60033
60034         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60035         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60036
60037 2007-11-08  Jim Meyering  <meyering@redhat.com>
60038
60039         Change cache variable name prefix "jm_" to "gl_" everywhere.
60040         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60041         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60042         * m4/uptime.m4: s/gl_/jm_/
60043
60044 2007-11-07  Bruno Haible  <bruno@clisp.org>
60045
60046         Update to GNU gettext 0.17.
60047         * m4/intl.m4: Update to GNU gettext 0.17.
60048         * m4/po.m4: Likewise.
60049         * modules/gettext (Files): Remove m4/ulonglong.m4.
60050         (configure.ac): Require gettext infrastructure from version 0.17.
60051
60052 2007-11-06  Bruno Haible  <bruno@clisp.org>
60053
60054         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60055         symbolic values are not defined in a public header.
60056         * lib/freadable.c (freadable) [QNX]: Likewise.
60057         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60058         * lib/freading.c (freading) [QNX]: Likewise.
60059         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60060         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60061         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60062         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60063         Reported by Alain Magloire.
60064
60065         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60066
60067 2007-11-05  Bruno Haible  <bruno@clisp.org>
60068
60069         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60070         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60071         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60072         Reported by Eric Blake.
60073
60074 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60075             Bruno Haible  <bruno@clisp.org>
60076
60077         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60078         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60079         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60080         (malloc): Undefine also before including <stdlib.h>.
60081         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60082         Needed on OSF/1 4.0.
60083
60084 2007-11-05  Jim Meyering  <meyering@redhat.com>
60085
60086         git-version-gen: sync from coreutils.
60087         * build-aux/git-version-gen: Add comments.
60088         Change the first '-' to '.' in the snapshot version string,
60089         e.g., 6.9-377-08144 -> 6.9.377-08144
60090         Remove first parameter.
60091         Don't declare a version "-dirty" merely because a time
60092         stamp has changed.
60093
60094 2007-11-04  Bruno Haible  <bruno@clisp.org>
60095
60096         * lib/lock.h: Protect all macro definitions containing an 'if'
60097         statement through a "do { ... } while (0)".
60098         * lib/tls.h: Likewise.
60099
60100 2007-11-04  Bruno Haible  <bruno@clisp.org>
60101
60102         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60103
60104 2007-11-04  Bruno Haible  <bruno@clisp.org>
60105
60106         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60107         * modules/fprintf-posix (Depends-on): Add nocrash.
60108         * modules/snprintf-posix (Depends-on): Likewise.
60109         * modules/sprintf-posix (Depends-on): Likewise.
60110         * modules/vasnprintf-posix (Depends-on): Likewise.
60111         * modules/vasprintf-posix (Depends-on): Likewise.
60112         * modules/vfprintf-posix (Depends-on): Likewise.
60113         * modules/vsnprintf-posix (Depends-on): Likewise.
60114         * modules/vsprintf-posix (Depends-on): Likewise.
60115         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60116         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60117         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60118         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60119         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60120         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60121         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60122
60123 2007-11-04  Bruno Haible  <bruno@clisp.org>
60124
60125         * modules/nocrash: New file.
60126         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60127         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60128
60129 2007-11-04  Bruno Haible  <bruno@clisp.org>
60130
60131         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60132         precision handling.
60133         * tests/test-vasprintf-posix.c (test_function): Likewise.
60134         * tests/test-snprintf-posix.h (test_function): Likewise.
60135         * tests/test-sprintf-posix.h (test_function): Likewise.
60136
60137         Fix *printf behaviour for large precisions on mingw and BeOS.
60138         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60139         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60140         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60141         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60142         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60143         gl_PRINTF_PRECISION and test its result. Invoke
60144         gl_PREREQ_VASNPRINTF_PRECISION.
60145         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60146         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60147         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60148         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60149         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60150         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60151         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60152         * doc/functions/fprintf.texi: Update.
60153         * doc/functions/printf.texi: Update.
60154         * doc/functions/snprintf.texi: Update.
60155         * doc/functions/sprintf.texi: Update.
60156         * doc/functions/vfprintf.texi: Update.
60157         * doc/functions/vprintf.texi: Update.
60158         * doc/functions/vsnprintf.texi: Update.
60159         * doc/functions/vsprintf.texi: Update.
60160
60161 2007-11-04  Bruno Haible  <bruno@clisp.org>
60162
60163         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60164
60165 2007-11-04  Bruno Haible  <bruno@clisp.org>
60166
60167         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60168         Reported by Sylvain Beucler <beuc@gnu.org>.
60169
60170 2007-11-03  Bruno Haible  <bruno@clisp.org>
60171
60172         * tests/test-fprintf-posix2.sh: New file.
60173         * tests/test-fprintf-posix2.c: New file.
60174         * modules/fprintf-posix-tests (Files): Add them.
60175         (TESTS): Add test-fprintf-posix2.sh.
60176         (configure.ac): Check for getrlimit and setrlimit.
60177         (check_PROGRAMS): Add test-fprintf-posix2.
60178
60179         * tests/test-printf-posix2.sh: New file.
60180         * tests/test-printf-posix2.c: New file.
60181         * modules/printf-posix-tests (Files): Add them.
60182         (TESTS): Add test-printf-posix2.sh.
60183         (configure.ac): Check for getrlimit and setrlimit.
60184         (check_PROGRAMS): Add test-printf-posix2.
60185
60186         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60187         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60188         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60189         (decode_double): New function, copied from decode_long_double.
60190         (scale10_round_decimal_decoded): New function, extracted from
60191         scale10_round_decimal_long_double.
60192         (scale10_round_decimal_long_double): Use it.
60193         (scale10_round_decimal_double): New function.
60194         (floorlog10): New function.
60195         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60197         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60198         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60199         gl_PRINTF_ENOMEM and test its result. Invoke
60200         gl_PREREQ_VASNPRINTF_ENOMEM.
60201         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60202         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60203         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60204         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60205         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60206         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60207         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60208         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60209         * modules/snprintf-posix (Depends-on): Likewise.
60210         * modules/sprintf-posix (Depends-on): Likewise.
60211         * modules/vasnprintf-posix (Depends-on): Likewise.
60212         * modules/vasprintf-posix (Depends-on): Likewise.
60213         * modules/vfprintf-posix (Depends-on): Likewise.
60214         * modules/vsnprintf-posix (Depends-on): Likewise.
60215         * modules/vsprintf-posix (Depends-on): Likewise.
60216         * doc/functions/fprintf.texi: Update.
60217         * doc/functions/printf.texi: Update.
60218         * doc/functions/snprintf.texi: Update.
60219         * doc/functions/sprintf.texi: Update.
60220         * doc/functions/vfprintf.texi: Update.
60221         * doc/functions/vprintf.texi: Update.
60222         * doc/functions/vsnprintf.texi: Update.
60223         * doc/functions/vsprintf.texi: Update.
60224
60225 2007-11-03  Bruno Haible  <bruno@clisp.org>
60226
60227         * modules/frexp-nolibm-tests: New file.
60228
60229         * modules/frexp-nolibm: New file.
60230         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60231
60232 2007-11-03  Bruno Haible  <bruno@clisp.org>
60233
60234         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60235         value is C99 compliant.
60236         Needed for OSF/1 5.1.
60237
60238 2007-11-03  Bruno Haible  <bruno@clisp.org>
60239
60240         Fix out-of-memory handling of vasnprintf.
60241         * lib/printf-parse.c: Include <errno.h>.
60242         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60243         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60244         is already set.
60245
60246 2007-11-02  Eric Blake  <ebb9@byu.net>
60247
60248         Fix tests on cygwin.
60249         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60250
60251 2007-11-01  Bruno Haible  <bruno@clisp.org>
60252
60253         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60254         warning.
60255         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60256         needed for POSIX compatibility.
60257
60258 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60259
60260         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60261         for compatibility with GNU.
60262
60263 2007-11-01  Bruno Haible  <bruno@clisp.org>
60264
60265         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60266         (putenv): Renamed from rpl_putenv. Change argument type from
60267         'const char *' to 'char *'.
60268         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60269         of defining putenv in config.h, just set REPLACE_PUTENV.
60270         * modules/putenv (Depends-on): Add stdlib.
60271         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60272         (Include): Use <stdlib.h>.
60273         * lib/stdlib.in.h (putenv): New declaration.
60274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60275         REPLACE_PUTENV.
60276         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60277         REPLACE_PUTENV.
60278         Needed for MacOS X 10.5.0.
60279         Reported by Peter O'Gorman <peter@pogma.com>.
60280
60281 2007-11-01  Jim Meyering  <meyering@redhat.com>
60282
60283         Treat an empty date string exactly like "0".
60284         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60285         if the remaining date string (to be parsed) is empty, use "0".
60286         Reported by Mischa Molhoek and discussed in this thread:
60287         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60288
60289 2007-10-31  Bruno Haible  <bruno@clisp.org>
60290
60291         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60292         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60293         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60294         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60295         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60296         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60297
60298 2007-10-31  Bruno Haible  <bruno@clisp.org>
60299
60300         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60301         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60302         (AC_TYPE_LONG_LONG_INT): Use it.
60303         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60304         it as well.
60305         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60306         to m4/longlong.m4.
60307         * modules/stdint (Files): Remove m4/ulonglong.m4.
60308         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60309         m4/ulonglong.m4.
60310         * modules/strtoumax (Files): Likewise.
60311
60312 2007-10-30  Bruno Haible  <bruno@clisp.org>
60313
60314         * modules/xvasprintf-posix: New file.
60315         Suggested by Eric Blake.
60316
60317 2007-10-30  Bruno Haible  <bruno@clisp.org>
60318
60319         * modules/xprintf-posix-tests: New file.
60320         * tests/test-xprintf-posix.sh: New file.
60321         * tests/test-xprintf-posix.c: New file.
60322         * tests/test-xfprintf-posix.c: New file.
60323
60324         * modules/xprintf-posix: New file.
60325
60326 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60327
60328         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60329         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60330         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60331
60332 2007-10-29  Bruno Haible  <bruno@clisp.org>
60333
60334         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60335         contain the special marker '_cv_'.
60336         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60337         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60338         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60339         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60340         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60341         Reported by Ralf Wildenhues.
60342
60343 2007-10-29  Bruno Haible  <bruno@clisp.org>
60344
60345         * gnulib-tool (func_import): When --lgpl is not specified, set
60346         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60347         GPLv3.
60348         Reported by Simon Josefsson.
60349
60350 2007-10-28  Bruno Haible  <bruno@clisp.org>
60351
60352         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60353         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60354         HAVE_DECL_ISFINITE.
60355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60356         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60357         HAVE_DECL_ISFINITE.
60358
60359 2007-10-28  Bruno Haible  <bruno@clisp.org>
60360
60361         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60362         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60363
60364 2007-10-28  Bruno Haible  <bruno@clisp.org>
60365
60366         Fix link errors with Sun C 5.0 on Solaris 10.
60367         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60368         function is declared but not present in the compiler's libm.
60369         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60370         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60371         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60372         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60373         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60374         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60375         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60377         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60378         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60379         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60380         HAVE_DECL_FLOORL.
60381
60382 2007-10-28  Bruno Haible  <bruno@clisp.org>
60383
60384         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60385         gl_FUNC_FLOORL. Cache the result.
60386         (gl_FUNC_FLOORL): Use it.
60387         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60388         gl_FUNC_CEILL. Cache the result.
60389         (gl_FUNC_CEILL): Use it.
60390
60391         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60392         gl_FUNC_FLOOR. Cache the result.
60393         (gl_FUNC_FLOOR): Use it.
60394         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
60395         gl_FUNC_CEIL. Cache the result.
60396         (gl_FUNC_CEIL): Use it.
60397
60398         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
60399         gl_FUNC_FLOORF. Cache the result.
60400         (gl_FUNC_FLOORF): Use it.
60401         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
60402         gl_FUNC_CEILF. Cache the result.
60403         (gl_FUNC_CEILF): Use it.
60404
60405 2007-10-28  Bruno Haible  <bruno@clisp.org>
60406
60407         * gnulib-tool: Allow specifying the LGPL version number through
60408         --lgpl=2 or --lgpl=3.
60409         (func_usage): Document --lgpl with argument.
60410         Handle --lgpl=... arguments.
60411         (func_import): Recognize also gl_LGPL calls with an argument. When
60412         --lgpl=2 is used and the module's license is just LGPL, report an
60413         error. Set sed_transform_lib_file according to the lgpl variable. In
60414         the generated files, use --lgpl or gl_LGPL invocations with argument,
60415         if necessary.
60416         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
60417         an LGPv2+ license.
60418         * doc/gnulib-tool.texi (Modified imports): Update explanation of
60419         gl_LGPL macro.
60420
60421 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60422             Bruno Haible  <bruno@clisp.org>
60423
60424         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
60425         (u16_uctomb_aux): Likewise.
60426         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
60427         !HAVE_INLINE.
60428         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
60429
60430 2007-10-28  Bruno Haible  <bruno@clisp.org>
60431
60432         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
60433         Invoke AM_GETTEXT_OPTION if it exists.
60434         * modules/vasprintf: Likewise.
60435         * modules/verror: Likewise.
60436         * modules/xprintf: Likewise.
60437         * modules/xvasprintf: Likewise.
60438
60439 2007-10-27  Ben Pfaff  <blp@gnu.org>
60440
60441         * lib/math.in.h: Define isfinite macro and prototypes for
60442         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
60443         implementations.
60444         * m4/math_h.m4: New substitutions for isfinite module.
60445         * lib/isfinite.c: New file.
60446         * m4/isfinite.m4: New file.
60447         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
60448         * modules/isfinite: New file.
60449         * modules/isfinite-tests: New file.
60450         * tests/tests-isfinite.c: New file.
60451         * doc/functions/isfinite.texi: Mention isfinite module.
60452         * MODULES.html.sh: Mention new module.
60453
60454 2007-10-27  Ben Pfaff  <blp@gnu.org>
60455
60456         Ralf Wildenhues reported that Tru64 4.0D declares the round
60457         functions but does not have definitions.
60458         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
60459         cannot be found in any library, set the output variable to
60460         "missing" instead of "".
60461         * m4/round.m4: Also use our substitute if we cannot find round in
60462         any library, even if it is declared.
60463         * m4/roundf.m4: Likewise for roundf.
60464         * m4/roundl.m4: Likewise for roundl.
60465         * lib/math.in.h: Undefine roundf, round, roundl before defining
60466         their replacements, to allow for hypothetical systems where these
60467         may be defined as macros but not available in libraries.
60468
60469 2007-10-27  Bruno Haible  <bruno@clisp.org>
60470
60471         * doc/gnulib.texi: Invoke @firstparagraphindent.
60472         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
60473         changes in gnulib.
60474         (Source changes): New section.
60475
60476 2007-10-26  Bruno Haible  <bruno@clisp.org>
60477
60478         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
60479         borrowed from autoconf.
60480
60481 2007-10-26  Bruno Haible  <bruno@clisp.org>
60482
60483         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
60484         strerror returned the empty string. Needed on HP-UX 11.00.
60485
60486 2007-10-24  Micah Cowan  <micah@cowan.name>
60487
60488         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
60489         * build-aux/bootstrap: Remove support for now-unnecessary option,
60490         --cvs-user, and envvars CVS_USER, CVS_RSH.
60491
60492 2007-10-24  Jim Meyering  <meyering@redhat.com>
60493
60494         Avoid diagnostics from sha1sum when there is no cached checksum.
60495         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
60496         if the po.s1 file hasn't been created yet.
60497
60498         * build-aux/bootstrap: Sync from coreutils:
60499         2007-10-24  Jim Meyering  <meyering@redhat.com>
60500         Get gnulib from the git repository, not from an obsolete cvs one.
60501         * build-aux/bootstrap: Suggestion from Micah Cowan.
60502         2007-10-04  Jim Meyering  <jim@meyering.net>
60503         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
60504         (update_po_files): Work also when there are no .po files in po/.
60505
60506 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60507
60508         * README: Append ".git" to git and cg examples.
60509         Problem reported by Benoit Sigoure.
60510
60511 2007-10-23  Micah Cowan  <micah@cowan.name>
60512
60513         * users.txt: Add wget.
60514
60515 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60516
60517         Fix linking of some unistdio tests on FreeBSD.
60518         * modules/unistdio/u16-vsnprintf-tests
60519         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
60520         * modules/unistdio/u16-vsprintf-tests
60521         (test_u16_vsnprintf1_LDADD): Likewise.
60522         * modules/unistdio/u32-vsnprintf-tests
60523         (test_u32_vsnprintf1_LDADD): Likewise.
60524         * modules/unistdio/u32-vsprintf-tests
60525         (test_u32_vsprintf1_LDADD): Likewise.
60526         * modules/unistdio/u8-vsnprintf-tests
60527         (test_u8_vsnprintf1_LDADD): Likewise.
60528         * modules/unistdio/u8-vsprintf-tests
60529         (test_u8_vsprintf1_LDADD): Likewise.
60530         * modules/unistdio/ulc-vsnprintf-tests
60531         (test_ulc_vsnprintf1_LDADD): Likewise.
60532         * modules/unistdio/ulc-vsprintf-tests
60533         (test_ulc_vsprintf1_LDADD): Likewise.
60534
60535         Fix linking of some uniconv tests on FreeBSD.
60536         * modules/uniconv/u16-conv-from-enc-tests
60537         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60538         * modules/uniconv/u16-conv-to-enc-tests
60539         (test_u16_conv_to_enc_LDADD): Likewise.
60540         * modules/uniconv/u16-strconv-from-enc-tests
60541         (test_u16_strconv_from_enc_LDADD): Likewise.
60542         * modules/uniconv/u16-strconv-to-enc-tests
60543         (test_u16_strconv_to_enc_LDADD): Likewise.
60544         * modules/uniconv/u32-conv-from-enc-tests
60545         (test_u32_conv_from_enc_LDADD): Likewise.
60546         * modules/uniconv/u32-conv-to-enc-tests
60547         (test_u32_conv_to_enc_LDADD): Likewise.
60548         * modules/uniconv/u32-strconv-from-enc-tests
60549         (test_u32_strconv_from_enc_LDADD): Likewise.
60550         * modules/uniconv/u32-strconv-to-enc-tests
60551         (test_u32_strconv_to_enc_LDADD): Likewise.
60552         * modules/uniconv/u8-conv-from-enc-tests
60553         (test_u8_conv_from_enc_LDADD): Likewise.
60554         * modules/uniconv/u8-conv-to-enc-tests
60555         (test_u8_conv_to_enc_LDADD): Likewise.
60556         * modules/uniconv/u8-strconv-from-enc-tests
60557         (test_u8_strconv_from_enc_LDADD): Likewise.
60558         * modules/uniconv/u8-strconv-to-enc-tests
60559         (test_u8_strconv_to_enc_LDADD): Likewise.
60560
60561 2007-10-22  Bruno Haible  <bruno@clisp.org>
60562
60563         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60564         size.
60565
60566 2007-10-22  Eric Blake  <ebb9@byu.net>
60567
60568         Tweak x*printf documentation.
60569         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60570         variable name and comments.
60571         Suggested by Bruno Haible.
60572
60573 2007-10-22  Bruno Haible  <bruno@clisp.org>
60574
60575         * lib/acl.c (copy_acl): Fix file name in comment.
60576
60577 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60578
60579         Fix Tru64 problem with stdbool.h.
60580         * lib/stdbool.in.h (false, true):
60581         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60582         Don't declare as an enum in this situation; it runs afoul of Tru64.
60583         Problem reported by Steven M. Schweda in
60584         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60585
60586 2007-10-22  Eric Blake  <ebb9@byu.net>
60587
60588         Also wrap vf?printf.
60589         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60590         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60591         (xvprintf, xvfprintf): New functions.
60592
60593 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60594
60595         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60596         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60597
60598         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60599         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60600
60601 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60602
60603         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60604         by Bruno Haible.
60605
60606 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60607
60608         * lib/getloadavg.c
60609         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60610         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60611
60612         * tests/test-i-ring.c: Work for C89.
60613
60614 2007-10-22  Bruno Haible  <bruno@clisp.org>
60615
60616         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60617         -1u, in preprocessor expression, so that we don't test for the bug
60618         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60619         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60620
60621 2007-10-22  Eric Blake  <ebb9@byu.net>
60622
60623         * tests/test-yesno.sh: Silence stderr during test.
60624
60625 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60626
60627         * modules/crypto/gc-camellia: New file.
60628
60629         * m4/gc-camellia.m4: New file.
60630
60631         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60632
60633         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60634
60635 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60636
60637         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60638         --help to stdout.  Reported by sms@antinode.org (Steven
60639         M. Schweda).
60640
60641 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60642
60643         * users.txt: Fix link to libksba.
60644
60645 2007-10-21  Ben Pfaff  <blp@gnu.org>
60646
60647         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60648         round.c roundf implementation that depends on floorf and ceilf to
60649         be tested unconditionally.
60650
60651 2007-10-21  Ben Pfaff  <blp@gnu.org>
60652
60653         * m4/check-libm-func.m4: Removed.
60654         * m4/check-math-lib.m4: New file.
60655         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60656         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60657         definition and lack of AC_LIBOBJ([roundf]).
60658         * m4/roundl.m4: Ditto, and similarly for roundl.
60659         * modules/round: Reference new m4 file.
60660         * modules/roundf: Ditto.
60661         * modules/roundl: Ditto.
60662         * tests/test-round2.c (main): Use ROUND instead of round.
60663         Bug report from Bruno Haible.
60664
60665 2007-10-21  Bruno Haible  <bruno@clisp.org>
60666
60667         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60668         context.
60669
60670 2007-10-21  Bruno Haible  <bruno@clisp.org>
60671
60672         * tests/test-wcwidth.c (main): Allow negative result for some control
60673         characters.
60674
60675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60676         Needed on OSF/1 5.1.
60677
60678 2007-10-21  Bruno Haible  <bruno@clisp.org>
60679
60680         * tests/test-floorf1.c: Include isnanf.h.
60681         (main): Use isnanf() instead of isnan().
60682         * tests/test-ceilf1.c: Include isnanf.h.
60683         (main): Use isnanf() instead of isnan().
60684         * tests/test-truncf1.c: Include isnanf.h.
60685         (main): Use isnanf() instead of isnan().
60686         * tests/test-roundf1.c: Include isnanf.h.
60687         (main): Use isnanf() instead of isnan().
60688
60689 2007-10-21  Eric Blake  <ebb9@byu.net>
60690
60691         * users.txt: Update URL for m4.
60692
60693 2007-10-21  Bruno Haible  <bruno@clisp.org>
60694
60695         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60696
60697 2007-10-21  Bruno Haible  <bruno@clisp.org>
60698
60699         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60700         Git's management files if the CVS files are not present.
60701
60702 2007-10-20  Bruno Haible  <bruno@clisp.org>
60703
60704         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60705         gcc-3.4.x.
60706
60707 2007-10-20  Ben Pfaff  <blp@gnu.org>
60708
60709         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60710         implementations.
60711         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60712         * lib/round.c: New file.
60713         * lib/roundf.c: New file.
60714         * lib/roundl.c: New file.
60715         * m4/round.m4: New file.
60716         * m4/roundf.m4: New file.
60717         * m4/roundl.m4: New file.
60718         * m4/check-libm-func-m4: New file.
60719         * modules/math: Replace round, roundf, roundl related @VARS@ in
60720         math.in.h.
60721         * modules/round: New file.
60722         * modules/round-tests: New file.
60723         * modules/roundf: New file.
60724         * modules/roundf-tests: New file.
60725         * modules/roundl: New file.
60726         * modules/roundl-tests: New file.
60727         * tests/test-round1.c: New file.
60728         * tests/test-round2.c: New file.
60729         * tests/test-roundf1.c: New file.
60730         * tests/test-roundf2.c: New file.
60731         * tests/test-roundl.c: New file.
60732         * doc/functions/round.texi: Mention round module.
60733         * doc/functions/roundf.texi: Mention roundf module.
60734         * doc/functions/roundl.texi: Mention roundl module.
60735         * MODULES.html.sh: Mention new modules.
60736         Thanks to Bruno Haible for suggestions.
60737
60738 2007-10-20  Jim Meyering  <meyering@redhat.com>
60739
60740         * lib/xprintf.c: Include <config.h> unconditionally.
60741
60742         Change xprintf's license to GPL.
60743         * modules/xprintf (License): s/LGPL/GPL/, since this module
60744         depends on modules (exit and exitfail) which are GPL.
60745         Suggestion from Bruno Haible.
60746
60747         xprintf fixes.
60748         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60749         Use a clearer diagnostic.
60750         Patch from Bruno Haible.
60751
60752 2007-10-20  Bruno Haible  <bruno@clisp.org>
60753
60754         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60755         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60756         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60757
60758 2007-10-20  Bruno Haible  <bruno@clisp.org>
60759
60760         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60761         precision in the comparison result > x - 1 or similar.
60762         * tests/test-ceilf2.c (correct_result_p): Likewise.
60763         * tests/test-truncf2.c (correct_result_p): Likewise.
60764         * tests/test-trunc2.c (correct_result_p): Likewise.
60765         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60766
60767 2007-10-20  Bruno Haible  <bruno@clisp.org>
60768
60769         * modules/ceil: New file.
60770         * m4/ceil.m4: New file.
60771         * doc/functions/ceil.texi: Mention the 'ceil' module.
60772
60773 2007-10-20  Bruno Haible  <bruno@clisp.org>
60774
60775         * modules/floor: New file.
60776         * m4/floor.m4: New file.
60777         * doc/functions/floor.texi: Mention the 'floor' module.
60778
60779 2007-10-20  Bruno Haible  <bruno@clisp.org>
60780
60781         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60782         of %a.
60783         * modules/floorf-tests (Depends-on): Likewise.
60784         * modules/truncf-tests (Depends-on): Likewise.
60785         * modules/trunc-tests (Depends-on): Likewise.
60786         Reported by Ben Pfaff.
60787
60788 2007-10-19  Jim Meyering  <meyering@redhat.com>
60789
60790         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60791         Don't bother testing specific errno values.  Just test ferror.
60792
60793         New module: xprintf
60794         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60795
60796 2007-10-19  Bruno Haible  <bruno@clisp.org>
60797
60798         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60799         syntax.
60800         * modules/javaexec (Makefile.am): Likewise.
60801         * modules/relocatable-prog (Makefile.am): Likewise.
60802         Suggested by Jim Meyering.
60803
60804 2007-10-18  Bruno Haible  <bruno@clisp.org>
60805
60806         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60807         Reported by Jim Meyering.
60808
60809 2007-10-18  Eric Blake  <ebb9@byu.net>
60810
60811         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60812
60813 2007-10-18  Bruno Haible  <bruno@clisp.org>
60814
60815         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60816         the format string into writable memory. Needed in Fortify conditions.
60817
60818 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60819             Bruno Haible  <bruno@clisp.org>
60820
60821         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60822         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60823         * modules/trim (Depends-on): Add mbchar.
60824         (configure.ac): Add gl_FUNC_MBRTOWC.
60825         (Makefile.am): Augment lib_SOURCES.
60826
60827 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60828
60829         Modify glob.c to use fstatat and dirfd, to simplify it.
60830         Suggested by Eric Blake.
60831         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60832         Don't include <stdbool.h>; not used.
60833         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60834         (link_exists_p): Simplify implementation, since we can now assume
60835         dirfd and fstatat.
60836         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60837
60838 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60839
60840         * gnulib-tool (func_get_dependencies): Fix sed script to
60841         match only tests.
60842
60843 2007-10-17  Bruno Haible  <bruno@clisp.org>
60844
60845         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60846         allow locale names without encoding suffix.
60847         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60848         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60849
60850 2007-10-16  Bruno Haible  <bruno@clisp.org>
60851
60852         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60853         * lib/getgroups.c (getgroups): Likewise.
60854         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60855
60856 2007-10-16  Bruno Haible  <bruno@clisp.org>
60857
60858         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60859         * modules/malloc-posix (License): Likewise.
60860         * modules/realloc-posix (License): Likewise.
60861         * modules/calloc-posix (License): Likewise.
60862         * modules/intprops (License): Change from GPL to LGPL, with
60863         Paul Eggert's approval.
60864
60865 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60866
60867         Merge glibc changes into lib/glob.c.
60868
60869         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60870         2007-10-15 04:59:03 UTC.  Here are the changes:
60871
60872         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60873
60874         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60875
60876         * lib/glob.c: Add some branch prediction throughout.
60877
60878         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60879
60880         [BZ #5103]
60881         * lib/glob.c (glob): Recognize patterns starting \/.
60882
60883         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60884
60885         [BZ #3996]
60886         * lib/glob.c (attribute_hidden): Define if not defined.
60887         (glob): Unescape dirname, filename or username when needed and not
60888         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60889         is NULL.  Handle unescaped [ in pattern without closing ].
60890         Don't pass GLOB_CHECK down to recursive glob for directories.
60891         (__glob_pattern_type): New function.
60892         (__glob_pattern_p): Implement using __glob_pattern_type.
60893         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60894         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60895         Remove unreachable code.
60896
60897         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60898
60899         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60900         explain why there are no leaks.
60901
60902         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60903
60904         [BZ #3253]
60905         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
60906         time, rather allocate increasingly bigger arrays of pointers, if
60907         possible with alloca, if too large with malloc.
60908
60909 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60910
60911         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
60912         Problem reported by H.Merijn Brand in
60913         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
60914         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
60915         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60916
60917 2007-10-15  Bruno Haible  <bruno@clisp.org>
60918
60919         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
60920         with explicit rpl_ prefix.
60921         * lib/fopen.c (fopen): Likewise.
60922         * lib/freopen.c (freopen): Likewise.
60923         * lib/iconv.c (iconv): Likewise.
60924         * lib/iconv_close.c (iconv_close): Likewise.
60925
60926 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60927
60928         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
60929
60930 2007-10-15  Bruno Haible  <bruno@clisp.org>
60931
60932         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
60933         <stddef.h> instead of <stdlib.h> since we only need NULL.
60934         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60935
60936 2007-10-15  Bruno Haible  <bruno@clisp.org>
60937
60938         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
60939         Replace paragraph talking about LIBOBJS.
60940         Reported by Colin Watson <cjwatson@debian.org>.
60941
60942 2007-10-15  Bruno Haible  <bruno@clisp.org>
60943
60944         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
60945         <stdlib.h> before using NULL.
60946
60947 2007-10-15  Simon Josefsson  <simon@josefsson.org>
60948
60949         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
60950         Reported by Albert Chin <china@thewrittenword.com>.
60951
60952 2007-10-14  Bruno Haible  <bruno@clisp.org>
60953
60954         * modules/iconv_open-utf-tests: New file.
60955         * tests/test-iconv-utf.c: New file.
60956
60957         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
60958         * modules/iconv_open-utf: New file.
60959         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
60960         (iconv, iconv_close): New declarations.
60961         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
60962         be defined.
60963         (iconv_open): Add special handling of conversion between UTF-8 and
60964         UTF-{16,32}{BE,LE}.
60965         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
60966         * lib/iconv_close.c: New file.
60967         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
60968         gl_FUNC_ICONV_OPEN.
60969         (gl_FUNC_ICONV_OPEN): Use it.
60970         (gl_FUNC_ICONV_OPEN_UTF): New macro.
60971         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
60972         and REPLACE_ICONV_UTF.
60973         * modules/iconv_open (Depends-on): Add c-strcase.
60974         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
60975         ICONV_CONST.
60976         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
60977
60978 2007-10-13  Albert Chin  <china@thewrittenword.com>
60979             Bruno Haible  <bruno@clisp.org>
60980
60981         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
60982         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
60983
60984 2007-10-13  Bruno Haible  <bruno@clisp.org>
60985
60986         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
60987         defined, use the ISO C99 inline semantics.
60988         * lib/argp.h (ARGP_EI): Likewise.
60989
60990 2007-10-13  Bruno Haible  <bruno@clisp.org>
60991
60992         Handle 'inline' change in gcc 4.3.0.
60993         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
60994         argp_fmtstream_write, argp_fmtstream_set_lmargin,
60995         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
60996         argp_fmtstream_point): Disable 'extern' declaration if the function
60997         definition is going to be provided inline.
60998         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
60999         semantics, not the ISO C99 inline semantics.
61000         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61001         'extern' declaration if the function definition is going to be provided
61002         inline.
61003         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61004         the GNU C inline semantics, not the ISO C99 inline semantics. With
61005         GCC 4.2, avoid a warning.
61006
61007 2007-10-13  Bruno Haible  <bruno@clisp.org>
61008
61009         * lib/freading.h (freading): Enable the use of __freading for
61010         glibc >= 2.7.
61011         * lib/freading.c (freading): Likewise.
61012
61013 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61014
61015         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61016         "warning: C99 inline functions are not supported; using GNU89".
61017
61018 2007-10-12  Bruno Haible  <bruno@clisp.org>
61019
61020         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61021         of 2.
61022         * tests/test-ceilf2.c: New file.
61023         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61024
61025         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61026         * modules/ceilf-tests: Update.
61027
61028 2007-10-12  Bruno Haible  <bruno@clisp.org>
61029
61030         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61031         of 2.
61032         * tests/test-floorf2.c: New file.
61033         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61034
61035         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61036         * modules/floorf-tests: Update.
61037
61038 2007-10-12  Bruno Haible  <bruno@clisp.org>
61039
61040         * tests/test-trunc2.c: New file.
61041         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61042
61043         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61044         * modules/trunc-tests: Update.
61045
61046 2007-10-12  Bruno Haible  <bruno@clisp.org>
61047
61048         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61049         of 2.
61050         * tests/test-truncf2.c: New file.
61051         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61052
61053         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61054         * modules/truncf-tests: Update.
61055
61056 2007-10-11  Eric Blake  <ebb9@byu.net>
61057
61058         Don't claim strerror is broken on Interix.
61059         * doc/functions/strerror.texi (strerror): Known broken systems are
61060         now Solaris 8, and not Interix.
61061         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61062         Interix on cross-compile.
61063         Reported by Martin Koeppe in
61064         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61065
61066 2007-10-11  Bruno Haible  <bruno@clisp.org>
61067
61068         * modules/i-ring-tests: New file.
61069         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61070         instead of assert.
61071
61072 2007-10-11  Bruno Haible  <bruno@clisp.org>
61073
61074         * modules/filenamecat-tests: New file.
61075         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61076         * lib/filenamecat.c: Remove test code.
61077
61078 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61079
61080         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61081
61082         * lib/strerror.c: Include <string.h> always, to test interface,
61083         and to remove the need for the dummy.
61084         Include intprops.h to compute width instead of doing it ourselves
61085         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61086         (strerror): Define it to return NULL if there's no system strerror.
61087         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61088         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61089         ancient pre-strerror Unix systems well any more.  Saying "unknown
61090         system error" is enough.
61091         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61092         simpler strerror.c implementation.
61093         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61094         Simplify the tests to reflect the simpler strerror implementation.
61095         * modules/strerror (Depends-on): Add intprops.
61096
61097 2007-10-09  Eric Blake  <ebb9@byu.net>
61098
61099         Silence test-fpending.
61100         * modules/fpending-tests (Files): Add wrapper script.
61101         * tests/test-fpending.sh: New file.
61102
61103 2007-10-09  Bruno Haible  <bruno@clisp.org>
61104
61105         * MODULES.html.sh (func_module): Don't create a hyperlink for
61106         function names like 'printf_frexp'.
61107         (Misc): Add crc, memxor.
61108         (Characteristics of floating types): New section.
61109         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61110         isnanf-nolibm, signbit, trunc, truncf, truncl.
61111         (Enhancements for ISO C 99 functions): New subsection Input/output.
61112         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61113         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61114         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61115         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61116         (Enhancements for POSIX:2001 functions): Add chdir-long.
61117         (File system functions): Add areadlink, chdir-safer, read-file.
61118         Remove cycle-check.
61119         (File system as inode set): New section.
61120         (Date and time): Add gethrxtime.
61121         (Multithreading): Add openmp.
61122         (Internationalization functions): Add localename.
61123         (Unicode string functions): Add unistr/u*-mbsnlen.
61124         (Support for maintaining and releasing projects): Add git-version-gen.
61125         (Lone files): Remove directories.
61126
61127 2007-10-08  Ben Pfaff  <blp@gnu.org>
61128
61129         * lib/xmalloca.h: Fix typo in comment.
61130
61131 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61132
61133         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61134         when avoiding problems with integer overflow.  Use a portable test
61135         instead.
61136
61137 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61138
61139         * modules/dummy (License): Change to LGPLv2+.
61140         * modules/float (License): Likewise
61141         * modules/realloc (License): Likewise
61142         * modules/stdlib (License): Likewise
61143
61144 2007-10-07  Bruno Haible  <bruno@clisp.org>
61145
61146         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61147         * floor.c (TWO_MANT_DIG): Likewise.
61148         * ceil.c (TWO_MANT_DIG): Likewise.
61149         Reported by Ben Pfaff.
61150
61151 2007-10-07  Bruno Haible  <bruno@clisp.org>
61152
61153         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61154         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61155         * lib/frexp.c (FUNC): Likewise.
61156         * lib/printf-frexp.h (printf_frexp): Likewise.
61157         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61158         * lib/printf-frexp.c (FUNC): Likewise.
61159         Suggested by Jim Meyering.
61160
61161 2007-10-07  Jim Meyering  <meyering@redhat.com>
61162
61163         Make xnanosleep's integer overflow test more robust.
61164         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61165         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61166
61167 2007-10-07  Bruno Haible  <bruno@clisp.org>
61168
61169         * NEWS: Mention the license change.
61170
61171         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61172         abbreviations in the modules files.
61173
61174         Change copyright notice from GPLv2+ to GPLv3+.
61175         * README: Change copyright notice.
61176         * MODULES.html.sh: Likewise.
61177         * build-aux/bootstrap.conf: Likewise.
61178         * build-aux/config.libpath: Likewise.
61179         * build-aux/csharpcomp.sh.in: Likewise.
61180         * build-aux/csharpexec.sh.in: Likewise.
61181         * build-aux/install-reloc: Likewise.
61182         * build-aux/javacomp.sh.in: Likewise.
61183         * build-aux/javaexec.sh.in: Likewise.
61184         * build-aux/ldd.sh.in: Likewise.
61185         * build-aux/reloc-ldflags: Likewise.
61186         * build-aux/relocatable.sh.in: Likewise.
61187         * build-aux/x-to-1.in: Likewise.
61188         * check-module: Likewise.
61189         * config/srclistvars.sh: Likewise.
61190         * gnulib-tool: Likewise.
61191         * lib/acl-internal.h: Likewise.
61192         * lib/acl.c: Likewise.
61193         * lib/acl.h: Likewise.
61194         * lib/acl_entries.c: Likewise.
61195         * lib/areadlink-with-size.c: Likewise.
61196         * lib/areadlink.c: Likewise.
61197         * lib/areadlink.h: Likewise.
61198         * lib/argmatch.c: Likewise.
61199         * lib/argmatch.h: Likewise.
61200         * lib/argp-ba.c: Likewise.
61201         * lib/argp-eexst.c: Likewise.
61202         * lib/argp-fmtstream.c: Likewise.
61203         * lib/argp-fmtstream.h: Likewise.
61204         * lib/argp-fs-xinl.c: Likewise.
61205         * lib/argp-help.c: Likewise.
61206         * lib/argp-namefrob.h: Likewise.
61207         * lib/argp-parse.c: Likewise.
61208         * lib/argp-pin.c: Likewise.
61209         * lib/argp-pv.c: Likewise.
61210         * lib/argp-pvh.c: Likewise.
61211         * lib/argp-xinl.c: Likewise.
61212         * lib/argp.h: Likewise.
61213         * lib/at-func.c: Likewise.
61214         * lib/atanl.c: Likewise.
61215         * lib/backupfile.c: Likewise.
61216         * lib/backupfile.h: Likewise.
61217         * lib/basename.c: Likewise.
61218         * lib/binary-io.h: Likewise.
61219         * lib/byteswap.in.h: Likewise.
61220         * lib/c-stack.c: Likewise.
61221         * lib/c-stack.h: Likewise.
61222         * lib/c-strcasestr.c: Likewise.
61223         * lib/c-strcasestr.h: Likewise.
61224         * lib/c-strstr.c: Likewise.
61225         * lib/c-strstr.h: Likewise.
61226         * lib/c-strtod.c: Likewise.
61227         * lib/calloc.c: Likewise.
61228         * lib/canon-host.c: Likewise.
61229         * lib/canon-host.h: Likewise.
61230         * lib/canonicalize-lgpl.c: Likewise.
61231         * lib/canonicalize.c: Likewise.
61232         * lib/canonicalize.h: Likewise.
61233         * lib/ceil.c: Likewise.
61234         * lib/ceilf.c: Likewise.
61235         * lib/ceill.c: Likewise.
61236         * lib/chdir-long.c: Likewise.
61237         * lib/chdir-long.h: Likewise.
61238         * lib/chdir-safer.c: Likewise.
61239         * lib/chdir-safer.h: Likewise.
61240         * lib/chown.c: Likewise.
61241         * lib/classpath.c: Likewise.
61242         * lib/classpath.h: Likewise.
61243         * lib/clean-temp.c: Likewise.
61244         * lib/clean-temp.h: Likewise.
61245         * lib/cloexec.c: Likewise.
61246         * lib/close-stream.c: Likewise.
61247         * lib/closein.c: Likewise.
61248         * lib/closein.h: Likewise.
61249         * lib/closeout.c: Likewise.
61250         * lib/closeout.h: Likewise.
61251         * lib/concat-filename.c: Likewise.
61252         * lib/copy-file.c: Likewise.
61253         * lib/copy-file.h: Likewise.
61254         * lib/count-one-bits.h: Likewise.
61255         * lib/crc.c: Likewise.
61256         * lib/crc.h: Likewise.
61257         * lib/creat-safer.c: Likewise.
61258         * lib/csharpcomp.c: Likewise.
61259         * lib/csharpcomp.h: Likewise.
61260         * lib/csharpexec.c: Likewise.
61261         * lib/csharpexec.h: Likewise.
61262         * lib/cycle-check.c: Likewise.
61263         * lib/cycle-check.h: Likewise.
61264         * lib/diacrit.c: Likewise.
61265         * lib/diacrit.h: Likewise.
61266         * lib/diffseq.h: Likewise.
61267         * lib/dirchownmod.c: Likewise.
61268         * lib/dirent.in.h: Likewise.
61269         * lib/dirfd.c: Likewise.
61270         * lib/dirfd.h: Likewise.
61271         * lib/dirname.c: Likewise.
61272         * lib/dirname.h: Likewise.
61273         * lib/dummy.c: Likewise.
61274         * lib/dup-safer.c: Likewise.
61275         * lib/dup2.c: Likewise.
61276         * lib/eealloc.h: Likewise.
61277         * lib/error.c: Likewise.
61278         * lib/error.h: Likewise.
61279         * lib/euidaccess.c: Likewise.
61280         * lib/exclude.c: Likewise.
61281         * lib/exclude.h: Likewise.
61282         * lib/execute.c: Likewise.
61283         * lib/execute.h: Likewise.
61284         * lib/exitfail.c: Likewise.
61285         * lib/exitfail.h: Likewise.
61286         * lib/expl.c: Likewise.
61287         * lib/fatal-signal.c: Likewise.
61288         * lib/fatal-signal.h: Likewise.
61289         * lib/fbufmode.c: Likewise.
61290         * lib/fbufmode.h: Likewise.
61291         * lib/fchdir.c: Likewise.
61292         * lib/fchmodat.c: Likewise.
61293         * lib/fchownat.c: Likewise.
61294         * lib/fcntl--.h: Likewise.
61295         * lib/fcntl-safer.h: Likewise.
61296         * lib/fcntl.in.h: Likewise.
61297         * lib/fd-safer.c: Likewise.
61298         * lib/fflush.c: Likewise.
61299         * lib/file-has-acl.c: Likewise.
61300         * lib/file-set.c: Likewise.
61301         * lib/file-type.c: Likewise.
61302         * lib/file-type.h: Likewise.
61303         * lib/fileblocks.c: Likewise.
61304         * lib/filemode.c: Likewise.
61305         * lib/filemode.h: Likewise.
61306         * lib/filename.h: Likewise.
61307         * lib/filenamecat.c: Likewise.
61308         * lib/filenamecat.h: Likewise.
61309         * lib/findprog.c: Likewise.
61310         * lib/findprog.h: Likewise.
61311         * lib/float.in.h: Likewise.
61312         * lib/floor.c: Likewise.
61313         * lib/floorf.c: Likewise.
61314         * lib/floorl.c: Likewise.
61315         * lib/fopen-safer.c: Likewise.
61316         * lib/fopen.c: Likewise.
61317         * lib/fpending.c: Likewise.
61318         * lib/fpending.h: Likewise.
61319         * lib/fprintf.c: Likewise.
61320         * lib/fprintftime.h: Likewise.
61321         * lib/fpucw.h: Likewise.
61322         * lib/fpurge.c: Likewise.
61323         * lib/fpurge.h: Likewise.
61324         * lib/freadable.c: Likewise.
61325         * lib/freadable.h: Likewise.
61326         * lib/freadahead.c: Likewise.
61327         * lib/freadahead.h: Likewise.
61328         * lib/freading.c: Likewise.
61329         * lib/freading.h: Likewise.
61330         * lib/free.c: Likewise.
61331         * lib/freopen.c: Likewise.
61332         * lib/frexp.c: Likewise.
61333         * lib/frexpl.c: Likewise.
61334         * lib/fseek.c: Likewise.
61335         * lib/fseterr.c: Likewise.
61336         * lib/fseterr.h: Likewise.
61337         * lib/fstatat.c: Likewise.
61338         * lib/fstrcmp.c: Likewise.
61339         * lib/fstrcmp.h: Likewise.
61340         * lib/fsusage.c: Likewise.
61341         * lib/fsusage.h: Likewise.
61342         * lib/ftell.c: Likewise.
61343         * lib/ftello.c: Likewise.
61344         * lib/fts-cycle.c: Likewise.
61345         * lib/fts.c: Likewise.
61346         * lib/fts_.h: Likewise.
61347         * lib/full-read.c: Likewise.
61348         * lib/full-read.h: Likewise.
61349         * lib/full-write.c: Likewise.
61350         * lib/full-write.h: Likewise.
61351         * lib/fwritable.c: Likewise.
61352         * lib/fwritable.h: Likewise.
61353         * lib/fwriteerror.c: Likewise.
61354         * lib/fwriteerror.h: Likewise.
61355         * lib/fwriting.c: Likewise.
61356         * lib/fwriting.h: Likewise.
61357         * lib/gcd.c: Likewise.
61358         * lib/gcd.h: Likewise.
61359         * lib/getcwd.c: Likewise.
61360         * lib/getdate.h: Likewise.
61361         * lib/getdate.y: Likewise.
61362         * lib/getdomainname.c: Likewise.
61363         * lib/getdomainname.h: Likewise.
61364         * lib/getgroups.c: Likewise.
61365         * lib/gethostname.c: Likewise.
61366         * lib/gethrxtime.c: Likewise.
61367         * lib/gethrxtime.h: Likewise.
61368         * lib/getloadavg.c: Likewise.
61369         * lib/getndelim2.c: Likewise.
61370         * lib/getndelim2.h: Likewise.
61371         * lib/getnline.c: Likewise.
61372         * lib/getnline.h: Likewise.
61373         * lib/getopt.c: Likewise.
61374         * lib/getopt.in.h: Likewise.
61375         * lib/getopt1.c: Likewise.
61376         * lib/getopt_int.h: Likewise.
61377         * lib/getpagesize.h: Likewise.
61378         * lib/getsubopt.c: Likewise.
61379         * lib/gettime.c: Likewise.
61380         * lib/getugroups.c: Likewise.
61381         * lib/getugroups.h: Likewise.
61382         * lib/getusershell.c: Likewise.
61383         * lib/gl_anyavltree_list1.h: Likewise.
61384         * lib/gl_anyavltree_list2.h: Likewise.
61385         * lib/gl_anyhash_list1.h: Likewise.
61386         * lib/gl_anyhash_list2.h: Likewise.
61387         * lib/gl_anylinked_list1.h: Likewise.
61388         * lib/gl_anylinked_list2.h: Likewise.
61389         * lib/gl_anyrbtree_list1.h: Likewise.
61390         * lib/gl_anyrbtree_list2.h: Likewise.
61391         * lib/gl_anytree_list1.h: Likewise.
61392         * lib/gl_anytree_list2.h: Likewise.
61393         * lib/gl_anytree_oset.h: Likewise.
61394         * lib/gl_anytreehash_list1.h: Likewise.
61395         * lib/gl_anytreehash_list2.h: Likewise.
61396         * lib/gl_array_list.c: Likewise.
61397         * lib/gl_array_list.h: Likewise.
61398         * lib/gl_array_oset.c: Likewise.
61399         * lib/gl_array_oset.h: Likewise.
61400         * lib/gl_avltree_list.c: Likewise.
61401         * lib/gl_avltree_list.h: Likewise.
61402         * lib/gl_avltree_oset.c: Likewise.
61403         * lib/gl_avltree_oset.h: Likewise.
61404         * lib/gl_avltreehash_list.c: Likewise.
61405         * lib/gl_avltreehash_list.h: Likewise.
61406         * lib/gl_carray_list.c: Likewise.
61407         * lib/gl_carray_list.h: Likewise.
61408         * lib/gl_linked_list.c: Likewise.
61409         * lib/gl_linked_list.h: Likewise.
61410         * lib/gl_linkedhash_list.c: Likewise.
61411         * lib/gl_linkedhash_list.h: Likewise.
61412         * lib/gl_list.c: Likewise.
61413         * lib/gl_list.h: Likewise.
61414         * lib/gl_oset.c: Likewise.
61415         * lib/gl_oset.h: Likewise.
61416         * lib/gl_rbtree_list.c: Likewise.
61417         * lib/gl_rbtree_list.h: Likewise.
61418         * lib/gl_rbtree_oset.c: Likewise.
61419         * lib/gl_rbtree_oset.h: Likewise.
61420         * lib/gl_rbtreehash_list.c: Likewise.
61421         * lib/gl_rbtreehash_list.h: Likewise.
61422         * lib/gl_sublist.c: Likewise.
61423         * lib/gl_sublist.h: Likewise.
61424         * lib/group-member.c: Likewise.
61425         * lib/group-member.h: Likewise.
61426         * lib/hard-locale.c: Likewise.
61427         * lib/hard-locale.h: Likewise.
61428         * lib/hash-pjw.c: Likewise.
61429         * lib/hash-pjw.h: Likewise.
61430         * lib/hash-triple.c: Likewise.
61431         * lib/hash.c: Likewise.
61432         * lib/hash.h: Likewise.
61433         * lib/human.c: Likewise.
61434         * lib/human.h: Likewise.
61435         * lib/i-ring.c: Likewise.
61436         * lib/i-ring.h: Likewise.
61437         * lib/idcache.c: Likewise.
61438         * lib/imaxabs.c: Likewise.
61439         * lib/imaxdiv.c: Likewise.
61440         * lib/inet_pton.c: Likewise.
61441         * lib/inet_pton.h: Likewise.
61442         * lib/intprops.h: Likewise.
61443         * lib/inttostr.c: Likewise.
61444         * lib/inttostr.h: Likewise.
61445         * lib/inttypes.in.h: Likewise.
61446         * lib/isapipe.c: Likewise.
61447         * lib/isdir.c: Likewise.
61448         * lib/isnan.c: Likewise.
61449         * lib/isnan.h: Likewise.
61450         * lib/isnanf.c: Likewise.
61451         * lib/isnanf.h: Likewise.
61452         * lib/isnanl-nolibm.h: Likewise.
61453         * lib/isnanl.c: Likewise.
61454         * lib/isnanl.h: Likewise.
61455         * lib/javacomp.c: Likewise.
61456         * lib/javacomp.h: Likewise.
61457         * lib/javaexec.c: Likewise.
61458         * lib/javaexec.h: Likewise.
61459         * lib/javaversion.c: Likewise.
61460         * lib/javaversion.h: Likewise.
61461         * lib/javaversion.java: Likewise.
61462         * lib/lbrkprop.h: Likewise.
61463         * lib/lchmod.h: Likewise.
61464         * lib/lchown.c: Likewise.
61465         * lib/ldexpl.c: Likewise.
61466         * lib/linebreak.c: Likewise.
61467         * lib/linebreak.h: Likewise.
61468         * lib/linebuffer.c: Likewise.
61469         * lib/linebuffer.h: Likewise.
61470         * lib/locale.in.h: Likewise.
61471         * lib/logl.c: Likewise.
61472         * lib/long-options.c: Likewise.
61473         * lib/long-options.h: Likewise.
61474         * lib/lstat.c: Likewise.
61475         * lib/lstat.h: Likewise.
61476         * lib/math.in.h: Likewise.
61477         * lib/mbchar.c: Likewise.
61478         * lib/mbchar.h: Likewise.
61479         * lib/mbfile.h: Likewise.
61480         * lib/mbiter.h: Likewise.
61481         * lib/mbscasecmp.c: Likewise.
61482         * lib/mbscasestr.c: Likewise.
61483         * lib/mbschr.c: Likewise.
61484         * lib/mbscspn.c: Likewise.
61485         * lib/mbslen.c: Likewise.
61486         * lib/mbsncasecmp.c: Likewise.
61487         * lib/mbsnlen.c: Likewise.
61488         * lib/mbspbrk.c: Likewise.
61489         * lib/mbspcasecmp.c: Likewise.
61490         * lib/mbsrchr.c: Likewise.
61491         * lib/mbssep.c: Likewise.
61492         * lib/mbsspn.c: Likewise.
61493         * lib/mbsstr.c: Likewise.
61494         * lib/mbstok_r.c: Likewise.
61495         * lib/mbswidth.c: Likewise.
61496         * lib/mbswidth.h: Likewise.
61497         * lib/mbuiter.h: Likewise.
61498         * lib/memcasecmp.c: Likewise.
61499         * lib/memcasecmp.h: Likewise.
61500         * lib/memchr.c: Likewise.
61501         * lib/memcmp.c: Likewise.
61502         * lib/memcoll.c: Likewise.
61503         * lib/memcoll.h: Likewise.
61504         * lib/memcpy.c: Likewise.
61505         * lib/memrchr.c: Likewise.
61506         * lib/mkancesdirs.c: Likewise.
61507         * lib/mkdir-p.c: Likewise.
61508         * lib/mkdir-p.h: Likewise.
61509         * lib/mkdir.c: Likewise.
61510         * lib/mkdirat.c: Likewise.
61511         * lib/mkdtemp.c: Likewise.
61512         * lib/mkstemp-safer.c: Likewise.
61513         * lib/mkstemp.c: Likewise.
61514         * lib/modechange.c: Likewise.
61515         * lib/modechange.h: Likewise.
61516         * lib/mountlist.c: Likewise.
61517         * lib/mountlist.h: Likewise.
61518         * lib/mpsort.c: Likewise.
61519         * lib/nanosleep.c: Likewise.
61520         * lib/obstack.c: Likewise.
61521         * lib/obstack.h: Likewise.
61522         * lib/open-safer.c: Likewise.
61523         * lib/open.c: Likewise.
61524         * lib/openat-die.c: Likewise.
61525         * lib/openat-priv.h: Likewise.
61526         * lib/openat-proc.c: Likewise.
61527         * lib/openat.c: Likewise.
61528         * lib/openat.h: Likewise.
61529         * lib/pagealign_alloc.c: Likewise.
61530         * lib/pagealign_alloc.h: Likewise.
61531         * lib/physmem.c: Likewise.
61532         * lib/physmem.h: Likewise.
61533         * lib/pipe-safer.c: Likewise.
61534         * lib/pipe.c: Likewise.
61535         * lib/pipe.h: Likewise.
61536         * lib/posixtm.c: Likewise.
61537         * lib/posixtm.h: Likewise.
61538         * lib/posixver.c: Likewise.
61539         * lib/printf-frexp.c: Likewise.
61540         * lib/printf-frexp.h: Likewise.
61541         * lib/printf-frexpl.c: Likewise.
61542         * lib/printf-frexpl.h: Likewise.
61543         * lib/printf.c: Likewise.
61544         * lib/progname.c: Likewise.
61545         * lib/progname.h: Likewise.
61546         * lib/progreloc.c: Likewise.
61547         * lib/putenv.c: Likewise.
61548         * lib/quote.c: Likewise.
61549         * lib/quote.h: Likewise.
61550         * lib/quotearg.c: Likewise.
61551         * lib/quotearg.h: Likewise.
61552         * lib/raise.c: Likewise.
61553         * lib/readline.c: Likewise.
61554         * lib/readline.h: Likewise.
61555         * lib/readlink.c: Likewise.
61556         * lib/readtokens.c: Likewise.
61557         * lib/readtokens.h: Likewise.
61558         * lib/readtokens0.c: Likewise.
61559         * lib/readtokens0.h: Likewise.
61560         * lib/readutmp.c: Likewise.
61561         * lib/readutmp.h: Likewise.
61562         * lib/realloc.c: Likewise.
61563         * lib/relocwrapper.c: Likewise.
61564         * lib/rename-dest-slash.c: Likewise.
61565         * lib/rename.c: Likewise.
61566         * lib/rmdir.c: Likewise.
61567         * lib/rpmatch.c: Likewise.
61568         * lib/safe-read.c: Likewise.
61569         * lib/safe-read.h: Likewise.
61570         * lib/safe-write.c: Likewise.
61571         * lib/safe-write.h: Likewise.
61572         * lib/same-inode.h: Likewise.
61573         * lib/same.c: Likewise.
61574         * lib/same.h: Likewise.
61575         * lib/save-cwd.c: Likewise.
61576         * lib/save-cwd.h: Likewise.
61577         * lib/savedir.c: Likewise.
61578         * lib/savedir.h: Likewise.
61579         * lib/savewd.c: Likewise.
61580         * lib/savewd.h: Likewise.
61581         * lib/search.in.h: Likewise.
61582         * lib/setenv.c: Likewise.
61583         * lib/setenv.h: Likewise.
61584         * lib/settime.c: Likewise.
61585         * lib/sh-quote.c: Likewise.
61586         * lib/sh-quote.h: Likewise.
61587         * lib/sig2str.c: Likewise.
61588         * lib/sig2str.h: Likewise.
61589         * lib/signal.in.h: Likewise.
61590         * lib/signbitd.c: Likewise.
61591         * lib/signbitf.c: Likewise.
61592         * lib/signbitl.c: Likewise.
61593         * lib/sigprocmask.c: Likewise.
61594         * lib/sincosl.c: Likewise.
61595         * lib/sleep.c: Likewise.
61596         * lib/sprintf.c: Likewise.
61597         * lib/sqrtl.c: Likewise.
61598         * lib/stat-time.h: Likewise.
61599         * lib/stdio--.h: Likewise.
61600         * lib/stdio-safer.h: Likewise.
61601         * lib/stdlib--.h: Likewise.
61602         * lib/stdlib-safer.h: Likewise.
61603         * lib/stdlib.in.h: Likewise.
61604         * lib/stpcpy.c: Likewise.
61605         * lib/stpncpy.c: Likewise.
61606         * lib/strchrnul.c: Likewise.
61607         * lib/strcspn.c: Likewise.
61608         * lib/strerror.c: Likewise.
61609         * lib/strftime.c: Likewise.
61610         * lib/strftime.h: Likewise.
61611         * lib/striconveh.c: Likewise.
61612         * lib/striconveh.h: Likewise.
61613         * lib/striconveha.c: Likewise.
61614         * lib/striconveha.h: Likewise.
61615         * lib/stripslash.c: Likewise.
61616         * lib/strnlen1.c: Likewise.
61617         * lib/strnlen1.h: Likewise.
61618         * lib/strtod.c: Likewise.
61619         * lib/strtoimax.c: Likewise.
61620         * lib/strtok_r.c: Likewise.
61621         * lib/strtol.c: Likewise.
61622         * lib/strtoll.c: Likewise.
61623         * lib/strtoul.c: Likewise.
61624         * lib/strtoull.c: Likewise.
61625         * lib/sysexits.in.h: Likewise.
61626         * lib/tempname.c: Likewise.
61627         * lib/tempname.h: Likewise.
61628         * lib/timespec.h: Likewise.
61629         * lib/tls.c: Likewise.
61630         * lib/tls.h: Likewise.
61631         * lib/tmpdir.c: Likewise.
61632         * lib/tmpdir.h: Likewise.
61633         * lib/tmpfile-safer.c: Likewise.
61634         * lib/tmpfile.c: Likewise.
61635         * lib/trigl.c: Likewise.
61636         * lib/trigl.h: Likewise.
61637         * lib/trim.c: Likewise.
61638         * lib/trim.h: Likewise.
61639         * lib/trunc.c: Likewise.
61640         * lib/truncf.c: Likewise.
61641         * lib/truncl.c: Likewise.
61642         * lib/tsearch.c: Likewise.
61643         * lib/unicodeio.c: Likewise.
61644         * lib/unicodeio.h: Likewise.
61645         * lib/unistd--.h: Likewise.
61646         * lib/unistd-safer.h: Likewise.
61647         * lib/unistdio/ulc-fprintf.c: Likewise.
61648         * lib/unistdio/ulc-vfprintf.c: Likewise.
61649         * lib/unlinkdir.c: Likewise.
61650         * lib/unlinkdir.h: Likewise.
61651         * lib/unlocked-io.h: Likewise.
61652         * lib/unsetenv.c: Likewise.
61653         * lib/userspec.c: Likewise.
61654         * lib/utime.c: Likewise.
61655         * lib/utimecmp.c: Likewise.
61656         * lib/utimecmp.h: Likewise.
61657         * lib/utimens.c: Likewise.
61658         * lib/verify.h: Likewise.
61659         * lib/verror.c: Likewise.
61660         * lib/verror.h: Likewise.
61661         * lib/version-etc-fsf.c: Likewise.
61662         * lib/version-etc.c: Likewise.
61663         * lib/version-etc.h: Likewise.
61664         * lib/vfprintf.c: Likewise.
61665         * lib/vprintf.c: Likewise.
61666         * lib/vsprintf.c: Likewise.
61667         * lib/w32spawn.h: Likewise.
61668         * lib/wait-process.c: Likewise.
61669         * lib/wait-process.h: Likewise.
61670         * lib/wcwidth.c: Likewise.
61671         * lib/write-any-file.c: Likewise.
61672         * lib/xalloc-die.c: Likewise.
61673         * lib/xalloc.h: Likewise.
61674         * lib/xasprintf.c: Likewise.
61675         * lib/xgetcwd.c: Likewise.
61676         * lib/xgetcwd.h: Likewise.
61677         * lib/xgetdomainname.c: Likewise.
61678         * lib/xgetdomainname.h: Likewise.
61679         * lib/xgethostname.c: Likewise.
61680         * lib/xmalloc.c: Likewise.
61681         * lib/xmalloca.c: Likewise.
61682         * lib/xmalloca.h: Likewise.
61683         * lib/xmemcoll.c: Likewise.
61684         * lib/xnanosleep.c: Likewise.
61685         * lib/xreadlink.c: Likewise.
61686         * lib/xreadlink.h: Likewise.
61687         * lib/xsetenv.c: Likewise.
61688         * lib/xsetenv.h: Likewise.
61689         * lib/xstriconv.c: Likewise.
61690         * lib/xstriconv.h: Likewise.
61691         * lib/xstrndup.c: Likewise.
61692         * lib/xstrndup.h: Likewise.
61693         * lib/xstrtod.c: Likewise.
61694         * lib/xstrtod.h: Likewise.
61695         * lib/xstrtol-error.c: Likewise.
61696         * lib/xstrtol.c: Likewise.
61697         * lib/xstrtol.h: Likewise.
61698         * lib/xtime.h: Likewise.
61699         * lib/xvasprintf.c: Likewise.
61700         * lib/xvasprintf.h: Likewise.
61701         * lib/yesno.c: Likewise.
61702         * lib/yesno.h: Likewise.
61703         * posix-modules: Likewise.
61704         * tests/test-alloca-opt.c: Likewise.
61705         * tests/test-arcfour.c: Likewise.
61706         * tests/test-arctwo.c: Likewise.
61707         * tests/test-argmatch.c: Likewise.
61708         * tests/test-argp-2.sh: Likewise.
61709         * tests/test-argp.c: Likewise.
61710         * tests/test-arpa_inet.c: Likewise.
61711         * tests/test-array_list.c: Likewise.
61712         * tests/test-array_oset.c: Likewise.
61713         * tests/test-atexit.c: Likewise.
61714         * tests/test-avltree_list.c: Likewise.
61715         * tests/test-avltree_oset.c: Likewise.
61716         * tests/test-avltreehash_list.c: Likewise.
61717         * tests/test-base64.c: Likewise.
61718         * tests/test-binary-io.c: Likewise.
61719         * tests/test-byteswap.c: Likewise.
61720         * tests/test-c-ctype.c: Likewise.
61721         * tests/test-c-strcasecmp.c: Likewise.
61722         * tests/test-c-strcasestr.c: Likewise.
61723         * tests/test-c-strncasecmp.c: Likewise.
61724         * tests/test-c-strstr.c: Likewise.
61725         * tests/test-canonicalize-lgpl.c: Likewise.
61726         * tests/test-canonicalize.c: Likewise.
61727         * tests/test-carray_list.c: Likewise.
61728         * tests/test-ceilf.c: Likewise.
61729         * tests/test-ceill.c: Likewise.
61730         * tests/test-count-one-bits.c: Likewise.
61731         * tests/test-crc.c: Likewise.
61732         * tests/test-dirname.c: Likewise.
61733         * tests/test-fbufmode.c: Likewise.
61734         * tests/test-fcntl.c: Likewise.
61735         * tests/test-fflush.c: Likewise.
61736         * tests/test-floorf.c: Likewise.
61737         * tests/test-floorl.c: Likewise.
61738         * tests/test-fopen.c: Likewise.
61739         * tests/test-fprintf-posix.c: Likewise.
61740         * tests/test-fprintf-posix.h: Likewise.
61741         * tests/test-fpurge.c: Likewise.
61742         * tests/test-freadable.c: Likewise.
61743         * tests/test-freadahead.c: Likewise.
61744         * tests/test-freading.c: Likewise.
61745         * tests/test-freopen.c: Likewise.
61746         * tests/test-frexp.c: Likewise.
61747         * tests/test-frexpl.c: Likewise.
61748         * tests/test-fseek.c: Likewise.
61749         * tests/test-fseeko.c: Likewise.
61750         * tests/test-fseterr.c: Likewise.
61751         * tests/test-fstrcmp.c: Likewise.
61752         * tests/test-ftell.c: Likewise.
61753         * tests/test-ftello.c: Likewise.
61754         * tests/test-fwritable.c: Likewise.
61755         * tests/test-fwriting.c: Likewise.
61756         * tests/test-getaddrinfo.c: Likewise.
61757         * tests/test-getpass.c: Likewise.
61758         * tests/test-gettimeofday.c: Likewise.
61759         * tests/test-hmac-md5.c: Likewise.
61760         * tests/test-hmac-sha1.c: Likewise.
61761         * tests/test-iconv.c: Likewise.
61762         * tests/test-iconvme.c: Likewise.
61763         * tests/test-inttypes.c: Likewise.
61764         * tests/test-isnan.c: Likewise.
61765         * tests/test-isnanf.c: Likewise.
61766         * tests/test-isnanl-nolibm.c: Likewise.
61767         * tests/test-isnanl.c: Likewise.
61768         * tests/test-isnanl.h: Likewise.
61769         * tests/test-ldexpl.c: Likewise.
61770         * tests/test-linked_list.c: Likewise.
61771         * tests/test-linkedhash_list.c: Likewise.
61772         * tests/test-locale.c: Likewise.
61773         * tests/test-localename.c: Likewise.
61774         * tests/test-lock.c: Likewise.
61775         * tests/test-lseek.c: Likewise.
61776         * tests/test-malloca.c: Likewise.
61777         * tests/test-math.c: Likewise.
61778         * tests/test-mbscasecmp.c: Likewise.
61779         * tests/test-mbscasestr1.c: Likewise.
61780         * tests/test-mbscasestr2.c: Likewise.
61781         * tests/test-mbscasestr3.c: Likewise.
61782         * tests/test-mbscasestr4.c: Likewise.
61783         * tests/test-mbschr.c: Likewise.
61784         * tests/test-mbscspn.c: Likewise.
61785         * tests/test-mbsncasecmp.c: Likewise.
61786         * tests/test-mbspbrk.c: Likewise.
61787         * tests/test-mbspcasecmp.c: Likewise.
61788         * tests/test-mbsrchr.c: Likewise.
61789         * tests/test-mbsspn.c: Likewise.
61790         * tests/test-mbsstr1.c: Likewise.
61791         * tests/test-mbsstr2.c: Likewise.
61792         * tests/test-mbsstr3.c: Likewise.
61793         * tests/test-md5.c: Likewise.
61794         * tests/test-memmem.c: Likewise.
61795         * tests/test-netinet_in.c: Likewise.
61796         * tests/test-open.c: Likewise.
61797         * tests/test-printf-frexp.c: Likewise.
61798         * tests/test-printf-frexpl.c: Likewise.
61799         * tests/test-printf-posix.c: Likewise.
61800         * tests/test-printf-posix.h: Likewise.
61801         * tests/test-rbtree_list.c: Likewise.
61802         * tests/test-rbtree_oset.c: Likewise.
61803         * tests/test-rbtreehash_list.c: Likewise.
61804         * tests/test-read-file.c: Likewise.
61805         * tests/test-rijndael.c: Likewise.
61806         * tests/test-search.c: Likewise.
61807         * tests/test-signbit.c: Likewise.
61808         * tests/test-sleep.c: Likewise.
61809         * tests/test-snprintf-posix.c: Likewise.
61810         * tests/test-snprintf-posix.h: Likewise.
61811         * tests/test-snprintf.c: Likewise.
61812         * tests/test-sprintf-posix.c: Likewise.
61813         * tests/test-sprintf-posix.h: Likewise.
61814         * tests/test-stat-time.c: Likewise.
61815         * tests/test-stdbool.c: Likewise.
61816         * tests/test-stdint.c: Likewise.
61817         * tests/test-stdio.c: Likewise.
61818         * tests/test-stdlib.c: Likewise.
61819         * tests/test-stpncpy.c: Likewise.
61820         * tests/test-strcasestr.c: Likewise.
61821         * tests/test-striconv.c: Likewise.
61822         * tests/test-striconveh.c: Likewise.
61823         * tests/test-striconveha.c: Likewise.
61824         * tests/test-string.c: Likewise.
61825         * tests/test-sys_select.c: Likewise.
61826         * tests/test-sys_socket.c: Likewise.
61827         * tests/test-sys_stat.c: Likewise.
61828         * tests/test-sys_time.c: Likewise.
61829         * tests/test-sysexits.c: Likewise.
61830         * tests/test-time.c: Likewise.
61831         * tests/test-tls.c: Likewise.
61832         * tests/test-trunc.c: Likewise.
61833         * tests/test-truncf.c: Likewise.
61834         * tests/test-truncl.c: Likewise.
61835         * tests/test-unistd.c: Likewise.
61836         * tests/test-vasnprintf-posix.c: Likewise.
61837         * tests/test-vasnprintf-posix2.c: Likewise.
61838         * tests/test-vasnprintf.c: Likewise.
61839         * tests/test-vasprintf-posix.c: Likewise.
61840         * tests/test-vasprintf.c: Likewise.
61841         * tests/test-verify.c: Likewise.
61842         * tests/test-vfprintf-posix.c: Likewise.
61843         * tests/test-vprintf-posix.c: Likewise.
61844         * tests/test-vsnprintf-posix.c: Likewise.
61845         * tests/test-vsnprintf.c: Likewise.
61846         * tests/test-vsprintf-posix.c: Likewise.
61847         * tests/test-wchar.c: Likewise.
61848         * tests/test-wctype.c: Likewise.
61849         * tests/test-wcwidth.c: Likewise.
61850         * tests/test-xstrtol.c: Likewise.
61851         * tests/test-xvasprintf.c: Likewise.
61852         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61853         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61854         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61855         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61856         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61857         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61858         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61859         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61860         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61861         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61862         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61863         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61864         * tests/uniname/test-uninames.c: Likewise.
61865         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61866         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61867         * tests/unistdio/test-u16-printf1.h: Likewise.
61868         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61869         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61870         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61871         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61872         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61873         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61874         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61875         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61876         * tests/unistdio/test-u32-printf1.h: Likewise.
61877         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61878         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61879         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61880         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61881         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61882         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61883         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61884         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61885         * tests/unistdio/test-u8-printf1.h: Likewise.
61886         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61887         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61888         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61889         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61890         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61891         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61892         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61893         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61894         * tests/unistdio/test-ulc-printf1.h: Likewise.
61895         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61896         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61897         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61898         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61899         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61900         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61901         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61902         * tests/uniwidth/test-u16-width.c: Likewise.
61903         * tests/uniwidth/test-u32-strwidth.c: Likewise.
61904         * tests/uniwidth/test-u32-width.c: Likewise.
61905         * tests/uniwidth/test-u8-strwidth.c: Likewise.
61906         * tests/uniwidth/test-u8-width.c: Likewise.
61907         * tests/uniwidth/test-uc_width.c: Likewise.
61908         * config/srclist-update: Likewise.
61909         (fixlicense): Update to GPLv3+.
61910
61911         Change copyright notice from LGPLv2.1+ to LGPLv3+.
61912         * tests/test-tsearch.c: Change copyright notice.
61913
61914         Change copyright notice from LGPLv2.0+ to LGPLv3+.
61915         * lib/c-strcaseeq.h: Change copyright notice.
61916         * lib/streq.h: Likewise.
61917         * lib/uniconv.h: Likewise.
61918         * lib/uniconv/u-conv-from-enc.h: Likewise.
61919         * lib/uniconv/u-conv-to-enc.h: Likewise.
61920         * lib/uniconv/u-strconv-from-enc.h: Likewise.
61921         * lib/uniconv/u-strconv-to-enc.h: Likewise.
61922         * lib/uniconv/u16-conv-from-enc.c: Likewise.
61923         * lib/uniconv/u16-conv-to-enc.c: Likewise.
61924         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
61925         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
61926         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
61927         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
61928         * lib/uniconv/u32-conv-from-enc.c: Likewise.
61929         * lib/uniconv/u32-conv-to-enc.c: Likewise.
61930         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
61931         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
61932         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
61933         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
61934         * lib/uniconv/u8-conv-from-enc.c: Likewise.
61935         * lib/uniconv/u8-conv-to-enc.c: Likewise.
61936         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
61937         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
61938         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
61939         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
61940         * lib/uniname.h: Likewise.
61941         * lib/uniname/uniname.c: Likewise.
61942         * lib/unistdio.h: Likewise.
61943         * lib/unistdio/u-asnprintf.h: Likewise.
61944         * lib/unistdio/u-asprintf.h: Likewise.
61945         * lib/unistdio/u-printf-args.c: Likewise.
61946         * lib/unistdio/u-printf-args.h: Likewise.
61947         * lib/unistdio/u-printf-parse.h: Likewise.
61948         * lib/unistdio/u-snprintf.h: Likewise.
61949         * lib/unistdio/u-sprintf.h: Likewise.
61950         * lib/unistdio/u-vasprintf.h: Likewise.
61951         * lib/unistdio/u-vsnprintf.h: Likewise.
61952         * lib/unistdio/u-vsprintf.h: Likewise.
61953         * lib/unistdio/u16-asnprintf.c: Likewise.
61954         * lib/unistdio/u16-asprintf.c: Likewise.
61955         * lib/unistdio/u16-printf-parse.c: Likewise.
61956         * lib/unistdio/u16-snprintf.c: Likewise.
61957         * lib/unistdio/u16-sprintf.c: Likewise.
61958         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
61959         * lib/unistdio/u16-u16-asprintf.c: Likewise.
61960         * lib/unistdio/u16-u16-snprintf.c: Likewise.
61961         * lib/unistdio/u16-u16-sprintf.c: Likewise.
61962         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
61963         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
61964         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
61965         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
61966         * lib/unistdio/u16-vasnprintf.c: Likewise.
61967         * lib/unistdio/u16-vasprintf.c: Likewise.
61968         * lib/unistdio/u16-vsnprintf.c: Likewise.
61969         * lib/unistdio/u16-vsprintf.c: Likewise.
61970         * lib/unistdio/u32-asnprintf.c: Likewise.
61971         * lib/unistdio/u32-asprintf.c: Likewise.
61972         * lib/unistdio/u32-printf-parse.c: Likewise.
61973         * lib/unistdio/u32-snprintf.c: Likewise.
61974         * lib/unistdio/u32-sprintf.c: Likewise.
61975         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
61976         * lib/unistdio/u32-u32-asprintf.c: Likewise.
61977         * lib/unistdio/u32-u32-snprintf.c: Likewise.
61978         * lib/unistdio/u32-u32-sprintf.c: Likewise.
61979         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
61980         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
61981         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
61982         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
61983         * lib/unistdio/u32-vasnprintf.c: Likewise.
61984         * lib/unistdio/u32-vasprintf.c: Likewise.
61985         * lib/unistdio/u32-vsnprintf.c: Likewise.
61986         * lib/unistdio/u32-vsprintf.c: Likewise.
61987         * lib/unistdio/u8-asnprintf.c: Likewise.
61988         * lib/unistdio/u8-asprintf.c: Likewise.
61989         * lib/unistdio/u8-printf-parse.c: Likewise.
61990         * lib/unistdio/u8-snprintf.c: Likewise.
61991         * lib/unistdio/u8-sprintf.c: Likewise.
61992         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
61993         * lib/unistdio/u8-u8-asprintf.c: Likewise.
61994         * lib/unistdio/u8-u8-snprintf.c: Likewise.
61995         * lib/unistdio/u8-u8-sprintf.c: Likewise.
61996         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
61997         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
61998         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
61999         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62000         * lib/unistdio/u8-vasnprintf.c: Likewise.
62001         * lib/unistdio/u8-vasprintf.c: Likewise.
62002         * lib/unistdio/u8-vsnprintf.c: Likewise.
62003         * lib/unistdio/u8-vsprintf.c: Likewise.
62004         * lib/unistdio/ulc-asnprintf.c: Likewise.
62005         * lib/unistdio/ulc-asprintf.c: Likewise.
62006         * lib/unistdio/ulc-printf-parse.c: Likewise.
62007         * lib/unistdio/ulc-snprintf.c: Likewise.
62008         * lib/unistdio/ulc-sprintf.c: Likewise.
62009         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62010         * lib/unistdio/ulc-vasprintf.c: Likewise.
62011         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62012         * lib/unistdio/ulc-vsprintf.c: Likewise.
62013         * lib/unistr.h: Likewise.
62014         * lib/unistr/u-cpy-alloc.h: Likewise.
62015         * lib/unistr/u-cpy.h: Likewise.
62016         * lib/unistr/u-endswith.h: Likewise.
62017         * lib/unistr/u-move.h: Likewise.
62018         * lib/unistr/u-set.h: Likewise.
62019         * lib/unistr/u-startswith.h: Likewise.
62020         * lib/unistr/u-stpcpy.h: Likewise.
62021         * lib/unistr/u-stpncpy.h: Likewise.
62022         * lib/unistr/u-strcat.h: Likewise.
62023         * lib/unistr/u-strcpy.h: Likewise.
62024         * lib/unistr/u-strcspn.h: Likewise.
62025         * lib/unistr/u-strdup.h: Likewise.
62026         * lib/unistr/u-strlen.h: Likewise.
62027         * lib/unistr/u-strncat.h: Likewise.
62028         * lib/unistr/u-strncpy.h: Likewise.
62029         * lib/unistr/u-strnlen.h: Likewise.
62030         * lib/unistr/u-strpbrk.h: Likewise.
62031         * lib/unistr/u-strspn.h: Likewise.
62032         * lib/unistr/u-strstr.h: Likewise.
62033         * lib/unistr/u-strtok.h: Likewise.
62034         * lib/unistr/u16-check.c: Likewise.
62035         * lib/unistr/u16-chr.c: Likewise.
62036         * lib/unistr/u16-cmp.c: Likewise.
62037         * lib/unistr/u16-cpy-alloc.c: Likewise.
62038         * lib/unistr/u16-cpy.c: Likewise.
62039         * lib/unistr/u16-endswith.c: Likewise.
62040         * lib/unistr/u16-mblen.c: Likewise.
62041         * lib/unistr/u16-mbsnlen.c: Likewise.
62042         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62043         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62044         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62045         * lib/unistr/u16-mbtouc.c: Likewise.
62046         * lib/unistr/u16-mbtoucr.c: Likewise.
62047         * lib/unistr/u16-move.c: Likewise.
62048         * lib/unistr/u16-next.c: Likewise.
62049         * lib/unistr/u16-prev.c: Likewise.
62050         * lib/unistr/u16-set.c: Likewise.
62051         * lib/unistr/u16-startswith.c: Likewise.
62052         * lib/unistr/u16-stpcpy.c: Likewise.
62053         * lib/unistr/u16-stpncpy.c: Likewise.
62054         * lib/unistr/u16-strcat.c: Likewise.
62055         * lib/unistr/u16-strchr.c: Likewise.
62056         * lib/unistr/u16-strcmp.c: Likewise.
62057         * lib/unistr/u16-strcpy.c: Likewise.
62058         * lib/unistr/u16-strcspn.c: Likewise.
62059         * lib/unistr/u16-strdup.c: Likewise.
62060         * lib/unistr/u16-strlen.c: Likewise.
62061         * lib/unistr/u16-strmblen.c: Likewise.
62062         * lib/unistr/u16-strmbtouc.c: Likewise.
62063         * lib/unistr/u16-strncat.c: Likewise.
62064         * lib/unistr/u16-strncmp.c: Likewise.
62065         * lib/unistr/u16-strncpy.c: Likewise.
62066         * lib/unistr/u16-strnlen.c: Likewise.
62067         * lib/unistr/u16-strpbrk.c: Likewise.
62068         * lib/unistr/u16-strrchr.c: Likewise.
62069         * lib/unistr/u16-strspn.c: Likewise.
62070         * lib/unistr/u16-strstr.c: Likewise.
62071         * lib/unistr/u16-strtok.c: Likewise.
62072         * lib/unistr/u16-to-u32.c: Likewise.
62073         * lib/unistr/u16-to-u8.c: Likewise.
62074         * lib/unistr/u16-uctomb-aux.c: Likewise.
62075         * lib/unistr/u16-uctomb.c: Likewise.
62076         * lib/unistr/u32-check.c: Likewise.
62077         * lib/unistr/u32-chr.c: Likewise.
62078         * lib/unistr/u32-cmp.c: Likewise.
62079         * lib/unistr/u32-cpy-alloc.c: Likewise.
62080         * lib/unistr/u32-cpy.c: Likewise.
62081         * lib/unistr/u32-endswith.c: Likewise.
62082         * lib/unistr/u32-mblen.c: Likewise.
62083         * lib/unistr/u32-mbsnlen.c: Likewise.
62084         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62085         * lib/unistr/u32-mbtouc.c: Likewise.
62086         * lib/unistr/u32-mbtoucr.c: Likewise.
62087         * lib/unistr/u32-move.c: Likewise.
62088         * lib/unistr/u32-next.c: Likewise.
62089         * lib/unistr/u32-prev.c: Likewise.
62090         * lib/unistr/u32-set.c: Likewise.
62091         * lib/unistr/u32-startswith.c: Likewise.
62092         * lib/unistr/u32-stpcpy.c: Likewise.
62093         * lib/unistr/u32-stpncpy.c: Likewise.
62094         * lib/unistr/u32-strcat.c: Likewise.
62095         * lib/unistr/u32-strchr.c: Likewise.
62096         * lib/unistr/u32-strcmp.c: Likewise.
62097         * lib/unistr/u32-strcpy.c: Likewise.
62098         * lib/unistr/u32-strcspn.c: Likewise.
62099         * lib/unistr/u32-strdup.c: Likewise.
62100         * lib/unistr/u32-strlen.c: Likewise.
62101         * lib/unistr/u32-strmblen.c: Likewise.
62102         * lib/unistr/u32-strmbtouc.c: Likewise.
62103         * lib/unistr/u32-strncat.c: Likewise.
62104         * lib/unistr/u32-strncmp.c: Likewise.
62105         * lib/unistr/u32-strncpy.c: Likewise.
62106         * lib/unistr/u32-strnlen.c: Likewise.
62107         * lib/unistr/u32-strpbrk.c: Likewise.
62108         * lib/unistr/u32-strrchr.c: Likewise.
62109         * lib/unistr/u32-strspn.c: Likewise.
62110         * lib/unistr/u32-strstr.c: Likewise.
62111         * lib/unistr/u32-strtok.c: Likewise.
62112         * lib/unistr/u32-to-u16.c: Likewise.
62113         * lib/unistr/u32-to-u8.c: Likewise.
62114         * lib/unistr/u32-uctomb.c: Likewise.
62115         * lib/unistr/u8-check.c: Likewise.
62116         * lib/unistr/u8-chr.c: Likewise.
62117         * lib/unistr/u8-cmp.c: Likewise.
62118         * lib/unistr/u8-cpy-alloc.c: Likewise.
62119         * lib/unistr/u8-cpy.c: Likewise.
62120         * lib/unistr/u8-endswith.c: Likewise.
62121         * lib/unistr/u8-mblen.c: Likewise.
62122         * lib/unistr/u8-mbsnlen.c: Likewise.
62123         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62124         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62125         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62126         * lib/unistr/u8-mbtouc.c: Likewise.
62127         * lib/unistr/u8-mbtoucr.c: Likewise.
62128         * lib/unistr/u8-move.c: Likewise.
62129         * lib/unistr/u8-next.c: Likewise.
62130         * lib/unistr/u8-prev.c: Likewise.
62131         * lib/unistr/u8-set.c: Likewise.
62132         * lib/unistr/u8-startswith.c: Likewise.
62133         * lib/unistr/u8-stpcpy.c: Likewise.
62134         * lib/unistr/u8-stpncpy.c: Likewise.
62135         * lib/unistr/u8-strcat.c: Likewise.
62136         * lib/unistr/u8-strchr.c: Likewise.
62137         * lib/unistr/u8-strcmp.c: Likewise.
62138         * lib/unistr/u8-strcpy.c: Likewise.
62139         * lib/unistr/u8-strcspn.c: Likewise.
62140         * lib/unistr/u8-strdup.c: Likewise.
62141         * lib/unistr/u8-strlen.c: Likewise.
62142         * lib/unistr/u8-strmblen.c: Likewise.
62143         * lib/unistr/u8-strmbtouc.c: Likewise.
62144         * lib/unistr/u8-strncat.c: Likewise.
62145         * lib/unistr/u8-strncmp.c: Likewise.
62146         * lib/unistr/u8-strncpy.c: Likewise.
62147         * lib/unistr/u8-strnlen.c: Likewise.
62148         * lib/unistr/u8-strpbrk.c: Likewise.
62149         * lib/unistr/u8-strrchr.c: Likewise.
62150         * lib/unistr/u8-strspn.c: Likewise.
62151         * lib/unistr/u8-strstr.c: Likewise.
62152         * lib/unistr/u8-strtok.c: Likewise.
62153         * lib/unistr/u8-to-u16.c: Likewise.
62154         * lib/unistr/u8-to-u32.c: Likewise.
62155         * lib/unistr/u8-uctomb-aux.c: Likewise.
62156         * lib/unistr/u8-uctomb.c: Likewise.
62157         * lib/unitypes.h: Likewise.
62158         * lib/uniwidth.h: Likewise.
62159         * lib/uniwidth/cjk.h: Likewise.
62160         * lib/uniwidth/u16-strwidth.c: Likewise.
62161         * lib/uniwidth/u16-width.c: Likewise.
62162         * lib/uniwidth/u32-strwidth.c: Likewise.
62163         * lib/uniwidth/u32-width.c: Likewise.
62164         * lib/uniwidth/u8-strwidth.c: Likewise.
62165         * lib/uniwidth/u8-width.c: Likewise.
62166         * lib/uniwidth/width.c: Likewise.
62167
62168 2007-10-07  Bruno Haible  <bruno@clisp.org>
62169
62170         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62171         The file is still under LGPL (see modules/inttypes).
62172
62173 2007-10-06  Bruno Haible  <bruno@clisp.org>
62174
62175         * modules/trunc (Dependencies): Add 'extensions'.
62176         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62177         Reported by Ben Pfaff <blp@gnu.org>.
62178
62179 2007-10-06  Bruno Haible  <bruno@clisp.org>
62180
62181         * modules/freopen-tests: New file.
62182         * tests/test-freopen.c: New file.
62183
62184         * modules/fopen-tests: New file.
62185         * tests/test-fopen.c: New file.
62186
62187         * modules/fopen: New file.
62188         * lib/fopen.c: New file.
62189         * m4/fopen.m4: New file.
62190         * modules/freopen: New file.
62191         * lib/freopen.c: New file.
62192         * m4/freopen.m4: New file.
62193         * lib/stdio.in.h (fopen, freopen): New declarations.
62194         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62195         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62196         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62197         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62198         * doc/functions/fopen.texi: Mention the 'fopen' module.
62199         * doc/functions/freopen.texi: Mention the 'freopen' module.
62200
62201 2007-10-06  Bruno Haible  <bruno@clisp.org>
62202
62203         * modules/open-tests: New file.
62204         * tests/test-open.c: New file.
62205
62206         * modules/open: New file.
62207         * lib/open.c: New file.
62208         * m4/open.m4: New file.
62209         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62210         lib/open.c does.
62211         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62212         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62213         macros.
62214         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62215         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62216         REPLACE_OPEN.
62217         * doc/functions/open.texi: Mention the 'open' module.
62218
62219 2007-10-04  Bruno Haible  <bruno@clisp.org>
62220
62221         * modules/ceill-tests: New file.
62222         * tests/test-ceill.c: New file.
62223
62224         * modules/ceill: New file.
62225         * lib/ceill.c: Replace entire file.
62226         * m4/ceill.m4: New file.
62227         * lib/math.in.h (ceill): Replace declaration.
62228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62229         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62230         * doc/functions/ceill.texi: Mention the 'ceill' module.
62231         * modules/mathl (Files): Remove lib/ceill.c.
62232         (Depends-on): Add ceill.
62233
62234 2007-10-04  Bruno Haible  <bruno@clisp.org>
62235
62236         * modules/ceilf-tests: New file.
62237         * tests/test-ceilf.c: New file.
62238
62239         * modules/ceilf: New file.
62240         * lib/ceil.c: New file.
62241         * lib/ceilf.c: New file.
62242         * m4/ceilf.m4: New file.
62243         * lib/math.in.h (ceilf): New declaration.
62244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62245         HAVE_DECL_CEILF.
62246         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62247         HAVE_DECL_CEILF.
62248         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62249
62250 2007-10-04  Bruno Haible  <bruno@clisp.org>
62251
62252         * modules/floorl-tests: New file.
62253         * tests/test-floorl.c: New file.
62254
62255         * modules/floorl: New file.
62256         * lib/floorl.c: Replace entire file.
62257         * m4/floorl.m4: New file.
62258         * lib/math.in.h (floorl): Replace declaration.
62259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62260         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62261         * doc/functions/floorl.texi: Mention the 'floorl' module.
62262         * modules/mathl (Files): Remove lib/floorl.c.
62263         (Depends-on): Add floorl.
62264
62265 2007-10-04  Bruno Haible  <bruno@clisp.org>
62266
62267         * modules/floorf-tests: New file.
62268         * tests/test-floorf.c: New file.
62269
62270         * modules/floorf: New file.
62271         * lib/floor.c: New file.
62272         * lib/floorf.c: New file.
62273         * m4/floorf.m4: New file.
62274         * lib/math.in.h (floorf): New declaration.
62275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62276         HAVE_DECL_FLOORF.
62277         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62278         HAVE_DECL_FLOORF.
62279         * doc/functions/floorf.texi: Mention the 'floorf' module.
62280
62281 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62282             Bruno Haible  <bruno@clisp.org>
62283
62284         Advertise for the Git server instead of the CVS server.
62285         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62286         repository instead of the CVS one.
62287         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62288         about all VCS systems generically.
62289         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62290
62291 2007-10-04  Bruno Haible  <bruno@clisp.org>
62292
62293         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62294         means.
62295         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62296
62297 2007-10-04  Bruno Haible  <bruno@clisp.org>
62298
62299         * modules/truncl-tests: New file.
62300         * tests/test-truncl.c: New file.
62301
62302         * modules/truncl: New file.
62303         * lib/truncl.c: New file.
62304         * m4/truncl.m4: New file.
62305         * lib/math.in.h (truncl): New declaration.
62306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62307         HAVE_DECL_TRUNCL.
62308         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62309         HAVE_DECL_TRUNCL.
62310         * doc/functions/truncl.texi: Mention the 'truncl' module.
62311
62312 2007-10-04  Bruno Haible  <bruno@clisp.org>
62313
62314         * modules/truncf-tests: New file.
62315         * tests/test-truncf.c: New file.
62316
62317         * modules/truncf: New file.
62318         * lib/trunc.c: Make paramerizable through USE_* macros.
62319         * lib/truncf.c: New file.
62320         * m4/truncf.m4: New file.
62321         * lib/math.in.h (truncf): New declaration.
62322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62323         HAVE_DECL_TRUNCF.
62324         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62325         HAVE_DECL_TRUNCF.
62326         * doc/functions/truncf.texi: Mention the 'truncf' module.
62327
62328 2007-10-03  Bruno Haible  <bruno@clisp.org>
62329
62330         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62331         augmentation also for tests modules.
62332         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62333         * modules/atexit-tests (Makefile.am): Likewise.
62334         * modules/binary-io-tests (Makefile.am): Likewise.
62335         * modules/c-strcase-tests (Makefile.am): Likewise.
62336         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62337         * modules/canonicalize-tests (Makefile.am): Likewise.
62338         * modules/closein-tests (Makefile.am): Likewise.
62339         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62340         * modules/freadahead-tests (Makefile.am): Likewise.
62341         * modules/fseek-tests (Makefile.am): Likewise.
62342         * modules/fseeko-tests (Makefile.am): Likewise.
62343         * modules/ftell-tests (Makefile.am): Likewise.
62344         * modules/ftello-tests (Makefile.am): Likewise.
62345         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62346         * modules/isnanl-tests (Makefile.am): Likewise.
62347         * modules/lseek-tests (Makefile.am): Likewise.
62348         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62349         * modules/mbscasestr-tests (Makefile.am): Likewise.
62350         * modules/mbschr-tests (Makefile.am): Likewise.
62351         * modules/mbscspn-tests (Makefile.am): Likewise.
62352         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62353         * modules/mbspbrk-tests (Makefile.am): Likewise.
62354         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62355         * modules/mbsrchr-tests (Makefile.am): Likewise.
62356         * modules/mbsspn-tests (Makefile.am): Likewise.
62357         * modules/mbsstr-tests (Makefile.am): Likewise.
62358         * modules/printf-posix-tests (Makefile.am): Likewise.
62359         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62360         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62361         * modules/tsearch-tests (Makefile.am): Likewise.
62362         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62363         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62364         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62365         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62366         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62367         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62368         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62369         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62370         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62371         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62372         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62373         * modules/xstrtol-tests (Makefile.am): Likewise.
62374         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62375         * modules/yesno-tests (Makefile.am): Likewise.
62376
62377 2007-10-03  Bruno Haible  <bruno@clisp.org>
62378
62379         * modules/trunc-tests: New file.
62380         * tests/test-trunc.c: New file.
62381
62382         * modules/trunc: New file.
62383         * lib/trunc.c: New file.
62384         * m4/trunc.m4: New file.
62385         * lib/math.in.h (trunc): New declaration.
62386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62387         HAVE_DECL_TRUNC.
62388         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62389         HAVE_DECL_TRUNC.
62390         * doc/functions/trunc.texi: Mention the 'trunc' module.
62391
62392 2007-10-03  Bruno Haible  <bruno@clisp.org>
62393
62394         * tests/test-fpending.c: New file, mostly copied
62395         from coreutils/lib/t-fpending.c.
62396         * modules/fpending-tests: New file.
62397
62398 2007-10-03  Bruno Haible  <bruno@clisp.org>
62399
62400         Port the stdio extensions to QNX (untested).
62401         * lib/fseterr.c (fseterr): Add support for QNX.
62402         * lib/fbufmode.c (fbufmode): Likewise.
62403         * lib/freadable.c (freadable): Likewise.
62404         * lib/fwritable.c (fwritable): Likewise.
62405         * lib/freading.c (freading): Likewise.
62406         * lib/fwriting.c (fwriting): Likewise.
62407         * lib/freadahead.c (freadahed): Likewise.
62408         * lib/fpurge.c (fpurge): Likewise.
62409         * lib/fseeko.c (rpl_fseeko): Likewise.
62410
62411 2007-10-03  Bruno Haible  <bruno@clisp.org>
62412             Jim Meyering  <jim@meyering.net>
62413             Eric Blake  <ebb9@byu.net>
62414
62415         * doc/relocatable.texi: Use @command instead of @program.
62416
62417 2007-10-02  Jim Meyering  <jim@meyering.net>
62418
62419         Perform one more "_.h" -> ".in.h" substitution.
62420         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
62421         instead of unistd_.h here, too.
62422
62423 2007-10-01  Bruno Haible  <bruno@clisp.org>
62424
62425         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
62426         Needed for the alloca-opt module.
62427
62428 2007-09-30  Bruno Haible  <bruno@clisp.org>
62429
62430         * lib/alloca.in.h: Renamed from lib/alloca_.h.
62431         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
62432         alloca_.h.
62433         * lib/argz.in.h: Renamed from lib/argz_.h.
62434         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
62435         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
62436         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
62437         byteswap_.h.
62438         * lib/dirent.in.h: Renamed from lib/dirent_.h.
62439         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
62440         dirent_.h.
62441         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
62442         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
62443         fcntl_.h.
62444         * lib/float.in.h: Renamed from lib/float_.h.
62445         * modules/float (Files, Makefile.am): Use float.in.h instead of
62446         float_.h.
62447         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
62448         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
62449         fnmatch_.h.
62450         * lib/getopt.in.h: Renamed from lib/getopt_.h.
62451         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
62452         getopt_.h.
62453         * lib/glob.in.h: Renamed from lib/glob_.h.
62454         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
62455         * lib/iconv.in.h: Renamed from lib/iconv_.h.
62456         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
62457         iconv_.h.
62458         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
62459         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
62460         inttypes_.h.
62461         * lib/locale.in.h: Renamed from lib/locale_.h.
62462         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
62463         locale_.h.
62464         * lib/math.in.h: Renamed from lib/math_.h.
62465         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
62466         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
62467         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
62468         of netinet_in_.h. Add dependency.
62469         * lib/poll.in.h: Renamed from lib/poll_.h.
62470         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
62471         * lib/search.in.h: Renamed from lib/search_.h.
62472         * modules/search (Files, Makefile.am): Use search.in.h instead of
62473         search_.h.
62474         * lib/signal.in.h: Renamed from lib/signal_.h.
62475         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
62476         _signal.h.
62477         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
62478         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
62479         stdbool_.h.
62480         * lib/stdint.in.h: Renamed from lib/stdint_.h.
62481         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
62482         stdint_.h.
62483         * lib/stdio.in.h: Renamed from lib/stdio_.h.
62484         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
62485         stdio_.h.
62486         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
62487         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
62488         stdlib_.h.
62489         * lib/string.in.h: Renamed from lib/string_.h.
62490         * modules/string (Files, Makefile.am): Use string.in.h instead of
62491         string_.h.
62492         * doc/gnulib-tool.texi (Initial import): Update.
62493         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
62494         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
62495         of sys_select_.h. Add dependency.
62496         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
62497         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
62498         of sys_socket_.h.
62499         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
62500         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
62501         sys_stat_.h.
62502         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
62503         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
62504         sys_time_.h.
62505         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
62506         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
62507         sysexits_.h.
62508         * lib/time.in.h: Renamed from lib/time_.h.
62509         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
62510         * lib/unistd.in.h: Renamed from lib/unistd_.h.
62511         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
62512         unistd_.h.
62513         * lib/wchar.in.h: Renamed from lib/wchar_.h.
62514         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
62515         wchar_.h.
62516         * lib/wctype.in.h: Renamed from lib/wctype_.h.
62517         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
62518         wctype_.h.
62519         * build-aux/bootstrap (slurp): Update.
62520         * lib/.cppi-disable: Update.
62521
62522 2007-09-30  Bruno Haible  <bruno@clisp.org>
62523
62524         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
62525         Needed on BeOS.
62526
62527 2007-09-30  Bruno Haible  <bruno@clisp.org>
62528
62529         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
62530
62531 2007-09-29  Bruno Haible  <bruno@clisp.org>
62532
62533         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62534
62535 2007-09-29  Bruno Haible  <bruno@clisp.org>
62536
62537         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62538         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62539         * build-aux/install-reloc: Compile also areadlink.c.
62540         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62541
62542 2007-09-29  Bruno Haible  <bruno@clisp.org>
62543
62544         * gnulib-tool (func_emit_initmacro_done): Indentation.
62545
62546 2007-09-29  Bruno Haible  <bruno@clisp.org>
62547
62548         * README: Add CVS checkout update instructions.
62549         Info from Bob Proulx <bob@proulx.com>.
62550
62551 2007-09-28  Eric Blake  <ebb9@byu.net>
62552
62553         Provide move-if-change.
62554         * build-aux/move-if-change: New file, based on best practice
62555         rather than any canonical upstream location.
62556
62557 2007-09-28  Jim Meyering  <jim@meyering.net>
62558
62559         Fix canonicalize loop-detection corner case.
62560         Do not attempt to stat the symlink values stored via seen_triple.
62561         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62562         on linux-2.6.18, (but not 2.6.22).
62563         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62564         triple_compare.  The former compares dev,ino,filename, while the latter
62565         would actually stat dirname(filename) when dev and ino were equal.
62566         * lib/hash-triple.c: Install <string.h>.
62567         (STREQ): Define.
62568         (triple_compare_ino_str): New function.
62569         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62570
62571 2007-09-28  Eric Blake  <ebb9@byu.net>
62572
62573         Enforce that AC_REPLACE_FUNCS files exist.
62574         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62575         override check for typos.
62576
62577         Fix test-closein on Solaris 10.
62578         * tests/test-closein.c (main): Don't assume stdin can be inherited
62579         closed on all systems.
62580         * tests/test-closein.sh: Likewise.
62581         Reported by Piotr Tarnowski.
62582
62583 2007-09-28  Jim Meyering  <jim@meyering.net>
62584
62585         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62586
62587 2007-09-27  Jim Meyering  <jim@meyering.net>
62588
62589         canonicalize: Avoid a false-positive cycle failure.
62590         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62591         Sort.  Remove cycle-check.
62592         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62593         not cycle-check.h.
62594         (seen_triple): New function.
62595         (canonicalize_filename_mode): Use it instead of cycle-check.
62596         * tests/test-canonicalize.c: Add a test for this bug.
62597         * tests/test-canonicalize.sh: Set up and run the test.
62598
62599         New module, file-set, from coreutils.
62600         * modules/file-set: Define it.
62601         * lib/file-set.c, lib/file-set.h: Implement.
62602
62603         New module, hash-triple, from coreutils.
62604         * modules/hash-triple: Define it.
62605         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62606
62607 2007-09-25  Eric Blake  <ebb9@byu.net>
62608
62609         Fix strerror on Interix.
62610         * lib/string_.h (strerror): Declare replacement.
62611         * doc/functions/strerror.texi (strerror): Document the Interix
62612         shortcoming.
62613         * modules/string (Makefile.am): Support new hooks.
62614         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62615         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62616         gl_FUNC_STRERROR_SEPARATE.
62617         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62618         * lib/strerror.c (rpl_strerror): Provide replacement.
62619         * modules/strerror (Depends-on): Add string.
62620         (configure.ac): Detect use of module.
62621         * tests/test-strerror.c: New file.
62622         * modules/strerror-tests: New test module.
62623         * modules/argp (Depends-on): Add strerror.
62624         * modules/error (Depends-on): Likewise.
62625         Reported by Martin Koeppe.
62626
62627 2007-09-24  Bruno Haible  <bruno@clisp.org>
62628
62629         * README: Update git instructions.
62630
62631 2007-09-24  Eric Blake  <ebb9@byu.net>
62632
62633         Revert fpending breakage from 2007-09-08.
62634         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62635         __fpending.c.
62636
62637 2007-09-24  Jim Meyering  <jim@meyering.net>
62638
62639         filenamecat.c: Add a test.
62640         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62641         showing how the function works when DIR is the empty string.
62642
62643 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62644
62645         * tests/test-canonicalize.sh: Turn on executable bit.
62646
62647 2007-09-19  Eric Blake  <ebb9@byu.net>
62648
62649         * README: Update CVS instructions.
62650
62651 2007-09-18  Bruno Haible  <bruno@clisp.org>
62652
62653         * modules/areadlink: New file.
62654         * lib/areadlink.h (areadlink): New declaration.
62655         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62656
62657 2007-09-17  Jim Meyering  <jim@meyering.net>
62658
62659         * lib/savewd.c (ESTALE) [!defined]: Define.
62660         Reported to be required on Interix by Martin Koeppe.
62661
62662 2007-09-17  Bruno Haible  <bruno@clisp.org>
62663
62664         * gnulib-tool (func_version): Use $version.
62665
62666 2007-09-16  Bruno Haible  <bruno@clisp.org>
62667
62668         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62669         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62670         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62671         Reported by Greg Schafer <gschafer@zip.com.au>.
62672
62673 2007-09-15  Bruno Haible  <bruno@clisp.org>
62674
62675         * gnulib-tool (sed): Try a little harder to make bash understand the
62676         alias.
62677         Reported by Bruce Korb <bruce.korb@gmail.com>.
62678
62679 2007-09-13  Eric Blake  <ebb9@byu.net>
62680
62681         * ChangeLog: Remove conflict markers.
62682
62683 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62684
62685         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62686         Reported by Bruno Haible <bruno@clisp.org>.
62687
62688 2007-09-12  Bruno Haible  <bruno@clisp.org>
62689
62690         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62691         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62692         is not defined.
62693
62694 2007-09-12  Eric Blake  <ebb9@byu.net>
62695
62696         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62697         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62698         Autoconf definition.
62699         * modules/euidaccess (Depends-on): Add extensions, for
62700         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62701         * modules/fnmatch (Depends-on): Likewise.
62702         * modules/getaddrinfo (Depends-on): Likewise.
62703         * modules/getdelim (Depends-on): Likewise.
62704         * modules/getline (Depends-on): Likewise.
62705         * modules/getsubopt (Depends-on): Likewise.
62706         * modules/gettext (Depends-on): Likewise.
62707         * modules/group-member (Depends-on): Likewise.
62708         * modules/mbchar (Depends-on): Likewise.
62709         * modules/memmem (Depends-on): Likewise.
62710         * modules/mempcpy (Depends-on): Likewise.
62711         * modules/memrchr (Depends-on): Likewise.
62712         * modules/pagealign_alloc (Depends-on): Likewise.
62713         * modules/readutmp (Depends-on): Likewise.
62714         * modules/stpcpy (Depends-on): Likewise.
62715         * modules/stpncpy (Depends-on): Likewise.
62716         * modules/strchrnul (Depends-on): Likewise.
62717         * modules/strndup (Depends-on): Likewise.
62718         * modules/strsep (Depends-on): Likewise.
62719         * modules/strverscmp (Depends-on): Likewise.
62720         * modules/vasprintf (Depends-on): Likewise.
62721         * modules/wcwidth (Depends-on): Likewise.
62722         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62723         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62724         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62725         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62726         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62727         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62728         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62729         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62730         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62731         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62732         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62733         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62734         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62735         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62736         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62737         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62738         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62739         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62740         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62741         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62742         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62743         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62744         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62745         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62746         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62747         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62748         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62749         so that lock.m4 can be used in gettext without extensions module.
62750
62751 2007-09-11  Bruno Haible  <bruno@clisp.org>
62752
62753         * m4/isc-posix.m4: Remove file.
62754         Suggested by Eric Blake.
62755
62756 2007-09-11  Eric Blake  <ebb9@byu.net>
62757
62758         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62759
62760 2007-09-10  Bruno Haible  <bruno@clisp.org>
62761
62762         * posix-modules: Fix typo in error message.
62763         Reported by Matt <mkraai@beckman.com>.
62764
62765 2007-09-09  Bruno Haible  <bruno@clisp.org>
62766
62767         * doc/functions/getdelim.texi: Update list of platforms lacking the
62768         function.
62769         * doc/functions/getline.texi: Likewise.
62770
62771 2007-09-09  Jim Meyering  <jim@meyering.net>
62772
62773         * lib/hash.c (hash_initialize): Detect calloc failure.
62774         Reported by Bruno Haible.
62775
62776 2007-09-09  Bruno Haible  <bruno@clisp.org>
62777
62778         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62779         malloc or realloc fails.
62780
62781 2007-09-09  Bruno Haible  <bruno@clisp.org>
62782
62783         * modules/getcwd (Depends-on): Add malloc-posix.
62784         * modules/glob (Depends-on): Likewise.
62785         * modules/putenv (Depends-on): Likewise.
62786         * modules/strdup (Depends-on): Likewise.
62787         * modules/getdelim (Depends-on): Add realloc-posix.
62788         * modules/read-file (Depends-on): Likewise.
62789
62790 2007-09-09  Bruno Haible  <bruno@clisp.org>
62791
62792         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62793         (gl_FUNC_MALLOC_POSIX): Require it.
62794         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62795         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62796         * modules/realloc (Files): Add m4/malloc.m4.
62797         * modules/calloc (Files): Likewise.
62798
62799 2007-09-09  Bruno Haible  <bruno@clisp.org>
62800
62801         * modules/malloc-posix: New file.
62802         * modules/malloc (Depends-on): Add malloc-posix.
62803         * lib/malloc.c: Include errno.h.
62804         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62805         and a POSIX-compatible malloc into a single function. Set ENOMEM
62806         when returning NULL.
62807         * m4/malloc.m4: New file.
62808         * doc/functions/malloc.texi: Mention the malloc-posix module.
62809         * lib/stdlib_.h (malloc): New declaration.
62810         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62811         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62812         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62813         and HAVE_MALLOC_POSIX.
62814
62815 2007-09-09  Bruno Haible  <bruno@clisp.org>
62816
62817         * modules/realloc-posix: New file.
62818         * modules/realloc (Depends-on): Add realloc-posix.
62819         * lib/realloc.c: Include errno.h.
62820         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62821         and a POSIX-compatible realloc into a single function. Set ENOMEM
62822         when returning NULL.
62823         * m4/realloc.m4: New file.
62824         * doc/functions/realloc.texi: Mention the realloc-posix module.
62825         * lib/stdlib_.h (realloc): New declaration.
62826         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62827         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62828         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62829         and HAVE_REALLOC_POSIX.
62830
62831 2007-09-09  Bruno Haible  <bruno@clisp.org>
62832
62833         * modules/calloc-posix: New file.
62834         * modules/calloc (Depends-on): Add calloc-posix.
62835         * lib/calloc.c: Include errno.h.
62836         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62837         and a POSIX-compatible calloc into a single function. Set ENOMEM
62838         when returning NULL.
62839         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62840         * doc/functions/calloc.texi: Mention the calloc-posix module.
62841         * lib/stdlib_.h (calloc): New declaration.
62842         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62843         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62844         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62845         and HAVE_CALLOC_POSIX.
62846
62847 2007-09-09  Bruno Haible  <bruno@clisp.org>
62848
62849         Allow for modules to show an arbitrary notice.
62850         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62851         * gnulib-tool: New option --extract-notice.
62852         (func_usage): Document it.
62853         (sed_extract_prog): Update.
62854         (func_get_notice): New function.
62855         (func_modules_notice): New function.
62856         (func_import, func_create_testdir): Invoke it.
62857         Suggested by Jim Meyering.
62858
62859 2007-09-09  Bruno Haible  <bruno@clisp.org>
62860
62861         * gnulib-tool: New options --verbose, --quiet.
62862         (func_usage): Document them.
62863         (verbose): New variable.
62864         (func_execute_command): New function.
62865         (func_import): Don't show the module list and the file list if
62866         $verbose < 0.
62867         (func_create_testdir): Likewise. Use func_execute_command.
62868         (func_create_megatestdir): Use func_execute_command.
62869
62870 2007-09-08  Bruno Haible  <bruno@clisp.org>
62871
62872         * gnulib-tool (func_import): Prefer rsync over wget when available,
62873         for fetching the PO files.
62874
62875 2007-09-08  Bruno Haible  <bruno@clisp.org>
62876
62877         * posix-modules: New file. Portions copied from gnulib-tool.
62878         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62879
62880 2007-09-08  Jim Meyering  <jim@meyering.net>
62881
62882         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62883         * lib/fpending.h: Rename from __fpending.h.
62884         * lib/fpending.c: Rename from __fpending.c.
62885         Include "fpending.h", not "__fpending.h".
62886         * lib/__fpending.h, lib/__fpending.c: Remove files.
62887         * modules/fpending (Files): Reflect new file names.
62888         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62889
62890 2007-09-08  Bruno Haible  <bruno@clisp.org>
62891
62892         * m4/inttypes-h.m4: Remove stub file.
62893
62894 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62895
62896         * doc/headers/stdint.texi: Discuss #include_next issue.
62897
62898 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62899
62900         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62901
62902 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62903
62904         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
62905         in variable name.
62906
62907 2007-09-03  Jim Meyering  <jim@meyering.net>
62908
62909         New module: git-version-gen.
62910         * modules/git-version-gen: New file.
62911
62912         Import changes from coreutils for bootstrap script.
62913
62914         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
62915
62916         bootstrap: uses rsync to download the .po files
62917         * build-aux/bootstrap (po_download_command_format): New global.
62918         (download_po_files): Use rsync.
62919         (update_po_files): Don't remove .po files after download,
62920         so future rsync runs can take advantage of the copies.
62921
62922         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
62923
62924         Solve the unnecessary-.po-file-regeneration problem once and for all.
62925         * build-aux/bootstrap (download_po_files): New function, renamed from
62926         get_translations.  Now, downloads, but doesn't update LINGUAS.
62927         (update_po_files): New function.
62928
62929         bootstrap: Ignore more.
62930         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
62931         uniwidth to e.g., lib/.gitignore.
62932         (slurp): Handle the sys_stat_.h -> sys mapping, too.
62933
62934         * build-aux/bootstrap: New setting: vc_ignore.
62935         (insert_sorted_if_absent): Create $file if absent.
62936         Adapt to new, possibly empty, list: $vc_ignore.
62937
62938         bootstrap: generate more ignorable names
62939         * build-aux/bootstrap (slurp): When generating ignorable names,
62940         also map .sin to .sed, .gperf to .c, and .y to .c.
62941
62942 2007-09-03  Jim Meyering  <jim@meyering.net>
62943
62944         * build-aux/git-version-gen: New file, from coreutils.  For details, see
62945         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
62946
62947 2007-09-02  Bruno Haible  <bruno@clisp.org>
62948
62949         Fix mis-recognition of 'mcs' on QNX 6.
62950         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
62951         output contains the string "Mono".
62952         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
62953         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
62954
62955 2007-09-01  Bruno Haible  <bruno@clisp.org>
62956
62957         Fix collision between uniwidth/* and linebreak modules.
62958         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
62959         u32_width): Remove declarations.
62960         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
62961         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
62962         streq3, streq2, streq1, streq0): Remove functions.
62963         (STREQ): Remove macro.
62964         (is_cjk_encoding): Remove function.
62965         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
62966         (uc_width, u8_width, u16_width, u32_width): Remove functions.
62967         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
62968         * NEWS: Document the change.
62969
62970 2007-09-01  Bruno Haible  <bruno@clisp.org>
62971
62972         * lib/streq.h: Add double-inclusion guard.
62973
62974 2007-09-01  Karl Berry  <karl@gnu.org>
62975
62976         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
62977
62978 2007-08-28  Jim Meyering  <jim@meyering.net>
62979
62980         Rename mreadlink_with_size to areadlink_with_size.
62981         * NEWS: Document the change.
62982         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
62983         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
62984         * lib/mreadlink.h: Rename this to...
62985         * lib/areadlink.h: ...this.
62986         * modules/mreadlink-with-size: Rename this to...
62987         * modules/areadlink-with-size: ...this.
62988         * lib/canonicalize.c: Reflect the renaming.
62989         * modules/canonicalize: Likewise.
62990
62991 2007-08-26  Bruno Haible  <bruno@clisp.org>
62992
62993         * gnulib-tool (func_import): When deciding which files to remove,
62994         consider also dangling symbolic links.
62995         Reported by Eric Blake.
62996
62997 2007-08-26  Bruno Haible  <bruno@clisp.org>
62998
62999         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63000
63001 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63002
63003         * lib/readline.c: Don't include getline.h, the prototype is now
63004         found in stdio.h.
63005
63006 2007-08-23  Jim Meyering  <jim@meyering.net>
63007
63008         Getdelim touchup.
63009         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63010         around the funlockfile call, since funlockfile never sets errno.
63011         Don't set errno upon failed realloc.
63012
63013 2007-08-22  Eric Blake  <ebb9@byu.net>
63014
63015         Getline touchups.
63016         * lib/getdelim.c (getdelim): Revert regression that required *n to
63017         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63018         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63019         getdelim, rather than whether implementation is missing.
63020         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63021         * lib/stdio_.h (getline): Also declare if replacement is
63022         required.
63023         * doc/functions/getdelim.texi: New file.
63024         * doc/functions/getline.texi: Likewise.
63025         * doc/gnulib.texi (Function Substitutes): Add new files.
63026         Reported by Bruno Haible.
63027
63028 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63029
63030         * users.txt: Add Guile.
63031
63032 2007-08-22  Eric Blake  <ebb9@byu.net>
63033
63034         * tests/test-getdelim.c (main): Use remove, not unlink.
63035         * tests/test-getline.c (main): Likewise.
63036
63037         Move getline and getdelim into stdio.h, per POSIX 200x.
63038         * modules/getline (Files): Remove getline.h.
63039         (Depends-on): Add stdio.
63040         (configure.ac): Add module indicator.
63041         * modules/getdelim (Files): Remove getdelim.h.
63042         (Depends-on): Add stdio.
63043         (configure.ac): Add module indicator.
63044         * modules/stdio (Makefile.am): Work with new indicators.
63045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63046         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63047         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63048         * lib/getdelim.h: Delete.
63049         * lib/getline.h: Delete.
63050         * lib/stdio_.h (getdelim, getline): Declare.
63051         * modules/getdelim-tests: New module.
63052         * modules/getline-tests: Likewise.
63053         * tests/test-getdelim.c: New file.
63054         * tests/test-getline.c: Likewise.
63055         * NEWS: Document the change.
63056         * lib/getline.c: Update choice of header.
63057         * lib/csharpcomp.c: Likewise.
63058         * lib/getpass.c: Likewise.
63059         * lib/javacomp.c: Likewise.
63060         * lib/javaversion.c: Likewise.
63061         * lib/yesno.c: Likewise.
63062         * lib/getdelim.c: Likewise.
63063         (getdelim): Set errno on failure, and avoid memory leak.
63064
63065 2007-08-19  Bruno Haible  <bruno@clisp.org>
63066
63067         * modules/closein (Depends-on): Add freadahead.
63068         * lib/closein.c: Include freadahead.h.
63069         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63070         is zero.
63071
63072 2007-08-19  Bruno Haible  <bruno@clisp.org>
63073
63074         * modules/freadahead-tests: New file.
63075         * tests/test-freadahead.sh: New file.
63076         * tests/test-freadahead.c: New file.
63077
63078         * modules/freadahead: New file.
63079         * lib/freadahead.h: New file.
63080         * lib/freadahead.c: New file.
63081         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63082         fbufmode, fpurge, freadable, fwritable.
63083
63084 2007-08-19  Eric Blake  <ebb9@byu.net>
63085
63086         Test yesno in combination with closein.
63087         * lib/yesno.c (yesno): Document use of stdin.
63088         * modules/yesno-tests (Files): New module.
63089         * tests/test-yesno.c (main): New file.
63090         * tests/test-yesno.sh: Likewise.
63091
63092 2007-08-19  Bruno Haible  <bruno@clisp.org>
63093
63094         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63095         * lib/fseeko.c (rpl_fseeko): Likewise.
63096         * lib/fseterr.c (fseterr): Likewise.
63097
63098 2007-08-19  Bruno Haible  <bruno@clisp.org>
63099
63100         * tests/test-lseek.c (main): Disable a test for BeOS.
63101         * doc/functions/lseek.texi: Document the BeOS bug.
63102
63103 2007-08-19  Bruno Haible  <bruno@clisp.org>
63104             Eric Blake  <ebb9@byu.net>
63105
63106         * lib/lseek.c: Include <sys/stat.h>.
63107         (rpl_lseek): Add workaround code also for Unix platforms.
63108         Needed for BeOS.
63109         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63110         * doc/functions/lseek.texi: Document BeOS definiency.
63111
63112 2007-08-18  Bruno Haible  <bruno@clisp.org>
63113
63114         * modules/fstrcmp-tests: New file.
63115         * tests/test-fstrcmp.c: New file.
63116
63117 2007-08-18  Bruno Haible  <bruno@clisp.org>
63118
63119         * modules/fstrcmp: New file, from GNU gettext with modifications.
63120         * lib/fstrcmp.h: New file, from GNU gettext.
63121         * lib/fstrcmp.c: New file, from GNU gettext.
63122         * MODULES.html.sh (String handling): Add fstrcmp.
63123
63124 2007-08-18  Bruno Haible  <bruno@clisp.org>
63125
63126         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63127         'bool'.
63128         (diag, compareseq): Remove const from the ctxt argument.
63129         (USE_HEURISTIC): Undefine at the end.
63130
63131 2007-08-18  Jim Meyering  <jim@meyering.net>
63132
63133         New file: lib/idcache.h
63134         * NEWS: Mention the addition.
63135         * modules/idcache (Files): Add lib/idcache.h
63136         * lib/idcache.c: Include "idcache.h".
63137         Don't include <sys/types.h>.
63138         Add a FIXME comment.
63139         Move file-scoped "static" declarations to the top.
63140         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63141
63142 2007-08-17  Bruno Haible  <bruno@clisp.org>
63143         and Paul Eggert  <eggert@cs.ucla.edu>
63144
63145         * MODULES.html.sh: Add diffseq.
63146         * modules/diffseq: New file.
63147         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63148         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63149
63150 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63151
63152         Import changes from coreutils for bootstrap script.
63153
63154         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63155
63156         * build-aux/bootstrap (slurp): Work even in environments where
63157         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63158         current code does not slurp files whose names start with ".", and
63159         this looks like it might be a troublesome area.
63160
63161         2007-07-11  Jim Meyering  <jim@meyering.net>
63162
63163         If there's a GPL vN copyright comment, require that N == 3.
63164
63165         2007-07-08  Jim Meyering  <jim@meyering.net>
63166
63167         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63168         * build-aux/bootstrap (mam_template): Move definition out of loop.
63169
63170         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63171
63172         * build-aux/bootstrap (symlink_to_dir): Rename function from
63173         symlink_to_gnulib.  Add a directory parameter.  Update all
63174         callers.
63175         (cp_mark_as_generated): Also check for -- and link to -- files in
63176         gl/.
63177
63178         2007-07-08  Jim Meyering  <jim@meyering.net>
63179
63180         Adapt to deeper hierarchy in gnulib.
63181         * build-aux/bootstrap (symlink_to_dir): If the destination
63182         directory doesn't exist, create it. This is required at least for
63183         "lib/uniwidth/cjk.h".
63184
63185         2007-05-15  Jim Meyering  <jim@meyering.net>
63186
63187         * build-aux/bootstrap: Now that generated Makefile.am files
63188         are no longer under version control, they must be created at
63189         bootstrap time.
63190
63191 2007-08-14  Ben Pfaff  <blp@gnu.org>
63192
63193         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63194
63195 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63196
63197         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63198         given the changes below.
63199         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63200         even on hosts that have padding bits beyond the supported 64.
63201
63202 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63203
63204         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63205         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63206         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63207         depends on it.
63208         (xstrtol_error): Remove.
63209         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63210         but with a different signature.
63211         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63212         * lib/xstrtol-error.c: Include exitfail.h.
63213         (xstrtol_fatal): New function, with a different signature from the
63214         old xstrtol_error, so that the caller need not worry about passing
63215         in an exit status, or about storage management of the option argument.
63216         (xstrtol_error): Now a static function.  Redo signature to
63217         implement xstrtol_fatal.  Output the correct number of hyphens in
63218         front of the option so that the caller need not worry about
63219         storage management.
63220         (N_): New macro.
63221         (_): Remove; not used now.
63222         * modules/xstrtol: Depend on getopt.
63223         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63224         of old STRTOL_FATAL_ERROR macro.
63225         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63226         of test program.
63227         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63228         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63229
63230 2007-08-08  Eric Blake  <ebb9@byu.net>
63231
63232         * lib/xstrtol-error.c: Add missing include.
63233
63234         Move xstrtol messages into gnulib domain, when --pobase is used.
63235         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63236         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63237         * modules/xstrtol (Files): Distribute new file.
63238         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63239         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63240         * tests/test-xstrtol.c: ...into new file.
63241         * tests/test-xstrtoul.c: Also test xstrtoul.
63242         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63243         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63244         * tests/test-xstrtol.sh: Drive the tests.
63245         * tests/test-xstrtoimax.sh: Likewise.
63246         * tests/test-xstrtoumax.sh: Likewise.
63247         * modules/xstrtol-tests: New module.
63248         * modules/xstrtoimax-tests: Likewise.
63249         * modules/xstrtoumax-tests: Likewise.
63250
63251 2007-08-08  Jim Meyering  <jim@meyering.net>
63252
63253         New function: mfile_name_concat.
63254         * lib/filenamecat.c (mfile_name_concat): New function, just like
63255         file_name_concat, but return NULL upon failure rather than exiting
63256         with a diagnostic.
63257         * lib/filenamecat.h: Declare it.
63258
63259 2007-08-07  Bruno Haible  <bruno@clisp.org>
63260
63261         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63262         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63263         warning from gcc.
63264         Reported by Eric Blake.
63265
63266 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63267
63268         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63269         * modules/crypto/arcfour (License): Likewise.
63270         * modules/crypto/des-tests (License): Likewise.
63271         * modules/crypto/gc-arctwo-tests (License): Likewise.
63272         * modules/crypto/gc-des-tests (License): Likewise.
63273         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63274         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63275         * modules/crypto/gc-md2-tests (License): Likewise.
63276         * modules/crypto/gc-md4-tests (License): Likewise.
63277         * modules/crypto/gc-md5-tests (License): Likewise.
63278         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63279         * modules/crypto/gc-rijndael-tests (License): Likewise.
63280         * modules/crypto/gc-sha1-tests (License): Likewise.
63281         * modules/crypto/gc-tests (License): Likewise.
63282         * modules/crypto/hmac-md5 (License): Likewise.
63283         * modules/crypto/hmac-sha1 (License): Likewise.
63284         * modules/crypto/md2-tests (License): Likewise.
63285         * modules/crypto/md4-tests (License): Likewise.
63286         * modules/crypto/md5 (License): Likewise.
63287         * modules/crypto/rijndael (License): Likewise.
63288         * modules/crypto/sha1 (License): Likewise.
63289         * modules/memxor (License): Likewise.
63290
63291 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63292         and Bruno Haible  <bruno@clisp.org>
63293
63294         * NEWS: Describe interface changes to human, xstrtol.
63295         * lib/human.h: Include <xstrtol.h>.
63296         (human_options): Return enum strtol_error, not int.  Remove
63297         bool arg; take int * instead.
63298         * lib/human.c: Don't include "gettext.h".
63299         (_): Remove; no longer used.
63300         Don't include <xstrtol.h>, since human.h does it.
63301         (human_options): Adjust to abovementioned interface changes.
63302         Do not report error to stderr; that's now the caller's
63303         responsibility.
63304         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63305         interface change.
63306         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63307         Str, Argument_type_string.  All uses changed.  Put " argument"
63308         in diagnostics to make them clearer.  Change wording of suffix
63309         message for clarity.
63310         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63311         Argument_type_string.
63312         (STRTOL_FATAL_WARN): Remove; no longer used.
63313         * modules/human (Depends-on): Remove gettext-h.
63314
63315 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63316
63317         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63318
63319 2007-07-31  Bruno Haible  <bruno@clisp.org>
63320
63321         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63322         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63323         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63324
63325 2007-07-31  Bruno Haible  <bruno@clisp.org>
63326
63327         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63328         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63329
63330 2007-07-30  Bruno Haible  <bruno@clisp.org>
63331
63332         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63333         * modules/c-ctype (License): Likewise.
63334         * modules/c-strcase (License): Likewise.
63335         * modules/check-version (License): Likewise.
63336         * modules/iconv (License): Likewise.
63337         * modules/iconv_open (License): Likewise.
63338         * modules/read-file (License): Likewise.
63339         * modules/striconv (License): Likewise.
63340         * modules/strverscmp (License): Likewise.
63341         * modules/vasprintf (License): Likewise.
63342         * modules/crypto/des (License): Likewise.
63343         * modules/crypto/gc (License): Likewise.
63344         * modules/crypto/gc-arcfour (License): Likewise.
63345         * modules/crypto/gc-arctwo (License): Likewise.
63346         * modules/crypto/gc-des (License): Likewise.
63347         * modules/crypto/gc-hmac-md5 (License): Likewise.
63348         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63349         * modules/crypto/gc-md2 (License): Likewise.
63350         * modules/crypto/gc-md4 (License): Likewise.
63351         * modules/crypto/gc-md5 (License): Likewise.
63352         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63353         * modules/crypto/gc-random (License): Likewise.
63354         * modules/crypto/gc-rijndael (License): Likewise.
63355         * modules/crypto/gc-sha1 (License): Likewise.
63356         * modules/crypto/md2 (License): Likewise.
63357         * modules/crypto/md4 (License): Likewise.
63358
63359 2007-07-30  Jim Meyering  <jim@meyering.net>
63360
63361         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63362         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63363         it has valid stat data.  This bug would cause du not to count the
63364         sizes of inaccessible directories.
63365         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63366         in <http://bugzilla.redhat.com/250077>.
63367
63368 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63369             Bruno Haible  <bruno@clisp.org>
63370
63371         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63372         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63373         #include_next, gives a diagnostic about it, but reports no error in
63374         the exit code.
63375         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63376
63377 2007-07-24  Ben Pfaff  <blp@gnu.org>
63378
63379         Improve name: "count-one-bits" is better than "popcount".
63380         * MODULES.html.sh: Update name.
63381         * lib/popcount.h: Renamed lib/count-one-bits.h.
63382         (popcount): Renamed count_one_bits.
63383         (popcountl): Renamed count_one_bits_l.
63384         (popcountll): Renamed count_one_bits_ll.
63385         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63386         * modules/popcount: Renamed module/count-one-bits.
63387         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63388         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63389
63390 2007-07-23  Ben Pfaff  <blp@gnu.org>
63391
63392         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63393         better code generation, and add U to large constants to avoid
63394         warnings, in non-GCC case.
63395         Suggested by Bruno Haible.
63396
63397 2007-07-23  Ben Pfaff  <blp@gnu.org>
63398
63399         * lib/popcount.h: Use verify_true instead of if...abort.
63400         * modules/popcount: Depend on verify module.
63401         Suggested by Jim Meyering.
63402
63403 2007-07-23  Bruno Haible  <bruno@clisp.org>
63404
63405         * gnulib-tool (func_import): Create a .cvsignore file also when the
63406         directory is not yet in CVS but the toplevel directory is. When
63407         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
63408         Reported by Karl Berry.
63409
63410 2007-07-22  Ben Pfaff  <blp@gnu.org>
63411
63412         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
63413         case.
63414         Suggested by Eric Blake.
63415
63416 2007-07-22  Ben Pfaff  <blp@gnu.org>
63417
63418         New module: popcount.
63419         * MODULES.html.sh: Add popcount.
63420         * modules/popcount: New file.
63421         * modules/popcount-tests: New file.
63422         * tests/test-popcount.c: New file.
63423         * lib/popcount.h: New file.
63424         * m4/popcount.m4: New file.
63425
63426 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63427
63428         * build-aux/announce-gen: Update to GPLv3.
63429
63430         * build-aux/config.guess: Update from config.
63431
63432 2007-07-21  Bruno Haible  <bruno@clisp.org>
63433
63434         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
63435         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
63436
63437 2007-07-20  Jim Meyering  <jim@meyering.net>
63438
63439         * check-module: Diagnose a self-dependency.
63440
63441 2007-07-19  Bruno Haible  <bruno@clisp.org>
63442
63443         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
63444         empty.
63445         Reported by Eric Blake.
63446
63447 2007-07-18  Bruno Haible  <bruno@clisp.org>
63448
63449         * gnulib-tool: New options --po-base, --po-domain.
63450         (func_usage): Document them.
63451         (pobase, po_domain): New variables.
63452         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
63453         DEFAULT_TEXT_DOMAIN.
63454         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
63455         (func_import): Consider pobase and po_domain. Create a po/ directory.
63456         (func_create_testdir): Set pobase and po_domain to empty.
63457         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
63458         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
63459
63460 2007-07-18  Bruno Haible  <bruno@clisp.org>
63461
63462         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63463         EXTRA_DIST augmentation for files in build-aux/.
63464
63465 2007-07-16  Bruno Haible  <bruno@clisp.org>
63466
63467         * modules/lseek (License): Use the synonymous term "LGPLv2+".
63468         * modules/getdelim (License): Likewise.
63469
63470 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63471
63472         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
63473         * modules/d-type (License): Likewise.
63474         * modules/extensions (License): Likewise.
63475         * modules/fnmatch (License): Likewise.
63476         * modules/fseeko (License): Likewise.
63477         * modules/getaddrinfo (License): Likewise.
63478         * modules/getline (License): Likewise.
63479         * modules/getlogin_r (License): Likewise.
63480         * modules/getpass (License): Likewise.
63481         * modules/gettimeofday (License): Likewise.
63482         * modules/glob (License): Likewise.
63483         * modules/inet_ntop (License): Likewise.
63484         * modules/malloc (License): Likewise.
63485         * modules/malloca (License): Likewise.
63486         * modules/memmem (License): Likewise.
63487         * modules/mempcpy (License): Likewise.
63488         * modules/memset (License): Likewise.
63489         * modules/minmax (License): Likewise.
63490         * modules/mktime (License): Likewise.
63491         * modules/netinet_in (License): Likewise.
63492         * modules/pathmax (License): Likewise.
63493         * modules/poll (License): Likewise.
63494         * modules/regex (License): Likewise.
63495         * modules/snprintf (License): Likewise.
63496         * modules/stdbool (License): Likewise.
63497         * modules/stdint (License): Likewise.
63498         * modules/stdio (License): Likewise.
63499         * modules/strcase (License): Likewise.
63500         * modules/strcasestr (License): Likewise.
63501         * modules/strdup (License): Likewise.
63502         * modules/string (License): Likewise.
63503         * modules/strndup (License): Likewise.
63504         * modules/strnlen (License): Likewise.
63505         * modules/strpbrk (License): Likewise.
63506         * modules/strptime (License): Likewise.
63507         * modules/strsep (License): Likewise.
63508         * modules/sys_select (License): Likewise.
63509         * modules/sys_socket (License): Likewise.
63510         * modules/sys_stat (License): Likewise.
63511         * modules/sys_time (License): Likewise.
63512         * modules/time (License): Likewise.
63513         * modules/time_r (License): Likewise.
63514         * modules/timegm (License): Likewise.
63515         * modules/unistd (License): Likewise.
63516         * modules/vsnprintf (License): Likewise.
63517         * modules/wctype (License): Likewise.
63518
63519 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63520
63521         * modules/argz (License): LGPLv2+.
63522
63523 2007-07-15  Karl Berry  <karl@gnu.org>
63524
63525         * doc/gnulib.texi: revise node structure per new fdl.texi.
63526
63527 2007-07-14  Bruno Haible  <bruno@clisp.org>
63528
63529         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
63530         the output file.
63531         * lib/uniname/uninames.h: Regenerated.
63532
63533 2007-07-14  Karl Berry  <karl@gnu.org>
63534
63535         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63536         omitting sectioning and index commands.
63537
63538 2007-07-13  Bruno Haible  <bruno@clisp.org>
63539
63540         New gnulib-tool option --more-symlinks.
63541         * gnulib-tool (func_usage): Document --more-symlinks.
63542         (do_copyrights): New variable.
63543         Recognize option --more-symlinks.
63544         (func_import): Don't add a copyright notice transform to
63545         sed_transform_lib_file if do_copyrights is empty.
63546
63547 2007-07-13  Bruno Haible  <bruno@clisp.org>
63548
63549         * lib/vasnprintf.c (decimal_point_char): Define also if
63550         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63551         && !NEED_PRINTF_DIRECTIVE_A.
63552         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63553         Gary V. Vaughan <gary@gnu.org>.
63554
63555 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63556
63557         * lib/inttypes_.h: Undo previous change, since it was fixed
63558         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63559
63560 2007-07-13  Bruno Haible  <bruno@clisp.org>
63561
63562         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63563         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63564
63565 2007-07-13  Jim Meyering  <jim@meyering.net>
63566
63567         df: Don't fail for Tru64's "file-on-file mount".
63568         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63569         so we fall through and use statfs instead.  Details here:
63570         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63571         Reported by Albert Chin.
63572
63573 2007-07-13  Bruno Haible  <bruno@clisp.org>
63574
63575         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63576         * modules/configmake (License): Likewise.
63577         * modules/gettext (License): Likewise.
63578         * modules/gettext-h (License): Likewise.
63579         * modules/include_next (License): Likewise.
63580         * modules/link-warning (License): Likewise.
63581         * modules/localcharset (License): Likewise.
63582         * modules/localename (License): Likewise.
63583         * modules/lock (License): Likewise.
63584         * modules/relocatable-lib-lgpl (License): Likewise.
63585         * modules/size_max (License): Likewise.
63586         * modules/vasnprintf (License): Likewise.
63587         * modules/wchar (License): Likewise.
63588         * modules/xsize (License): Likewise.
63589
63590 2007-07-13  Bruno Haible  <bruno@clisp.org>
63591
63592         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63593         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63594
63595 2007-07-12  Bruno Haible  <bruno@clisp.org>
63596
63597         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63598         in the modules files.
63599
63600 2007-07-11  Karl Berry  <karl@gnu.org>
63601
63602         * MODULES.html.sh (func_module): use
63603          sed -e '\|^'"${includefile}"'$|d'
63604          instead of /.../d, to avoid errors on $includefile's containing /.
63605
63606 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63607
63608         * gnulib-tool (func_import): Avoid duplication of --avoid
63609         statements
63610         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63611         names to `_' in variable names.
63612
63613 2007-07-10  Eric Blake  <ebb9@byu.net>
63614
63615         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63616         * NEWS: Document this change.
63617
63618 2007-07-08  Bruno Haible  <bruno@clisp.org>
63619
63620         Update to Unicode 5.0.
63621         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63622         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63623         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63624         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63625         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63626         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63627         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63628         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63629         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63630         U+10A3F, U+1D242..U+1D244.
63631         (nonspacing_table_ind): Update.
63632         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63633         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63634
63635 2007-07-08  Bruno Haible  <bruno@clisp.org>
63636
63637         Update to Unicode 5.0.
63638         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63639         code transform. Extend the name index field of unicode_name_to_code and
63640         unicode_code_to_name from 16 to 24 bits.
63641         * lib/uniname/uniname.c (unicode_character_name,
63642         unicode_name_character): Add the range 0x12xxx to the code transform.
63643         * lib/uniname/uninames.h: Regenerated.
63644         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63645
63646 2007-07-07  Bruno Haible  <bruno@clisp.org>
63647
63648         * modules/wcwidth-tests: New file.
63649         * tests/test-wcwidth.c: New file.
63650
63651         Work around MacOS X wcwidth() bug.
63652         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63653         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63654         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63655         original wcwidth in non-UTF-8 locales.
63656         * modules/wcwidth (Depends-on): Add localcharset, streq,
63657         uniwidth/width.
63658         * doc/functions/wcwidth.texi: Update.
63659
63660 2007-07-07  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63663         (wcwidth): New declaration.
63664         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63665         macros.
63666         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63667         here. Prepare for creating <wchar.h> unconditionally.
63668         * modules/wchar (Depends-on): Add link-warning.
63669         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63670         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63671         * lib/wcwidth.h: Remove file.
63672         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63673         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63674         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63675         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63676         (Include): Replace wcwidth.h with <wchar.h>.
63677         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63678         * lib/mbchar.h: Don't include wcwidth.h.
63679         * lib/mbswidth.c: Likewise.
63680         * NEWS: Mention the change.
63681
63682 2007-07-07  Bruno Haible  <bruno@clisp.org>
63683
63684         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63685         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63686         definition with an external declaration.
63687         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63688         defined as a function. Remove AC_C_INLINE requirement.
63689         * modules/wcwidth (Files): Add lib/wcwidth.c.
63690         (Makefile.am): Remove redundant statement.
63691
63692 2007-07-07  Bruno Haible  <bruno@clisp.org>
63693
63694         * MODULES.html.sh (Unicode string functions): Add the new modules.
63695
63696         * tests/uniwidth/test-u32-strwidth.c: New file.
63697         * modules/uniwidth/u32-strwidth-tests: New file.
63698
63699         * lib/uniwidth/u32-strwidth.c: New file.
63700         * modules/uniwidth/u32-strwidth: New file.
63701
63702         * tests/uniwidth/test-u16-strwidth.c: New file.
63703         * modules/uniwidth/u16-strwidth-tests: New file.
63704
63705         * lib/uniwidth/u16-strwidth.c: New file.
63706         * modules/uniwidth/u16-strwidth: New file.
63707
63708         * tests/uniwidth/test-u8-strwidth.c: New file.
63709         * modules/uniwidth/u8-strwidth-tests: New file.
63710
63711         * lib/uniwidth/u8-strwidth.c: New file.
63712         * modules/uniwidth/u8-strwidth: New file.
63713
63714         * tests/uniwidth/test-u32-width.c: New file.
63715         * modules/uniwidth/u32-width-tests: New file.
63716
63717         * lib/uniwidth/u32-width.c: New file.
63718         * modules/uniwidth/u32-width: New file.
63719
63720         * tests/uniwidth/test-u16-width.c: New file.
63721         * modules/uniwidth/u16-width-tests: New file.
63722
63723         * lib/uniwidth/u16-width.c: New file.
63724         * modules/uniwidth/u16-width: New file.
63725
63726         * tests/uniwidth/test-u8-width.c: New file.
63727         * modules/uniwidth/u8-width-tests: New file.
63728
63729         * lib/uniwidth/u8-width.c: New file.
63730         * modules/uniwidth/u8-width: New file.
63731
63732         * tests/uniwidth/test-uc_width.c: New file.
63733         * modules/uniwidth/width-tests: New file.
63734
63735         * lib/uniwidth/width.c: New file, from GNU libiconv.
63736         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63737         * modules/uniwidth/width: New file.
63738
63739         * lib/uniwidth.h: New file, from GNU libiconv.
63740         * modules/uniwidth/base: New file.
63741
63742 2007-07-07  Bruno Haible  <bruno@clisp.org>
63743
63744         * lib/uniname.h: New file, from GNU gettext.
63745         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63746         * lib/uniname/uninames.h: New file, from GNU gettext.
63747         * lib/uniname/uniname.c: New file, from GNU gettext.
63748         * tests/uniname/test-uninames.sh: New file.
63749         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63750         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63751         * modules/uniname/base: New file.
63752         * modules/uniname/uniname: New file.
63753         * modules/uniname/uniname-tests: New file.
63754         * MODULES.html.sh (Unicode string functions): Add the new modules.
63755
63756 2007-07-06  Bruno Haible  <bruno@clisp.org>
63757
63758         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63759
63760 2007-07-06  Bruno Haible  <bruno@clisp.org>
63761
63762         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63763         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63764         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63765         include <sys/time.h>.
63766         Reported by Eric Blake.
63767
63768 2007-07-06  Eric Blake  <ebb9@byu.net>
63769
63770         Fix testing canonicalize on cygwin.
63771         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63772         Revert patch from 2007-06-19.
63773         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63774         canonicalize module is also in use.
63775         * tests/test-canonicalize.c: New file.
63776         * tests/test-canonicalize.sh: Likewise.
63777         * modules/canonicalize-tests: Likewise.
63778
63779 2007-07-06  Jim Meyering  <jim@meyering.net>
63780
63781         * lib/getugroups.c (getugroups): Detect getgrent failure.
63782         Adjust comment to reflect reality: this function may return -1.
63783
63784 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63785
63786         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63787         the new TP address.
63788         (usage): Fix typo
63789         (gnulib_mk): New variable.
63790
63791 2007-07-05  Jim Meyering  <jim@meyering.net>
63792
63793         Don't let endgrent clobber errno, no matter how improbable.
63794         * lib/getugroups.c (getugroups): Save and restore errno around
63795         endgrent call.
63796
63797         Close the group DB even when failing with 2^31 or more members.
63798         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63799
63800 2007-07-04  Jim Meyering  <jim@meyering.net>
63801
63802         * lib/getugroups.h: New file.
63803         * lib/getugroups.c: Include "getugroups.h".
63804         Remove uses of "register" keyword.
63805         Move local variable, "cp", down into scope where used.
63806         Give "username" parameter the "const" attribute.
63807         * modules/getugroups (Files): Add lib/getugroups.h
63808
63809 2007-07-04  Karl Berry  <karl@gnu.org>
63810
63811         * MODULES.html.sh (func_all_modules): Complete rename of
63812         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63813
63814 2007-07-02  Bruno Haible  <bruno@clisp.org>
63815
63816         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63817         mode, when inttypes.h comes from gnulib.
63818         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63819
63820 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63821
63822         * NEWS: Mention lgpl module name change.
63823
63824         * modules/lgpl-2.1: Renamed from lgpl.
63825
63826         * NEWS: Mention gpl module name change.
63827
63828         * modules/gpl-3.0: New file, based on gpl-2.0.
63829
63830         * modules/gpl-2.0: Renamed from gpl.
63831
63832         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63833         doc/gpl-2.0.texi.
63834
63835 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63836
63837         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63838         #define __STDC_LIMIT_MACROS temporarily while including
63839         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63840         Problem reported by Joel E. Denny in
63841         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63842
63843 2007-07-01  Bruno Haible  <bruno@clisp.org>
63844
63845         * lib/unistdio.h: New file.
63846         * lib/unistdio/u-asnprintf.h: New file.
63847         * lib/unistdio/u-asprintf.h: New file.
63848         * lib/unistdio/u-printf-args.c: New file.
63849         * lib/unistdio/u-printf-args.h: New file.
63850         * lib/unistdio/u-printf-parse.h: New file.
63851         * lib/unistdio/u-snprintf.h: New file.
63852         * lib/unistdio/u-sprintf.h: New file.
63853         * lib/unistdio/u-vasprintf.h: New file.
63854         * lib/unistdio/u-vsnprintf.h: New file.
63855         * lib/unistdio/u-vsprintf.h: New file.
63856         * lib/unistdio/ulc-asnprintf.c: New file.
63857         * lib/unistdio/ulc-asprintf.c: New file.
63858         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63859         * lib/unistdio/ulc-printf-parse.c: New file.
63860         * lib/unistdio/ulc-snprintf.c: New file.
63861         * lib/unistdio/ulc-sprintf.c: New file.
63862         * lib/unistdio/ulc-vasnprintf.c: New file.
63863         * lib/unistdio/ulc-vasprintf.c: New file.
63864         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63865         * lib/unistdio/ulc-vsnprintf.c: New file.
63866         * lib/unistdio/ulc-vsprintf.c: New file.
63867         * lib/unistdio/u8-asnprintf.c: New file.
63868         * lib/unistdio/u8-asprintf.c: New file.
63869         * lib/unistdio/u8-printf-parse.c: New file.
63870         * lib/unistdio/u8-snprintf.c: New file.
63871         * lib/unistdio/u8-sprintf.c: New file.
63872         * lib/unistdio/u8-vasnprintf.c: New file.
63873         * lib/unistdio/u8-vasprintf.c: New file.
63874         * lib/unistdio/u8-vsnprintf.c: New file.
63875         * lib/unistdio/u8-vsprintf.c: New file.
63876         * lib/unistdio/u8-u8-asnprintf.c: New file.
63877         * lib/unistdio/u8-u8-asprintf.c: New file.
63878         * lib/unistdio/u8-u8-snprintf.c: New file.
63879         * lib/unistdio/u8-u8-sprintf.c: New file.
63880         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63881         * lib/unistdio/u8-u8-vasprintf.c: New file.
63882         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63883         * lib/unistdio/u8-u8-vsprintf.c: New file.
63884         * lib/unistdio/u16-asnprintf.c: New file.
63885         * lib/unistdio/u16-asprintf.c: New file.
63886         * lib/unistdio/u16-printf-parse.c: New file.
63887         * lib/unistdio/u16-snprintf.c: New file.
63888         * lib/unistdio/u16-sprintf.c: New file.
63889         * lib/unistdio/u16-vasnprintf.c: New file.
63890         * lib/unistdio/u16-vasprintf.c: New file.
63891         * lib/unistdio/u16-vsnprintf.c: New file.
63892         * lib/unistdio/u16-vsprintf.c: New file.
63893         * lib/unistdio/u16-u16-asnprintf.c: New file.
63894         * lib/unistdio/u16-u16-asprintf.c: New file.
63895         * lib/unistdio/u16-u16-snprintf.c: New file.
63896         * lib/unistdio/u16-u16-sprintf.c: New file.
63897         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63898         * lib/unistdio/u16-u16-vasprintf.c: New file.
63899         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63900         * lib/unistdio/u16-u16-vsprintf.c: New file.
63901         * lib/unistdio/u32-asnprintf.c: New file.
63902         * lib/unistdio/u32-asprintf.c: New file.
63903         * lib/unistdio/u32-printf-parse.c: New file.
63904         * lib/unistdio/u32-snprintf.c: New file.
63905         * lib/unistdio/u32-sprintf.c: New file.
63906         * lib/unistdio/u32-vasnprintf.c: New file.
63907         * lib/unistdio/u32-vasprintf.c: New file.
63908         * lib/unistdio/u32-vsnprintf.c: New file.
63909         * lib/unistdio/u32-vsprintf.c: New file.
63910         * lib/unistdio/u32-u32-asnprintf.c: New file.
63911         * lib/unistdio/u32-u32-asprintf.c: New file.
63912         * lib/unistdio/u32-u32-snprintf.c: New file.
63913         * lib/unistdio/u32-u32-sprintf.c: New file.
63914         * lib/unistdio/u32-u32-vasnprintf.c: New file.
63915         * lib/unistdio/u32-u32-vasprintf.c: New file.
63916         * lib/unistdio/u32-u32-vsnprintf.c: New file.
63917         * lib/unistdio/u32-u32-vsprintf.c: New file.
63918         * tests/unistdio/test-ulc-asnprintf1.c: New file.
63919         * tests/unistdio/test-ulc-asnprintf1.h: New file.
63920         * tests/unistdio/test-ulc-printf1.h: New file.
63921         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
63922         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
63923         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
63924         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
63925         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
63926         * tests/unistdio/test-ulc-vasprintf1.c: New file.
63927         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
63928         * tests/unistdio/test-ulc-vsprintf1.c: New file.
63929         * tests/unistdio/test-u8-asnprintf1.c: New file.
63930         * tests/unistdio/test-u8-asnprintf1.h: New file.
63931         * tests/unistdio/test-u8-printf1.h: New file.
63932         * tests/unistdio/test-u8-vasnprintf1.c: New file.
63933         * tests/unistdio/test-u8-vasnprintf2.c: New file.
63934         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
63935         * tests/unistdio/test-u8-vasnprintf3.c: New file.
63936         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
63937         * tests/unistdio/test-u8-vasprintf1.c: New file.
63938         * tests/unistdio/test-u8-vsnprintf1.c: New file.
63939         * tests/unistdio/test-u8-vsprintf1.c: New file.
63940         * tests/unistdio/test-u16-asnprintf1.c: New file.
63941         * tests/unistdio/test-u16-asnprintf1.h: New file.
63942         * tests/unistdio/test-u16-printf1.h: New file.
63943         * tests/unistdio/test-u16-vasnprintf1.c: New file.
63944         * tests/unistdio/test-u16-vasnprintf2.c: New file.
63945         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
63946         * tests/unistdio/test-u16-vasnprintf3.c: New file.
63947         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
63948         * tests/unistdio/test-u16-vasprintf1.c: New file.
63949         * tests/unistdio/test-u16-vsnprintf1.c: New file.
63950         * tests/unistdio/test-u16-vsprintf1.c: New file.
63951         * tests/unistdio/test-u32-asnprintf1.c: New file.
63952         * tests/unistdio/test-u32-asnprintf1.h: New file.
63953         * tests/unistdio/test-u32-printf1.h: New file.
63954         * tests/unistdio/test-u32-vasnprintf1.c: New file.
63955         * tests/unistdio/test-u32-vasnprintf2.c: New file.
63956         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
63957         * tests/unistdio/test-u32-vasnprintf3.c: New file.
63958         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
63959         * tests/unistdio/test-u32-vasprintf1.c: New file.
63960         * tests/unistdio/test-u32-vsnprintf1.c: New file.
63961         * tests/unistdio/test-u32-vsprintf1.c: New file.
63962         * modules/unistdio/base: New file.
63963         * modules/unistdio/u-printf-args: New file.
63964         * modules/unistdio/ulc-asnprintf: New file.
63965         * modules/unistdio/ulc-asprintf: New file.
63966         * modules/unistdio/ulc-fprintf: New file.
63967         * modules/unistdio/ulc-printf-parse: New file.
63968         * modules/unistdio/ulc-snprintf: New file.
63969         * modules/unistdio/ulc-sprintf: New file.
63970         * modules/unistdio/ulc-vasnprintf: New file.
63971         * modules/unistdio/ulc-vasprintf: New file.
63972         * modules/unistdio/ulc-vfprintf: New file.
63973         * modules/unistdio/ulc-vsnprintf: New file.
63974         * modules/unistdio/ulc-vsprintf: New file.
63975         * modules/unistdio/u8-asnprintf: New file.
63976         * modules/unistdio/u8-asprintf: New file.
63977         * modules/unistdio/u8-printf-parse: New file.
63978         * modules/unistdio/u8-snprintf: New file.
63979         * modules/unistdio/u8-sprintf: New file.
63980         * modules/unistdio/u8-vasnprintf: New file.
63981         * modules/unistdio/u8-vasprintf: New file.
63982         * modules/unistdio/u8-vsnprintf: New file.
63983         * modules/unistdio/u8-vsprintf: New file.
63984         * modules/unistdio/u8-u8-asnprintf: New file.
63985         * modules/unistdio/u8-u8-asprintf: New file.
63986         * modules/unistdio/u8-u8-snprintf: New file.
63987         * modules/unistdio/u8-u8-sprintf: New file.
63988         * modules/unistdio/u8-u8-vasnprintf: New file.
63989         * modules/unistdio/u8-u8-vasprintf: New file.
63990         * modules/unistdio/u8-u8-vsnprintf: New file.
63991         * modules/unistdio/u8-u8-vsprintf: New file.
63992         * modules/unistdio/u16-asnprintf: New file.
63993         * modules/unistdio/u16-asprintf: New file.
63994         * modules/unistdio/u16-printf-parse: New file.
63995         * modules/unistdio/u16-snprintf: New file.
63996         * modules/unistdio/u16-sprintf: New file.
63997         * modules/unistdio/u16-vasnprintf: New file.
63998         * modules/unistdio/u16-vasprintf: New file.
63999         * modules/unistdio/u16-vsnprintf: New file.
64000         * modules/unistdio/u16-vsprintf: New file.
64001         * modules/unistdio/u16-u16-asnprintf: New file.
64002         * modules/unistdio/u16-u16-asprintf: New file.
64003         * modules/unistdio/u16-u16-snprintf: New file.
64004         * modules/unistdio/u16-u16-sprintf: New file.
64005         * modules/unistdio/u16-u16-vasnprintf: New file.
64006         * modules/unistdio/u16-u16-vasprintf: New file.
64007         * modules/unistdio/u16-u16-vsnprintf: New file.
64008         * modules/unistdio/u16-u16-vsprintf: New file.
64009         * modules/unistdio/u32-asnprintf: New file.
64010         * modules/unistdio/u32-asprintf: New file.
64011         * modules/unistdio/u32-printf-parse: New file.
64012         * modules/unistdio/u32-snprintf: New file.
64013         * modules/unistdio/u32-sprintf: New file.
64014         * modules/unistdio/u32-vasnprintf: New file.
64015         * modules/unistdio/u32-vasprintf: New file.
64016         * modules/unistdio/u32-vsnprintf: New file.
64017         * modules/unistdio/u32-vsprintf: New file.
64018         * modules/unistdio/u32-u32-asnprintf: New file.
64019         * modules/unistdio/u32-u32-asprintf: New file.
64020         * modules/unistdio/u32-u32-snprintf: New file.
64021         * modules/unistdio/u32-u32-sprintf: New file.
64022         * modules/unistdio/u32-u32-vasnprintf: New file.
64023         * modules/unistdio/u32-u32-vasprintf: New file.
64024         * modules/unistdio/u32-u32-vsnprintf: New file.
64025         * modules/unistdio/u32-u32-vsprintf: New file.
64026         * modules/unistdio/ulc-asnprintf-tests: New file.
64027         * modules/unistdio/ulc-vasnprintf-tests: New file.
64028         * modules/unistdio/ulc-vasprintf-tests: New file.
64029         * modules/unistdio/ulc-vsnprintf-tests: New file.
64030         * modules/unistdio/ulc-vsprintf-tests: New file.
64031         * modules/unistdio/u8-asnprintf-tests: New file.
64032         * modules/unistdio/u8-vasnprintf-tests: New file.
64033         * modules/unistdio/u8-vasprintf-tests: New file.
64034         * modules/unistdio/u8-vsnprintf-tests: New file.
64035         * modules/unistdio/u8-vsprintf-tests: New file.
64036         * modules/unistdio/u16-asnprintf-tests: New file.
64037         * modules/unistdio/u16-vasnprintf-tests: New file.
64038         * modules/unistdio/u16-vasprintf-tests: New file.
64039         * modules/unistdio/u16-vsnprintf-tests: New file.
64040         * modules/unistdio/u16-vsprintf-tests: New file.
64041         * modules/unistdio/u32-asnprintf-tests: New file.
64042         * modules/unistdio/u32-vasnprintf-tests: New file.
64043         * modules/unistdio/u32-vasprintf-tests: New file.
64044         * modules/unistdio/u32-vsnprintf-tests: New file.
64045         * modules/unistdio/u32-vsprintf-tests: New file.
64046         * MODULES.html.sh (Unicode string functions): Add the new modules.
64047
64048 2007-07-01  Bruno Haible  <bruno@clisp.org>
64049
64050         * lib/sprintf.c (sprintf): Limit the available length estimation,
64051         to avoid address wraparound.
64052         * lib/vsprintf.c (vsprintf): Likewise.
64053         * modules/sprintf-posix (Dependencies): Add stdint.
64054         * modules/vsprintf-posix (Dependencies): Likewise.
64055
64056 2007-07-01  Bruno Haible  <bruno@clisp.org>
64057
64058         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64059         Windows PATH as well. Conservative double-quoting. Comments.
64060
64061 2007-07-01  Bruno Haible  <bruno@clisp.org>
64062             Eric Blake  <ebb9@byu.net>
64063             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64064
64065         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64066         empty components in $PATH, denoting '.'.
64067
64068 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64069
64070         * gnulib-tool: Fix indentation.
64071         (func_create_megatestdir): Likewise.
64072         Report by Bruno Haible.
64073
64074 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64075
64076         Sync from Automake.
64077         * build-aux/gnupload: Fix shell portability issues with for loops.
64078         Report by Karl Berry.
64079
64080 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64081
64082         * build-aux/maint.mk (POURL): Use translationproject.org.
64083
64084 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64085             Bruno Haible  <bruno@clisp.org>
64086
64087         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64088         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64089         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64090         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64091         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64092
64093 2007-06-27  Bruno Haible  <bruno@clisp.org>
64094
64095         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64096         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64097
64098 2007-06-26  Karl Berry  <karl@gnu.org>
64099
64100         * MODULES.html.sh: remove xreadlink-with-size.
64101
64102 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64103
64104         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64105         method that I hope also handles the double-include problem noted
64106         by Bruno Haible in
64107         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64108
64109 2007-06-23  Bruno Haible  <bruno@clisp.org>
64110
64111         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64112         Don't let the 'mostlyclean' target fail if the last subdirectory could
64113         not be removed.
64114         Reported by Karl Berry.
64115
64116 2007-06-23  Bruno Haible  <bruno@clisp.org>
64117
64118         * gnulib-tool (echo): Add a speedier workaround for ksh.
64119         * tests/test-echo.sh: Likewise.
64120
64121 2007-06-23  Bruno Haible  <bruno@clisp.org>
64122
64123         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64124         * tests/test-echo.sh: Likewise.
64125
64126 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64127
64128         * gnulib-tool (IFS): Initialize early, so we don't set it to
64129         empty later.
64130         (self_abspathname): Rewrite algorithm to set it, reindent.
64131         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64132         (func_create_megatestdir): Merge some sed scripts.
64133
64134 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64135
64136         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64137         exposed by Sun Studio 11 cc on Solaris 8.
64138
64139 2007-06-22  Bruno Haible  <bruno@clisp.org>
64140
64141         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64142         backslashes.
64143         * tests/test-echo.sh: New file.
64144
64145 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64146
64147         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64148         simplify `sed_replace_build_aux' scripts, they are portable but
64149         echoing them with `echo' is not.
64150         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64151
64152 2007-06-21  Karl Berry  <karl@gnu.org>
64153
64154         * config/srclist.txt: guess we can't handle the licenses via
64155         srclist at the moment.
64156
64157 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64158
64159         * MODULES.html.sh: Add include_next.
64160         * modules/include_next: New file.
64161
64162 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64163
64164         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64165         INCLUDE_NEXT.
64166         (gl_CHECK_NEXT_HEADERS): New macro.
64167         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64168         the obsolescent gl_ABSOLUTE_HEADER.
64169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64170         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64171         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64172         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64173         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64174         * m4/math_h.m4 (gl_MATH_H): Likewise.
64175         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64176         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64177         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64178         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64179         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64180         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64181         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64182         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64183         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64184         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64186         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64187         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64188         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64189         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64190         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64191         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64192         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64193         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64194         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64195         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64196         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64197         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64198         * lib/float_.h: Likewise.
64199         * lib/inttypes_.h: Likewise.
64200         * lib/math_.h: Likewise.
64201         * lib/search_.h: Likewise.
64202         * lib/signal_.h: Likewise.
64203         * lib/stdint_.h: Likewise.
64204         * lib/stdio_.h: Likewise.
64205         * lib/stdlib_.h: Likewise.
64206         * lib/string_.h: Likewise.
64207         * lib/sys_stat_.h: Likewise.
64208         * lib/sys_time_.h: Likewise.
64209         * lib/time_.h: Likewise.
64210         * lib/unistd_.h: Likewise.
64211         * lib/wchar_.h: Likewise.
64212         * lib/wctype_.h: Likewise.
64213         * lib/dirent_.h: Likewise.
64214         * lib/iconv_.h: Likewise.
64215         * lib/locale_.h: Likewise.
64216         * lib/netinet_in_.h: Likewise.
64217         * lib/sys_select_.h: Likewise.
64218         * lib/sys_socket_.h: Likewise.
64219         * lib/sysexits_.h: Likewise.
64220         * modules/fcntl (Depends-on): Depend on include_next, not
64221         absolute_header.
64222         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64223         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64224         * modules/fchdir: Likewise.
64225         * modules/float: Likewise.
64226         * modules/iconv_open: Likewise.
64227         * modules/inttypes: Likewise.
64228         * modules/locale: Likewise.
64229         * modules/math: Likewise.
64230         * modules/netinet_in: Likewise.
64231         * modules/search: Likewise.
64232         * modules/signal: Likewise.
64233         * modules/stdint: Likewise.
64234         * modules/stdio: Likewise.
64235         * modules/stdlib: Likewise.
64236         * modules/string: Likewise.
64237         * modules/sys_select: Likewise.
64238         * modules/sys_socket: Likewise.
64239         * modules/sys_stat: Likewise.
64240         * modules/sys_time: Likewise.
64241         * modules/sysexits: Likewise.
64242         * modules/time: Likewise.
64243         * modules/unistd: Likewise.
64244         * modules/wchar: Likewise.
64245         * modules/wctype: Likewise.
64246         * modules/sys_stat: Change maintainer to "all".
64247         * modules/unistd: Likewise.
64248
64249 2007-06-20  Karl Berry  <karl@gnu.org>
64250
64251         * config/srclist.txt: track www changes in license files.
64252
64253 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64254
64255         * build-aux/bootstrap: Remove stray dot.
64256         Make sure build_aux settings are honored when linking
64257         gnulib_extra_files.
64258
64259 2007-06-19  Eric Blake  <ebb9@byu.net>
64260
64261         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64262         Allow compilation on cygwin.
64263
64264 2007-06-19  Jim Meyering  <jim@meyering.net>
64265
64266         xreadlink-with-size: Remove module.  No longer used.
64267         Ex-callers now use xreadlink or mreadlink-with-size.
64268         * modules/xreadlink-with-size: Remove module.
64269         * lib/xreadlink-with-size.c: Remove file.
64270         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64271         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64272         just before the function definition *is* accurate.
64273
64274         Eliminate one way canonicalize_filename_mode could exit.
64275         * lib/canonicalize.c (canonicalize_filename_mode):
64276         Use mreadlink_with_size, not xreadlink_with_size.
64277
64278 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64279
64280         Detect porting problems to FreeBSD/arm, which has time_t wider than
64281         long int.  Original problem reported for GNU diff by Xin Li in
64282         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64283         * modules/getdate (Depends-on): Add intprops, verify.
64284         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64285         is an integer type no wider than long int.
64286
64287 2007-06-18  Jim Meyering  <jim@meyering.net>
64288
64289         New module: mreadlink-with-size.
64290         * MODULES.html.sh: Add mreadlink-with-size.
64291         * modules/mreadlink-with-size: New module
64292         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64293         not xreadlink-with-size.
64294         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64295
64296 2007-06-16  Bruno Haible  <bruno@clisp.org>
64297
64298         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64299         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64300         Reported by Gary V. Vaughan <gary@gnu.org>.
64301
64302 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64303
64304         Revamp lchown so that it lives in unistd.h where it belongs.
64305         * lib/lchown.h: Remove.
64306         * lib/dirchownmod.c: Don't include lib/lchown.h.
64307         * lib/fchownat.c: Likewise.
64308         * lib/openat.c: Likewise.
64309         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64310         does not follow symlinks.
64311         (EOPNOTSUPP): Define if not defined.
64312         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64313         is defined to 0.
64314         (lchown): New decl.
64315         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64316         Do not check for lchown decl.
64317         Set REPLACE_LCHOWN.
64318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64319         REPLACE_LCHOWN.
64320         * modules/chown: Make it clear it follows symlinks.
64321         * modules/lchown: Make it clear it doesn't follow symlinks.
64322         (Files): Remove lib/lchown.h
64323         (Depends-on): Add unistd.
64324         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64325         (Include): Include <unistd.h>, not "lchown.h".
64326         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64327         REPLACE_LCHOWN.
64328
64329 2007-06-15  Jim Meyering  <jim@meyering.net>
64330
64331         Change license (GPL to LGPL) of fsusage and dependents.
64332         * modules/fsusage (License): Change to LGPL.
64333         * modules/full-read (License): Likewise.
64334         * modules/full-write (License): Likewise.
64335         * modules/safe-read (License): Likewise.
64336         * modules/safe-write (License): Likewise.
64337
64338 2007-06-14  Ben Pfaff  <blp@gnu.org>
64339
64340         Missing part of allocsa -> malloca transition.
64341         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64342         gl_MALLOCA.
64343
64344 2007-06-12  Bruno Haible  <bruno@clisp.org>
64345
64346         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64347         to ia64, x86_64, i386.
64348         Reported by Eric Blake.
64349
64350 2007-06-12  Bruno Haible  <bruno@clisp.org>
64351
64352         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64353         cross-compiling to x86_64.
64354
64355 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64356
64357         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64358         glitch reported by Ralf Wildenhues in
64359         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64360
64361         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64362         Vin Shelton.
64363
64364 2007-06-11  Bruno Haible  <bruno@clisp.org>
64365
64366         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64367         replacement string.
64368         Reported by Eric Blake.
64369
64370 2007-06-10  Bruno Haible  <bruno@clisp.org>
64371
64372         Prepare vasnprintf code for use with Unicode strings.
64373         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64374         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64375         TYPE_U32_STRING.
64376         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64377         a_u32_string variants.
64378         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64379         * lib/printf-args.c: Don't include config.h and the specification
64380         header if PRINTF_FETCHARGS is already defined.
64381         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64382         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64383         TYPE_U16_STRING, TYPE_U32_STRING.
64384         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64385         u16_directive, u16_directives, u32_directive, u32_directives): New
64386         types.
64387         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64388         New declarations.
64389         * lib/printf-parse.c: Don't include config.h and the specification
64390         header if PRINTF_PARSE is already defined. Eliminate the set of
64391         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64392         them now. Include c-ctype.h.
64393         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
64394         directive and CHAR_T_ONLY_ASCII.
64395         * lib/vasnprintf.c: Don't include config.h and the specification header
64396         if VASNPRINTF is already defined.
64397         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
64398         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
64399         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
64400         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
64401         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
64402         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
64403         code accordingly.
64404         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
64405         pad_ourselves also in this case, with the 'c' and 's' directives, and
64406         with a different notion of "width".
64407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
64408
64409 2007-06-10  Bruno Haible  <bruno@clisp.org>
64410
64411         * modules/unistr/u32-mbsnlen: New file.
64412         * lib/unistr/u32-mbsnlen.c: New file.
64413
64414         * modules/unistr/u16-mbsnlen: New file.
64415         * lib/unistr/u16-mbsnlen.c: New file.
64416
64417         * modules/unistr/u8-mbsnlen: New file.
64418         * lib/unistr/u8-mbsnlen.c: New file.
64419
64420         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
64421         declarations.
64422
64423 2007-06-10  Bruno Haible  <bruno@clisp.org>
64424
64425         * lib/string_.h (mbsnlen): New declaration.
64426         * lib/mbsnlen.c: New file.
64427         * m4/mbsnlen.m4: New file.
64428         * modules/mbsnlen: New file.
64429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
64430         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
64431         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
64432
64433 2007-06-10  Bruno Haible  <bruno@clisp.org>
64434
64435         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
64436
64437 2007-06-10  Bruno Haible  <bruno@clisp.org>
64438
64439         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
64440         * lib/mbuiter.h: Likewise.
64441
64442 2007-06-10  Bruno Haible  <bruno@clisp.org>
64443
64444         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
64445         declaration.
64446
64447 2007-06-10  Karl Berry  <karl@gnu.org>
64448
64449         * config/srclist.txt: remove gettext entries, Bruno prefers
64450         to update individually.
64451
64452 2007-06-10  Bruno Haible  <bruno@clisp.org>
64453
64454         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
64455         'maxlen'. Ensure only length + width bytes are allocated, not
64456         length + 1 + width.
64457
64458 2007-06-09  Bruno Haible  <bruno@clisp.org>
64459
64460         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
64461         (CHAR_T): Remove macro.
64462         (VASNPRINTF): Update.
64463
64464 2007-06-09  Bruno Haible  <bruno@clisp.org>
64465
64466         * MODULES.html.sh (Unicode string functions): Add the new modules.
64467
64468         * modules/uniconv/u32-conv-to-enc: New file.
64469         * lib/uniconv/u32-conv-to-enc.c: New file.
64470         * modules/uniconv/u32-conv-to-enc-tests: New file.
64471         * tests/uniconv/test-u32-conv-to-enc.c: New file.
64472
64473         * modules/uniconv/u16-conv-to-enc: New file.
64474         * lib/uniconv/u16-conv-to-enc.c: New file.
64475         * lib/uniconv/u-conv-to-enc.h: New file.
64476         * modules/uniconv/u16-conv-to-enc-tests: New file.
64477         * tests/uniconv/test-u16-conv-to-enc.c: New file.
64478
64479         * modules/uniconv/u8-conv-to-enc: New file.
64480         * lib/uniconv/u8-conv-to-enc.c: New file.
64481         * modules/uniconv/u8-conv-to-enc-tests: New file.
64482         * tests/uniconv/test-u8-conv-to-enc.c: New file.
64483
64484         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
64485         u32_conv_to_encoding): New declarations.
64486
64487 2007-06-09  Bruno Haible  <bruno@clisp.org>
64488
64489         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
64490
64491 2007-06-09  Bruno Haible  <bruno@clisp.org>
64492
64493         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
64494         * modules/malloca: Renamed from modules/allocsa, updated.
64495         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
64496         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
64497         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
64498         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
64499         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
64500         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
64501         * modules/xmalloca: Renamed from modules/xallocsa, updated.
64502         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
64503         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
64504         * modules/c-strcasestr (Depends-on): Update.
64505         * lib/c-strcasestr.c: Update.
64506         * modules/c-strstr (Depends-on): Update.
64507         * lib/c-strstr.c: Update.
64508         * modules/canonicalize-lgpl (Depends-on): Update.
64509         * lib/canonicalize-lgpl.c: Update.
64510         * modules/clean-temp (Depends-on): Update.
64511         * lib/clean-temp.c: Update.
64512         * modules/csharpcomp (Depends-on): Update.
64513         * lib/csharpcomp.c: Update.
64514         * modules/csharpexec (Depends-on): Update.
64515         * lib/csharpexec.c: Update.
64516         * modules/javacomp (Depends-on): Update.
64517         * lib/javacomp.c: Update.
64518         * modules/javaexec (Depends-on): Update.
64519         * lib/javaexec.c: Update.
64520         * modules/mbscasestr (Depends-on): Update.
64521         * lib/mbscasestr.c: Update.
64522         * modules/mbsstr (Depends-on): Update.
64523         * lib/mbsstr.c: Update.
64524         * modules/setenv (Depends-on): Update.
64525         * lib/setenv.c: Update.
64526         * modules/strcasestr (Depends-on): Update.
64527         * lib/strcasestr.c: Update.
64528         * modules/striconveha (Depends-on): Update.
64529         * lib/striconveha.c: Update.
64530         * modules/relocatable-prog-wrapper (Files): Update.
64531         * lib/relocwrapper.c: Update.
64532         * build-aux/install-reloc: Update.
64533         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64534
64535 2007-06-08  Bruno Haible  <bruno@clisp.org>
64536
64537         Port to uClibc.
64538         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64539         * lib/fpurge.c (fpurge): Likewise.
64540         * lib/freading.c (freading): Likewise.
64541         * lib/fseeko.c (rpl_fseeko): Likewise.
64542         * lib/fseterr.c (fseterr): Likewise.
64543         * lib/fwriting.c (fwriting): Likewise.
64544         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64545
64546 2007-06-08  Bruno Haible  <bruno@clisp.org>
64547
64548         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64549         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64550         * modules/gettext (Files): Add m4/intlmacosx.m4.
64551
64552 2007-06-07  Bruno Haible  <bruno@clisp.org>
64553
64554         * modules/localename-tests: New file.
64555         * tests/test-localename.c: New file.
64556
64557         New module 'localename'.
64558         * lib/localename.h: New file.
64559         * lib/localename.c: New file, from GNU gettext.
64560         * m4/localename.m4: New file.
64561         * modules/localename: New file.
64562
64563 2007-06-07  Bruno Haible  <bruno@clisp.org>
64564
64565         Work around the lack of <wchar.h> on some builds of uClibc.
64566         * doc/headers/wchar.texi: Update.
64567         * lib/wchar_.h: Include <wchar.h> only if it exists.
64568         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64569         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64570         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64571         doesn't exist.
64572         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64573         * modules/mbfile (Depends-on): Add wchar.
64574         * modules/mbiter (Depends-on): Likewise.
64575         * modules/mbuiter (Depends-on): Likewise.
64576         Reported by Simon Josefsson.
64577
64578 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64579
64580         Work around problem reported by Steven M. Schweda in
64581         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64582         Tru64 5.1B with the Compaq compiler environment installed declares
64583         an 'isblank' function but does not define it in the C library.
64584         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64585         * lib/regex_internal.h (isblank): Likewise.
64586         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64587         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64588
64589 2007-06-05  Bruno Haible  <bruno@clisp.org>
64590
64591         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64592         ia64.
64593         * modules/printf-safe: New file.
64594         * modules/fprintf-posix (Depends-on): Add printf-safe.
64595         * modules/printf-posix (Depends-on): Likewise.
64596         * modules/snprintf-posix (Depends-on): Likewise.
64597         * modules/sprintf-posix (Depends-on): Likewise.
64598         * modules/vasnprintf-posix (Depends-on): Likewise.
64599         * modules/vasprintf-posix (Depends-on): Likewise.
64600         * modules/vfprintf-posix (Depends-on): Likewise.
64601         * modules/vprintf-posix (Depends-on): Likewise.
64602         * modules/vsnprintf-posix (Depends-on): Likewise.
64603         * modules/vsprintf-posix (Depends-on): Likewise.
64604         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64605         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64606         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64607         "no" on i386, x86_64, ia64.
64608         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64609         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64610         on i386, x86_64, ia64.
64611         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64612         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64613         on i386, x86_64, ia64.
64614         * tests/test-vasnprintf-posix.c: Include float.h.
64615         (LDBL80_WORDS): New macro.
64616         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64617         on i386, x86_64, ia64.
64618         * tests/test-vasprintf-posix.c: Include float.h.
64619         (LDBL80_WORDS): New macro.
64620         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64621         on i386, x86_64, ia64.
64622         * tests/test-snprintf-posix.c: Include float.h.
64623         * tests/test-sprintf-posix.c: Likewise.
64624         * tests/test-vsnprintf-posix.c: Likewise.
64625         * tests/test-vsprintf-posix.c: Likewise.
64626
64627 2007-06-05  Bruno Haible  <bruno@clisp.org>
64628
64629         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64630         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64631         non-IEEE numbers on i386, x86_64, ia64.
64632         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64633         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64634         * tests/test-isnanl.h: Include float.h.
64635         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64636
64637 2007-06-05  Bruno Haible  <bruno@clisp.org>
64638
64639         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64640         also the %a / %A. Handle the %a / %A code before this extra handling.
64641
64642 2007-06-05  Bruno Haible  <bruno@clisp.org>
64643
64644         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64645         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64646
64647 2007-06-05  Bruno Haible  <bruno@clisp.org>
64648
64649         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64650         typo in variable name.
64651
64652 2007-06-05  Eric Blake  <ebb9@byu.net>
64653
64654         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64655         Reported by Simon Josefsson.
64656
64657 2007-06-04  Bruno Haible  <bruno@clisp.org>
64658
64659         Avoid test failures on some PowerPC platforms.
64660         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64661         Define differently for PowerPC.
64662         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64663         Reported by Gary V. Vaughan <gary@gnu.org>.
64664
64665 2007-06-02  Bruno Haible  <bruno@clisp.org>
64666
64667         Fix test-stdint failure on FreeBSD/ia64.
64668         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64669         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64670         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64671         * doc/headers/stdint.texi: Update.
64672
64673 2007-06-01  Bruno Haible  <bruno@clisp.org>
64674
64675         * tests/test-binary-io.c (main): Pass a third argument to open().
64676         Reported by Gary V. Vaughan <gary@gnu.org>.
64677
64678 2007-06-01  Bruno Haible  <bruno@clisp.org>
64679
64680         * doc/functions/frexpl.texi: Update for mingw.
64681
64682 2007-06-01  Bruno Haible  <bruno@clisp.org>
64683
64684         * tests/test-lseek.c (main): Disable test of errno for invalid third
64685         argument.
64686         * doc/functions/lseek.texi: Update.
64687         Reported by Gary V. Vaughan <gary@gnu.org>.
64688
64689 2007-05-28  Bruno Haible  <bruno@clisp.org>
64690
64691         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64692
64693 2007-05-31  Eric Blake  <ebb9@byu.net>
64694
64695         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64696         cross compiling.
64697
64698 2007-05-30  Eric Blake  <ebb9@byu.net>
64699         and Bruno Haible  <bruno@clisp.org>
64700
64701         Work around mingw test failures exposed by m4-1.4.9b.
64702         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64703         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64704         moment.
64705
64706 2007-05-30  Bruno Haible  <bruno@clisp.org>
64707
64708         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64709         assuming that they are closed. Needed on HP-UX 11.
64710
64711 2007-05-29  Bruno Haible  <bruno@clisp.org>
64712
64713         Fix a problem with #include_next.
64714         * lib/dirent_.h: Split the double-inclusion guard.
64715         * lib/fcntl_.h: Likewise.
64716         * lib/float_.h: Likewise.
64717         * lib/iconv_.h: Likewise.
64718         * lib/inttypes_.h: Likewise.
64719         * lib/locale_.h: Likewise.
64720         * lib/math_.h: Likewise.
64721         * lib/netinet_in_.h: Likewise.
64722         * lib/search_.h: Likewise.
64723         * lib/signal_.h: Likewise.
64724         * lib/stdint_.h: Likewise.
64725         * lib/stdio_.h: Likewise.
64726         * lib/stdlib_.h: Likewise.
64727         * lib/string_.h: Likewise.
64728         * lib/sys_select_.h: Likewise.
64729         * lib/sys_socket_.h: Likewise.
64730         * lib/sys_stat_.h: Likewise.
64731         * lib/sys_time_.h: Likewise.
64732         * lib/sysexits_.h: Likewise.
64733         * lib/time_.h: Likewise.
64734         * lib/unistd_.h: Likewise.
64735         * lib/wchar_.h: Likewise.
64736         * lib/wctype_.h: Likewise.
64737
64738 2007-05-29  Bruno Haible  <bruno@clisp.org>
64739
64740         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64741         for the moment.
64742
64743 2007-05-29  Bruno Haible  <bruno@clisp.org>
64744
64745         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64746         invocation.
64747         Reported by Eric Blake.
64748
64749 2007-05-29  Bruno Haible  <bruno@clisp.org>
64750
64751         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64752         compiling case.
64753
64754 2007-05-29  Eric Blake  <ebb9@byu.net>
64755             Bruno Haible  <bruno@clisp.org>
64756
64757         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64758         cross compiles.
64759
64760 2007-05-28  Eric Blake  <ebb9@byu.net>
64761
64762         * modules/closein-tests (test_closein_LDADD): Support test on
64763         cygwin with libtool.
64764
64765 2007-05-28  Bruno Haible  <bruno@clisp.org>
64766
64767         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64768         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64769         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64770         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64771         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64772         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64773         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64774         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64775         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64776
64777 2007-05-28  Eric Blake  <ebb9@byu.net>
64778
64779         Unconditionally include <config.h> in unit tests.
64780         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64781         * tests/test-allocsa.c, tests/test-arcfour.c,
64782         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64783         tests/test-array_list.c, tests/test-array_oset.c,
64784         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64785         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64786         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64787         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64788         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64789         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64790         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64791         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64792         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64793         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64794         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64795         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64796         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64797         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64798         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64799         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64800         test-md5.c, test-memmem.c, test-printf-posix.c,
64801         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64802         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64803         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64804         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64805         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64806         test-vasnprintf-posix2.c, test-vasnprintf.c,
64807         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64808         test-vfprintf-posix.c, test-vprintf-posix.c,
64809         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64810         test-xvasprintf.c: Likewise.
64811
64812 2007-05-28  Bruno Haible  <bruno@clisp.org>
64813
64814         * gnulib-tool (func_import): Remember the --with-tests command-line
64815         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64816         Reported by Eric Blake.
64817
64818 2007-05-28  Bruno Haible  <bruno@clisp.org>
64819
64820         * modules/ftell-tests: New file.
64821         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64822         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64823
64824         * lib/ftell.c: New file.
64825         * modules/ftell: New file.
64826         * m4/ftell.m4: New file.
64827         * doc/functions/ftell.texi: Update.
64828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64829         REPLACE_FTELL.
64830         * lib/stdio_.h (rpl_ftell): New declaration.
64831         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64832         REPLACE_FTELL.
64833
64834 2007-05-28  Eric Blake  <ebb9@byu.net>
64835
64836         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64837
64838 2007-05-28  Bruno Haible  <bruno@clisp.org>
64839
64840         * modules/fseek-tests: New file.
64841         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64842         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64843
64844         * lib/fseek.c: New file.
64845         * modules/fseek: New file.
64846         * m4/fseek.m4: New file.
64847         * doc/functions/fseek.texi: Update.
64848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64849         REPLACE_FSEEK.
64850         * lib/stdio_.h (rpl_fseek): New declaration.
64851         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64852         REPLACE_FSEEK.
64853
64854 2007-05-28  Bruno Haible  <bruno@clisp.org>
64855
64856         * lib/stdio_.h (fflush): More comments.
64857
64858 2007-05-28  Bruno Haible  <bruno@clisp.org>
64859
64860         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64861         runtime test.
64862
64863 2007-05-28  Eric Blake  <ebb9@byu.net>
64864
64865         Improve lseek module.
64866         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64867         * lib/unistd_.h (lseek): Scale back link warning message.
64868         * tests/test-lseek.c: Beef up test.
64869         * tests/test-lseek.sh: Exercise more facets of lseek.
64870         Reported by Bruno Haible.
64871
64872 2007-05-28  Bruno Haible  <bruno@clisp.org>
64873
64874         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64875         to define.
64876
64877 2007-05-27  Bruno Haible  <bruno@clisp.org>
64878
64879         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64880
64881 2007-05-27  Bruno Haible  <bruno@clisp.org>
64882
64883         * modules/openmp: New file.
64884         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64885         Noah Misch.
64886
64887 2007-05-26  Bruno Haible  <bruno@clisp.org>
64888
64889         * modules/chdir-long (Depends-on): Add fchdir.
64890         * modules/chdir-safer (Depends-on): Likewise.
64891         * modules/fts (Depends-on): Likewise.
64892         * modules/fts-lgpl (Depends-on): Likewise.
64893         * modules/openat (Depends-on): Likewise.
64894         * modules/savewd (Depends-on): Likewise.
64895
64896 2007-05-24  Eric Blake  <ebb9@byu.net>
64897
64898         Fix lseek on mingw.
64899         * modules/lseek: New module.
64900         * m4/lseek.m4: New file.
64901         * lib/lseek.c: New file.
64902         * modules/lseek-tests: New file.
64903         * tests/test-lseek.c: New file.
64904         * tests/test-lseek.sh: New file.
64905         * MODULES.html.sh: Document lseek module.
64906         * modules/fflush (Depends-on): Add lseek, fseeko.
64907         * modules/fseeko (Depends-on): Likewise.
64908         * modules/ftello (Depends-on): Likewise.
64909         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
64910         broken.
64911         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
64912         broken.
64913         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
64914         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
64915         * lib/ftello.c (rpl_ftello): Likewise.
64916         * tests/test-fseeko.c (main): Test this.
64917         * tests/test-fseeko.sh: Likewise.
64918         * tests/test-ftello.c (main): Likewise.
64919         * tests/test-ftello.sh: Likewise.
64920         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
64921         implies replacing fseek.
64922         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
64923         HAVE_FTELLO.
64924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
64925         * modules/unistd (Makefile.am): Likewise.
64926         * lib/unistd_.h (lseek): Declare a replacement.
64927         * doc/functions/lseek.texi (lseek): Document this fix.
64928         * doc/functions/fseek.texi (fseek): Likewise.
64929         * doc/functions/ftell.texi (ftell): Likewise.
64930
64931 2007-05-24  Bruno Haible  <bruno@clisp.org>
64932
64933         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
64934         in the printed representation of a NaN.
64935         * tests/test-vasprintf-posix.c (test_function): Likewise.
64936         * tests/test-snprintf-posix.h (test_function): Likewise.
64937         * tests/test-sprintf-posix.h (test_function): Likewise.
64938         Reported by Eric Blake.
64939
64940 2007-05-23  Eric Blake  <ebb9@byu.net>
64941
64942         Fix fseeko/ftello on cygwin 1.5.24.
64943         * doc/functions/fseeko.texi (fseeko): Document the fix.
64944         * doc/functions/ftello.texi (ftello): Document the fix.
64945         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
64946         * doc/functions/stdout.text (stdout): New file.
64947         * doc/functions/stderr.text (stderr): New file.
64948         * doc/gnulib.texi (Function Substitutes): Use new files.
64949         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
64950         prior to 1.7.0.
64951         * tests/test-ftello.c (main): Likewise for ftello.
64952         * tests/test-fseeko.sh: New file.
64953         * tests/test-ftello.sh: New file.
64954         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
64955         with seekable stdin.
64956         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
64957         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
64958         (gl_REPLACE_FSEEKO): New macro.
64959         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
64960         * modules/fseeko (Files): Distribute fseeko.c.
64961         * modules/ftello (Files): Distribute ftello.c.
64962         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
64963         mode.
64964         * lib/ftello.c (rpl_ftello): New file.
64965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
64966         fseeko, ftello.
64967         (gl_STDIN_LARGE_OFFSET): New macro.
64968         * modules/stdio (Makefile.am): Perform the replacement.
64969         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
64970
64971 2007-05-23  Bruno Haible  <bruno@clisp.org>
64972
64973         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
64974         GNULIB_POSIXCHECK is defined.
64975
64976 2007-05-21  Bruno Haible  <bruno@clisp.org>
64977
64978         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
64979         Check also the output for NaN arguments. When cross-compiling, guess
64980         no on IRIX.
64981         * lib/vasnprintf.c: Update comments.
64982         * tests/test-vasnprintf-posix.c (strisnan): New function.
64983         (test_function): Use it.
64984         * tests/test-vasprintf-posix.c (strisnan): New function.
64985         (test_function): Use it.
64986         * tests/test-snprintf-posix.h (strisnan): New function.
64987         (test_function): Use it.
64988         * tests/test-sprintf-posix.h (strisnan): New function.
64989         (test_function): Use it.
64990         Reported by Eric Blake.
64991
64992 2007-05-20  Bruno Haible  <bruno@clisp.org>
64993
64994         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
64995         numbers that fails on BeOS.
64996         * doc/functions/frexpl.texi: Update.
64997
64998 2007-05-20  Jim Meyering  <jim@meyering.net>
64999
65000         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65001         forced upon us by glibc-2.6.
65002
65003 2007-05-20  Bruno Haible  <bruno@clisp.org>
65004
65005         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65006         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65007         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65008         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65009         NEED_PRINTF_INFINITE.
65010         (is_infinitel): New function.
65011         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65013         gl_PREREQ_VASNPRINTF_INFINITE.
65014         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65015         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65016         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65017         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65018         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65019         gl_PREREQ_VASNPRINTF_INFINITE.
65020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65021         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65022         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65023         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65024         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65025         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65026         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65027         * doc/functions/fprintf.texi: Update.
65028         * doc/functions/printf.texi: Update.
65029         * doc/functions/snprintf.texi: Update.
65030         * doc/functions/sprintf.texi: Update.
65031         * doc/functions/vfprintf.texi: Update.
65032         * doc/functions/vprintf.texi: Update.
65033         * doc/functions/vsnprintf.texi: Update.
65034         * doc/functions/vsprintf.texi: Update.
65035
65036 2007-05-20  Bruno Haible  <bruno@clisp.org>
65037
65038         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65039         was not found in libc.
65040         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65041
65042 2007-05-20  Bruno Haible  <bruno@clisp.org>
65043
65044         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65045         printed as "-nan" instead of "nan".
65046         * tests/test-vasprintf-posix.c (test_function): Likewise.
65047         * tests/test-snprintf-posix.h (test_function): Likewise.
65048         * tests/test-sprintf-posix.h (test_function): Likewise.
65049         Needed for HP-UX 11.
65050
65051 2007-05-20  Jim Meyering  <jim@meyering.net>
65052
65053         Fix buggy test for the fchownat-deref bug.
65054         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65055         symlink required for the run-test.  Without it, this test would
65056         always declare that fchownat doesn't work, and client code would
65057         unnecessarily use the replacement function with fixed libc.
65058         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65059         Reported by Greg Schafer.
65060
65061 2007-05-19  Bruno Haible  <bruno@clisp.org>
65062
65063         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65064         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65065         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65066         Needed for IRIX 6.5 and Solaris 2.5.1.
65067
65068 2007-05-19  Bruno Haible  <bruno@clisp.org>
65069
65070         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65071         (test_function): Skip tests involving -0.0 on platforms where
65072         -0.0 = 0.0.
65073         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65074         (test_function): Skip tests involving -0.0 on platforms where
65075         -0.0 = 0.0.
65076         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65077         (test_function): Skip tests involving -0.0 on platforms where
65078         -0.0 = 0.0.
65079         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65080         (test_function): Skip tests involving -0.0 on platforms where
65081         -0.0 = 0.0.
65082         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65083         tests.
65084         * tests/test-printf-posix.h (test_function): Likewise.
65085         * tests/test-printf-posix.output: Remove all -0.0 related results.
65086         Needed for IRIX 6.5.
65087
65088 2007-05-19  Bruno Haible  <bruno@clisp.org>
65089
65090         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65091         printed as "nan0x7fffffff" instead of "nan".
65092         * tests/test-vasprintf-posix.c (test_function): Likewise.
65093         * tests/test-snprintf-posix.h (test_function): Likewise.
65094         * tests/test-sprintf-posix.h (test_function): Likewise.
65095         * tests/test-fprintf-posix.h (NaN): Remove macro.
65096         (test_function): Remove all NaN related tests.
65097         * tests/test-printf-posix.h (NaN): Remove macro.
65098         (test_function): Remove all NaN related tests.
65099         * tests/test-printf-posix.output: Remove all NaN related results.
65100         Needed for IRIX 6.5.
65101
65102 2007-05-19  Bruno Haible  <bruno@clisp.org>
65103
65104         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65105         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65106
65107 2007-05-19  Bruno Haible  <bruno@clisp.org>
65108
65109         * lib/float_.h: New file.
65110         * m4/float_h.m4: New file.
65111         * modules/float: New file.
65112         * modules/isnanl (Dependencies): Add float.
65113         * modules/isnanl-nolibm (Dependencies): Likewise.
65114         * modules/mathl (Dependencies): Likewise.
65115         * modules/printf-frexpl (Dependencies): Likewise.
65116         * modules/signbit (Dependencies): Likewise.
65117         * modules/vasnprintf (Dependencies): Likewise.
65118         * doc/headers/float.texi: Update.
65119
65120 2007-05-19  Jim Meyering  <jim@meyering.net>
65121
65122         * lib/utimens.c (gl_futimens): Rename from futimens,
65123         now that glibc-2.6 declares futimens.
65124         * lib/utimens.h: Likewise.
65125
65126 2007-05-19  Bruno Haible  <bruno@clisp.org>
65127
65128         Avoid test failures on mingw.
65129         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65130         * tests/test-printf-posix.sh: Likewise.
65131         * tests/test-vfprintf-posix.sh: Likewise.
65132         * tests/test-vprintf-posix.sh: Likewise.
65133
65134 2007-05-19  Bruno Haible  <bruno@clisp.org>
65135
65136         Fix *printf result for NaN, Inf, -0.0 on mingw.
65137         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65138         * lib/vasnprintf.c: Include math.h and isnan.h.
65139         (is_infinite_or_zero): New function.
65140         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65141         values in the %f, %F, %e, %E, %g, %G directives.
65142         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65143         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65144         gl_PRINTF_INFINITE and test its result. Invoke
65145         gl_PREREQ_VASNPRINTF_INFINITE.
65146         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65147         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65148         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65149         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65150         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65151         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65152         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65153         * doc/functions/fprintf.texi: Update.
65154         * doc/functions/printf.texi: Update.
65155         * doc/functions/snprintf.texi: Update.
65156         * doc/functions/sprintf.texi: Update.
65157         * doc/functions/vfprintf.texi: Update.
65158         * doc/functions/vprintf.texi: Update.
65159         * doc/functions/vsnprintf.texi: Update.
65160         * doc/functions/vsprintf.texi: Update.
65161
65162 2007-05-19  Bruno Haible  <bruno@clisp.org>
65163
65164         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65165         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65166         Instead of multiplying with 10^k, set extra_zeroes to k.
65167         (scale10_round_long_double): Remove function.
65168
65169 2007-05-18  Bruno Haible  <bruno@clisp.org>
65170
65171         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65172         introduced on 2007-05-06.
65173
65174 2007-05-18  Bruno Haible  <bruno@clisp.org>
65175
65176         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65177         %g directives.
65178         * tests/test-vasprintf-posix.c (test_function): Likewise.
65179         * tests/test-snprintf-posix.h (test_function): Likewise.
65180         * tests/test-sprintf-posix.h (test_function): Likewise.
65181
65182 2007-05-18  Bruno Haible  <bruno@clisp.org>
65183
65184         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65185         (strmatch): New function.
65186         (test_function): Test the %f directive on numbers of various exponents.
65187         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65188         (strmatch): New function.
65189         (test_function): Test the %f directive on numbers of various exponents.
65190         * tests/test-snprintf-posix.h (strmatch): New function.
65191         (test_function): Test the %f directive on numbers of various exponents.
65192         * tests/test-sprintf-posix.h (strmatch): New function.
65193         (test_function): Test the %f directive on numbers of various exponents.
65194         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65195         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65196         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65197         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65198
65199 2007-05-18  Bruno Haible  <bruno@clisp.org>
65200
65201         Add support for 'long double' number output.
65202         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65203         * lib/vasnprintf.c: Include math.h and float+.h.
65204         (mp_limb_t): New type.
65205         (GMP_LIMB_BITS): New macro.
65206         (mp_twolimb_t): New type.
65207         (GMP_TWOLIMB_BITS): New macro.
65208         (mpn_t): New type.
65209         (multiply, divide, convert_to_decimal, decode_long_double,
65210         scale10_round_long_double, scale10_round_decimal_long_double,
65211         floorlog10l): New functions.
65212         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65213         for the %f, %F, %e, %E, %g, %G directives.
65214         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65215         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65216         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65217         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65218         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65219         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65220         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65221         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65222         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65224         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65225         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65226         * modules/snprintf-posix (Depends-on): Likewise.
65227         * modules/sprintf-posix (Depends-on): Likewise.
65228         * modules/vasnprintf-posix (Depends-on): Likewise.
65229         * modules/vasprintf-posix (Depends-on): Likewise.
65230         * modules/vfprintf-posix (Depends-on): Likewise.
65231         * modules/vsnprintf-posix (Depends-on): Likewise.
65232         * modules/vsprintf-posix (Depends-on): Likewise.
65233         * modules/vasnprintf (Files): Add lib/float+.h.
65234         * doc/functions/fprintf.texi: Update.
65235         * doc/functions/printf.texi: Update.
65236         * doc/functions/snprintf.texi: Update.
65237         * doc/functions/sprintf.texi: Update.
65238         * doc/functions/vfprintf.texi: Update.
65239         * doc/functions/vprintf.texi: Update.
65240         * doc/functions/vsnprintf.texi: Update.
65241         * doc/functions/vsprintf.texi: Update.
65242
65243 2007-05-18  Bruno Haible  <bruno@clisp.org>
65244
65245         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65246
65247 2007-05-18  Bruno Haible  <bruno@clisp.org>
65248
65249         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65250         for printing 64-bit integers. Needed for mingw.
65251
65252 2007-05-18  Bruno Haible  <bruno@clisp.org>
65253
65254         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65255         gl_FUNC_FREXPL_WORKS.
65256         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65257
65258 2007-05-18  Bruno Haible  <bruno@clisp.org>
65259
65260         * modules/frexpl-nolibm-tests: New file.
65261
65262         * modules/frexpl-nolibm: New file.
65263         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65264
65265 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65266
65267         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65268         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65269         GCC 4.2, which otherwise issues a lot of warnings.
65270         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65271         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65272         Likewise.
65273         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65274         * modules/iconv_open (iconv.h): Likewise.
65275         * modules/locale (locale.h): Likewise.
65276         * modules/netinet_in (netinet/in.h): Likewise.
65277         * modules/sys_select (sys_select.h): Likewise.
65278         * modules/sys_socket (sys/socket.h): Likewise.
65279         * modules/sys_stat (sys/stat.h): Likewise.
65280         * modules/sysexits (sysexits.h): Likewise.
65281         * modules/unistd (unistd.h): Likewise.
65282
65283 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65284
65285         * modules/closein-tests (Makefile.am): Distribute
65286         `test-closein.sh'.
65287
65288 2007-05-17  Bruno Haible  <bruno@clisp.org>
65289
65290         * tests/test-printf-posix.output: Renamed from
65291         tests/test-fprintf-posix.out.
65292         * modules/fprintf-posix-tests: Update.
65293         * modules/printf-posix-tests: Update.
65294         * modules/vfprintf-posix-tests: Update.
65295         * modules/vprintf-posix-tests: Update.
65296         * tests/test-fprintf-posix.sh: Update.
65297         * tests/test-printf-posix.sh: Update.
65298         * tests/test-vfprintf-posix.sh: Update.
65299         * tests/test-vprintf-posix.sh: Update.
65300         Reported by Ralf Wildenhues.
65301
65302 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65303
65304         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65305         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65306         GCC 4.2, which otherwise issues a lot of warnings.
65307         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65308         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65309         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65310         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65311         it should no longer be needed.
65312         * lib/string_.h: Likewise.
65313         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65314         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65315         * modules/inttypes (inttypes.h): Likewise.
65316         * modules/math (math.h): Likewise.
65317         * modules/search (search.h): Likewise.
65318         * modules/signal (signal.h): Likewise.
65319         * modules/stdint (stdint.h): Likewise.
65320         * modules/stdio (stdio.h): Likewise.
65321         * modules/stdlib (stdlib.h): Likewise.
65322         * modules/string (string.h): Likewise.
65323         * modules/sys_time (sys/time.h): Likewise.
65324         * modules/time (time.h): Likewise.
65325         * modules/wchar (wchar.h): Likewise.
65326         * modules/wctype (wtype.h): Likewise.
65327
65328 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65329
65330         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65331
65332 2007-05-13  Bruno Haible  <bruno@clisp.org>
65333
65334         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65335         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65336         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65337         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65338         (gl_PREREQ_STRTOK_R): Don't require it here.
65339
65340 2007-05-13  Bruno Haible  <bruno@clisp.org>
65341
65342         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65343         when used in C++ mode.
65344
65345 2007-05-12  Bruno Haible  <bruno@clisp.org>
65346
65347         * lib/linebuffer.h: Tweak doc.
65348         * lib/linebuffer.c: Likewise.
65349
65350 2007-05-12  James Youngman  <jay@gnu.org>
65351
65352         * lib/linebuffer.c (readlinebuffer_delim): New function,
65353         like readlinebuffer, but use a caller-specified delimiter.
65354         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65355         as the delimiter.
65356         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65357
65358 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65359
65360         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65361         * modules/openat (Files): Remove openat-die.c.
65362         (Depends-on): Add openat-die.
65363         * modules/openat-die: New module.
65364
65365 2007-05-06  Bruno Haible  <bruno@clisp.org>
65366
65367         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65368         Update with info about Cygwin.
65369         * doc/functions/fprintf.texi: Update.
65370         * doc/functions/printf.texi: Update.
65371         * doc/functions/snprintf.texi: Update.
65372         * doc/functions/sprintf.texi: Update.
65373         * doc/functions/vfprintf.texi: Update.
65374         * doc/functions/vprintf.texi: Update.
65375         * doc/functions/vsnprintf.texi: Update.
65376         * doc/functions/vsprintf.texi: Update.
65377         Reported by Eric Blake.
65378
65379 2007-05-06  Bruno Haible  <bruno@clisp.org>
65380
65381         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65382         padding ourselves for the floating-point directives.
65383         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65384         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65385         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65386         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65387         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65389         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65390         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65391         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65392         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65393         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65394         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65395         * tests/test-snprintf-posix.h (test_function): Also check the width
65396         and some flags in the %f directive.
65397         * tests/test-sprintf-posix.h (test_function): Likewise.
65398         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65399         * tests/test-vasprintf-posix.c (test_function): Likewise.
65400         * doc/functions/fprintf.texi: Update.
65401         * doc/functions/printf.texi: Update.
65402         * doc/functions/snprintf.texi: Update.
65403         * doc/functions/sprintf.texi: Update.
65404         * doc/functions/vfprintf.texi: Update.
65405         * doc/functions/vprintf.texi: Update.
65406         * doc/functions/vsnprintf.texi: Update.
65407         * doc/functions/vsprintf.texi: Update.
65408
65409 2007-05-06  Bruno Haible  <bruno@clisp.org>
65410
65411         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
65412         pass the ' flag character to sprintf or snprintf.
65413         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
65414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
65415         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65416         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
65417         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
65418         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65419         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65420         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65421         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65422         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65423         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65424         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65425         * tests/test-snprintf-posix.h (test_function): Also check the grouping
65426         flag.
65427         * tests/test-sprintf-posix.h (test_function): Likewise.
65428         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65429         * tests/test-vasprintf-posix.c (test_function): Likewise.
65430         * doc/functions/fprintf.texi: Update.
65431         * doc/functions/printf.texi: Update.
65432         * doc/functions/snprintf.texi: Update.
65433         * doc/functions/sprintf.texi: Update.
65434         * doc/functions/vfprintf.texi: Update.
65435         * doc/functions/vprintf.texi: Update.
65436         * doc/functions/vsnprintf.texi: Update.
65437         * doc/functions/vsprintf.texi: Update.
65438
65439 2007-05-01  Bruno Haible  <bruno@clisp.org>
65440
65441         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
65442
65443 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65444
65445         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
65446         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
65447
65448 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65449
65450         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
65451         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
65452         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
65453
65454 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
65455
65456         * lib/argp-help.c (struct hol_entry): New member `ord'.
65457         (HOL_ENTRY_PTRCMP): Use ord for comparison
65458         (hol_sort): Initialize ord.
65459
65460 2007-05-01  Bruno Haible  <bruno@clisp.org>
65461
65462         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
65463         Reported by Eric Blake.
65464         * doc/gnulib.texi (Function Substitutes): Update.
65465
65466 2007-05-01  Bruno Haible  <bruno@clisp.org>
65467
65468         * doc/functions.texi: Remove file, now redundant through
65469         doc/functions/*.texi.
65470
65471 2007-05-01  Bruno Haible  <bruno@clisp.org>
65472
65473         * modules/argp (Depends-on): Add sleep.
65474
65475 2007-05-01  Bruno Haible  <bruno@clisp.org>
65476
65477         * modules/sleep-tests: New file.
65478         * tests/test-sleep.c: New file.
65479
65480         * modules/sleep: New file.
65481         * lib/sleep.c: New file.
65482         * m4/sleep.m4: New file.
65483         * lib/unistd_.h (sleep): New declaration.
65484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
65485         HAVE_SLEEP.
65486         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
65487         * doc/functions/sleep.texi: Document the sleep module.
65488
65489 2007-05-01  Bruno Haible  <bruno@clisp.org>
65490
65491         * lib/sigprocmask.h: Remove file.
65492         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
65493         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
65494         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
65495         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
65496         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
65497         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
65498         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
65499         HAVE_SIGSET_T as a shell variable.
65500         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
65501         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
65502         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
65503         (Depends-on): Add signal. Remove verify.
65504         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
65505         (Include): Mention <signal.h> instead of sigprocmask.h.
65506         * NEWS: Mention the change.
65507         * lib/fatal-signal.c: Don't include sigprocmask.h.
65508
65509 2007-05-01  Bruno Haible  <bruno@clisp.org>
65510
65511         * modules/signal: New file.
65512         * lib/signal_.h: New file.
65513         * m4/signal_h.m4: New file.
65514
65515 2007-05-01  Bruno Haible  <bruno@clisp.org>
65516
65517         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
65518         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
65519         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
65520         HAVE_WCTYPE_CTMP_BUG into wctype.h.
65521
65522 2007-05-01  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
65525         configure time.
65526         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
65527         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
65528         * modules/sys_stat (Makefile.am): Substitute their values into
65529         sys/stat.h.
65530
65531 2007-05-01  Bruno Haible  <bruno@clisp.org>
65532
65533         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65534         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65535         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65536
65537 2007-05-01  Bruno Haible  <bruno@clisp.org>
65538
65539         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65540         'assert' module here.
65541
65542 2007-05-01  Bruno Haible  <bruno@clisp.org>
65543
65544         * doc/functions/*.texi: New files.
65545         * doc/functions/google-ranking.txt: New file.
65546         * doc/gnulib.texi (Function Substitutes): New chapter.
65547         (ctime, inet_ntoa): Remove sections.
65548         * doc/ctime.texi: Remove file.
65549         * doc/inet_ntoa.texi: Remove file.
65550         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65551         dependencies.
65552         (%.info): New rule, specifying a --reference-limit.
65553
65554 2007-05-01  Bruno Haible  <bruno@clisp.org>
65555
65556         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65557
65558 2007-05-01  Bruno Haible  <bruno@clisp.org>
65559
65560         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65561         the portability of 'mkdir' to mingw systems.
65562
65563 2007-05-01  Bruno Haible  <bruno@clisp.org>
65564
65565         * doc/headers/google-ranking.txt: New file.
65566
65567 2007-04-30  Eric Blake  <ebb9@byu.net>
65568
65569         Prefer fseeko to fseek.
65570         * modules/getpass (Depends-on): Add fseeko.
65571         * lib/getpass.c (getpass): Use fseeko, not fseek.
65572
65573 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65574
65575         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65576         assumes the sorting is stable, while most qsort implementations
65577         are not.  Use argument addresses to ensure they never compare as
65578         equal.
65579
65580         * tests/test-argp-2.sh (usage-indent test): Fix output
65581         (func_compare): Restore diff options
65582         * tests/test-argp.c: Restore #include "progname.h"
65583
65584 2007-04-29  Bruno Haible  <bruno@clisp.org>
65585
65586         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65588         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65589         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65590         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65591         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65592         (TESTS, check_PROGRAMS): Add test-snprintf.
65593         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65594         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65595         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65596         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65597         assertions that fail on HP-UX, OSF/1, or IRIX.
65598         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65599
65600 2007-04-29  Bruno Haible  <bruno@clisp.org>
65601
65602         * MODULES.html.sh (posix_functions): Remove 'contents'.
65603
65604 2007-04-29  Karl Berry  <karl@gnu.org>
65605
65606         * config/srclist.txt (gendocs_template_min): new entry.
65607
65608 2007-04-29  Bruno Haible  <bruno@clisp.org>
65609
65610         Work around fpurge bug on BSD systems.
65611         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65612         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65613         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65614         fpurge to rpl_fpurge if the system already has this function.
65615         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65616         the case where the system already has this function. Correct invariants
65617         on BSD systems.
65618         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65619         BSD systems.
65620
65621 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65622
65623         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65624         proposed by Sven Verdoolaege.
65625
65626         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65627         options.
65628         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65629         (usage and help tests): Update
65630
65631 2007-04-29  Bruno Haible  <bruno@clisp.org>
65632
65633         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65634         Print more information in case of failure. Disable a test on BeOS.
65635
65636 2007-04-29  Bruno Haible  <bruno@clisp.org>
65637
65638         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65639         This helps debugging on systems on which no gdb is available.
65640
65641 2007-04-29  Bruno Haible  <bruno@clisp.org>
65642
65643         * lib/freading.h: Improve comments.
65644         * lib/fwriting.h: Likewise.
65645         * tests/test-freading.c (main): Don't check freading immediately after
65646         repositioning. Needed for glibc.
65647
65648 2007-04-29  Bruno Haible  <bruno@clisp.org>
65649
65650         * lib/freading.c (freading): Trivial simplification.
65651
65652 2007-04-28  Bruno Haible  <bruno@clisp.org>
65653
65654         * tests/test-fwriting.c (main): Also test the interaction between
65655         fflush and fwriting.
65656         * modules/fwriting-tests (Depends-on): Add fflush.
65657
65658         * tests/test-freading.c (main): Also test the interaction between
65659         fflush and freading.
65660         * modules/freading-tests (Depends-on): Add fflush.
65661
65662 2007-04-28  Bruno Haible  <bruno@clisp.org>
65663
65664         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65665         fseeko and ftello.
65666         Suggested by Eric Blake.
65667
65668 2007-04-28  Jim Meyering  <jim@meyering.net>
65669
65670         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65671         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65672         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65673
65674 2007-04-27  Eric Blake  <ebb9@byu.net>
65675
65676         * doc/headers/assert.texi (assert.h): Document assert module use.
65677
65678 2007-04-27  Bruno Haible  <bruno@clisp.org>
65679
65680         * doc/headers/*.texi: New files.
65681         * doc/gnulib.texi (Header File Substitutes): New chapter.
65682         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65683         dependencies.
65684         (standards.info ,standards.html, standards.dvi): Update dependencies.
65685         (mostlyclean, clean): New targets.
65686
65687 2007-04-27  Bruno Haible  <bruno@clisp.org>
65688
65689         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65690         * modules/sysexits (Files, Makefile.am): Update.
65691
65692         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65693         * modules/sys_socket (Files, Makefile.am): Update.
65694
65695         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65696         * modules/sys_stat (Files, Makefile.am): Update.
65697
65698 2007-04-27  Eric Blake  <ebb9@byu.net>
65699
65700         * lib/freading.h: Improve comments.
65701         * lib/fwriting.h: Likewise.
65702         * lib/fflush.c: Likewise.
65703
65704         Fix closein for mingw.
65705         * modules/closein-tests: Add tests for closein.
65706         * tests/test-closein.c: New file.
65707         * tests/test-closein.sh: Likewise.
65708         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65709         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65710
65711 2007-04-27  Bruno Haible  <bruno@clisp.org>
65712
65713         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65714         version is < 6.
65715         * lib/math_.h [__DECC]: Likewise.
65716         * lib/stdio_.h [__DECC]: Likewise.
65717         * lib/stdlib_.h [__DECC]: Likewise.
65718         * lib/string_.h [__DECC]: Likewise.
65719         * lib/time_.h [__DECC]: Likewise.
65720         * lib/wchar_.h [__DECC]: Likewise.
65721         * lib/wctype_.h [__DECC]: Likewise.
65722
65723 2007-04-27  Bruno Haible  <bruno@clisp.org>
65724
65725         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65726
65727 2007-04-27  Bruno Haible  <bruno@clisp.org>
65728
65729         * lib/fflush.c: Add comments.
65730         * modules/fpurge-tests (Depends-on): Add fflush.
65731         * modules/freadable-tests (Depends-on): Likewise.
65732         * modules/fwritable-tests (Depends-on): Likewise.
65733
65734 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65735
65736         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65737         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65738         Report by Bruno Haible <bruno@clisp.org>.
65739
65740 2007-04-26  Eric Blake  <ebb9@byu.net>
65741
65742         Fix fflush on mingw.
65743         * modules/fflush (Depends-on): Add freading.
65744         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65745         but unread data.
65746
65747 2007-04-26  Eric Blake  <ebb9@byu.net>
65748         and Bruno Haible  <bruno@clisp.org>
65749
65750         Implement freading and fwriting.
65751         * lib/freading.c: New file.
65752         * lib/freading.h: Likewise.
65753         * m4/freading.m4: Likewise.
65754         * modules/freading: Likewise.
65755         * modules/freading-tests: Likewise.
65756         * tests/test-freading.c: Likewise.
65757         * lib/fwriting.c: New file.
65758         * lib/fwriting.h: Likewise.
65759         * m4/fwriting.m4: Likewise.
65760         * modules/fwriting: Likewise.
65761         * modules/fwriting-tests: Likewise.
65762         * tests/test-fwriting.c: Likewise.
65763         * MODULES.html.sh (File stream based Input/Output): Mention them.
65764
65765 2007-04-26  Bruno Haible  <bruno@clisp.org>
65766
65767         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65768         'long' when we assume it.
65769         Suggested by Eric Blake.
65770
65771 2007-04-26  Bruno Haible  <bruno@clisp.org>
65772
65773         Ensure fseeko, ftello are declared on glibc systems.
65774         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65775         * modules/fseeko (configure.ac-early): Likewise.
65776         * modules/ftello (configure.ac-early): Likewise.
65777         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65778         AC_FUNC_FSEEKO for this.
65779         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65780         (gl_CHECK_FSEEKO): Remove macro.
65781
65782 2007-04-26  Bruno Haible  <bruno@clisp.org>
65783
65784         * tests/test-fflush.c (main): Also check the ftell result after
65785         fflush and fseek/fseeko.
65786         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65787         file descriptor position cache in the stream.
65788         * lib/fseeko.c (rpl_fseeko): Likewise.
65789
65790 2007-04-26  Bruno Haible  <bruno@clisp.org>
65791
65792         * modules/fflush-tests (Depends-on): Add fseeko.
65793
65794 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65795             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65796
65797         * lib/argz_.h: ensure error_t definition is obtained in same
65798         mechanism system argz.h would have.
65799         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65800         argz facilities are known bad.  Err on the side of caution if
65801         cross-compiling.
65802
65803 2007-04-25  Eric Blake  <ebb9@byu.net>
65804
65805         * lib/fpurge.c (includes): Use stdlib.h for free.
65806         * tests/test-fflush.c (main): Also test fflush-fseeko.
65807
65808 2007-04-25  Bruno Haible  <bruno@clisp.org>
65809
65810         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65811         * lib/fseeko.c: New file.
65812         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65813         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65814         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65815         gl_FUNC_FSEEKO.
65816         (gl_FUNC_FSEEKO): Invoke it.
65817         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65818         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65819         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65820
65821 2007-04-25  Bruno Haible  <bruno@clisp.org>
65822
65823         * modules/fflush (Depends-on): Add ftello.
65824
65825 2007-04-25  Bruno Haible  <bruno@clisp.org>
65826
65827         * modules/ftello-tests: New file.
65828         * tests/test-ftello.c: New file.
65829
65830         * modules/ftello: New file.
65831         * m4/ftello.m4: New file.
65832         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65833         HAVE_FTELLO.
65834         * lib/stdio_.h (ftello): New declaration.
65835         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65836         HAVE_FTELLO.
65837
65838 2007-04-25  Bruno Haible  <bruno@clisp.org>
65839
65840         * modules/fseeko-tests: New file.
65841         * tests/test-fseeko.c: New file.
65842
65843         * modules/fseeko: New file.
65844         * m4/fseeko.m4: New file.
65845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65846         HAVE_FSEEKO.
65847         * lib/stdio_.h (fseeko): New declaration.
65848         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65849         HAVE_FSEEKO.
65850
65851 2007-04-25  Bruno Haible  <bruno@clisp.org>
65852
65853         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65854
65855 2007-04-25  Bruno Haible  <bruno@clisp.org>
65856
65857         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65858         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65859         * tests/test-unistd.c: Likewise.
65860         * tests/test-fcntl.c: Likewise.
65861
65862 2007-04-23  Eric Blake  <ebb9@byu.net>
65863
65864         * lib/fflush.c: Fix missing include.
65865         Reported by Bruno Haible.
65866
65867 2007-04-23  Bruno Haible  <bruno@clisp.org>
65868
65869         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65870         Reported by Eric Blake.
65871
65872 2007-04-23  Bruno Haible  <bruno@clisp.org>
65873
65874         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65875
65876 2007-04-23  Bruno Haible  <bruno@clisp.org>
65877
65878         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65879
65880 2007-04-23  Bruno Haible  <bruno@clisp.org>
65881
65882         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65883         Needed on HP-UX 11.
65884
65885 2007-04-16  Eric Blake  <ebb9@byu.net>
65886
65887         Make fflush rely on fpurge.
65888         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65889         open coding all variants.
65890         * modules/fflush (Depends-on): Add fpurge and unistd.
65891         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65892         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65893
65894         Fix --with-tests compilation on cygwin.
65895         * modules/argmatch-tests (Makefile.am): List gnulib library first
65896         in LDADD.
65897         * modules/argp-tests (Makefile.am): Likewise.
65898         * modules/array-list-tests (Makefile.am): Likewise.
65899         * modules/array-oset-tests (Makefile.am): Likewise.
65900         * modules/avltree-list-tests (Makefile.am): Likewise.
65901         * modules/avltree-oset-tests (Makefile.am): Likewise.
65902         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65903         * modules/carray-list-tests (Makefile.am): Likewise.
65904         * modules/dirname-tests (Makefile.am): Likewise.
65905         * modules/frexp-tests (Makefile.am): Likewise.
65906         * modules/isnanl-tests (Makefile.am): Likewise.
65907         * modules/linked-list-tests (Makefile.am): Likewise.
65908         * modules/linkedhash-list-tests (Makefile.am): Likewise.
65909         * modules/lock-tests (Makefile.am): Likewise.
65910         * modules/rbtree-list-tests (Makefile.am): Likewise.
65911         * modules/rbtree-oset-tests (Makefile.am): Likewise.
65912         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
65913         * modules/tls-tests (Makefile.am): Likewise.
65914         * modules/tsearch-tests (Makefile.am): Likewise.
65915         * modules/xvasprintf-tests (Makefile.am): Likewise.
65916
65917         Fix fpurge for cygwin.
65918         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
65919         value.
65920         * modules/fpurge-tests (Depends-on): Clean up trash.
65921
65922 2007-04-16  Simon Josefsson  <simon@josefsson.org>
65923
65924         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
65925
65926         * m4/autobuild.m4: Re-indent.
65927
65928 2007-04-13  Bruno Haible  <bruno@clisp.org>
65929
65930         * modules/fpurge-tests: New file.
65931         * tests/test-fpurge.c: New file.
65932
65933         * modules/fpurge: New file.
65934         * lib/fpurge.h: New file.
65935         * lib/fpurge.c: New file.
65936         * m4/fpurge.m4: New file.
65937
65938 2007-04-13  Bruno Haible  <bruno@clisp.org>
65939
65940         * modules/fbufmode-tests: New file.
65941         * tests/test-fbufmode.c: New file.
65942
65943         * modules/fbufmode: New file.
65944         * lib/fbufmode.h: New file.
65945         * lib/fbufmode.c: New file.
65946         * m4/fbufmode.m4: New file.
65947
65948 2007-04-13  Bruno Haible  <bruno@clisp.org>
65949
65950         * modules/fwritable-tests: New file.
65951         * tests/test-fwritable.c: New file.
65952
65953         * modules/fwritable: New file.
65954         * lib/fwritable.h: New file.
65955         * lib/fwritable.c: New file.
65956         * m4/fwritable.m4: New file.
65957
65958 2007-04-13  Bruno Haible  <bruno@clisp.org>
65959
65960         * modules/freadable-tests: New file.
65961         * tests/test-freadable.c: New file.
65962
65963         * modules/freadable: New file.
65964         * lib/freadable.h: New file.
65965         * lib/freadable.c: New file.
65966         * m4/freadable.m4: New file.
65967
65968 2007-04-13  Bruno Haible  <bruno@clisp.org>
65969
65970         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
65971         MOSTLYCLEANFILES.
65972
65973 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65974
65975         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
65976         gzip bootstrap.conf to avoid dragging in i18n machinery.
65977         (gnulib_tool_option): Use it.
65978
65979 2007-04-13  Bruno Haible  <bruno@clisp.org>
65980
65981         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
65982         %F directives.
65983         * tests/test-vasprintf-posix.c (test_function): Likewise.
65984         * tests/test-snprintf-posix.h (test_function): Likewise.
65985         * tests/test-sprintf-posix.h (test_function): Likewise.
65986         * tests/test-fprintf-posix.h (test_function): Likewise.
65987         * tests/test-printf-posix.h (test_function): Likewise.
65988         * tests/test-fprintf-posix.out: Likewise.
65989
65990 2007-04-13  Bruno Haible  <bruno@clisp.org>
65991
65992         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
65993         * modules/tls-tests (configure.ac): Likewise.
65994         Reported by Arto C. Nirkko <anirkko@insel.ch>.
65995
65996 2007-04-13  Bruno Haible  <bruno@clisp.org>
65997
65998         * lib/tls.c (glthread_tls_get): Fix return type.
65999         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66000
66001 2007-04-12  Eric Blake  <ebb9@byu.net>
66002
66003         * modules/gettime (Depends-on): Remove gettime.
66004         Reported by Dmitry V. Levin.
66005
66006 2007-04-12  Bruno Haible  <bruno@clisp.org>
66007
66008         * modules/fflush (Include): Mention <stdio.h>.
66009         * modules/strtoimax (Include): Mention <inttypes.h>.
66010         * modules/strtoumax (Include): Likewise.
66011
66012 2007-04-12  Eric Blake  <ebb9@byu.net>
66013
66014         * .cvsignore: New file.
66015         * .gitignore: Likewise.
66016
66017 2007-04-12  Bruno Haible  <bruno@clisp.org>
66018
66019         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66020         not before, since $(LDADD) often contains libgnu.a.
66021         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66022         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66023         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66024         Needed on Cygwin.
66025
66026 2007-04-12  Eric Blake  <ebb9@byu.net>
66027
66028         Work around glibc's failure to flush stdin on fclose.
66029         * lib/closein.c (close_stdin): Flush stdin before closing.
66030
66031         Work around glibc's failure to reset seekable stdin on exit.
66032         * modules/closein: New module.
66033         * lib/closein.c: New file.
66034         * lib/closein.h: Likewise.
66035         * m4/closein.m4: Likewise.
66036         * MODULES.html.sh (File stream based Input/Output): Document it.
66037
66038 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66039
66040         * gnulib-tool: Rename generated 'autobuild' script to
66041         'do-autobuild' in --create-megatestdir output.
66042
66043         * doc/gnulib.texi (Build robot for gnulib): Fix.
66044
66045 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66046
66047         * modules/sysexits (Depends-on): Add absolute-header.
66048
66049 2007-04-12  Eric Blake  <ebb9@byu.net>
66050
66051         No need to preserve errno on success.
66052         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66053         Reported by Bruno Haible.
66054
66055 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66056
66057         * MODULES.html.sh (Support for maintaining and releasing
66058         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66059
66060 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66061
66062         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66063
66064 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66065
66066         * modules/autobuild: New module.
66067
66068         * m4/autobuild.m4: New file.
66069
66070 2007-04-11  Bruno Haible  <bruno@clisp.org>
66071
66072         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66073         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66075         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66076         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66077         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66078         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66079         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66080         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66081         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66082         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66083         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66084         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66085         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66086         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66087         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66088         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66089         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66090         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66091         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66092         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66093         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66094         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66095         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66096         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66097         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66098         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66099         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66100         Reported by Eric Blake.
66101
66102 2007-04-11  Bruno Haible  <bruno@clisp.org>
66103
66104         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66105
66106 2007-04-10  Bruno Haible  <bruno@clisp.org>
66107
66108         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66109         for NaN and Infinity. Needed on FreeBSD 6.1.
66110         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66111         regarding results for "%010a" of Infinity and NaN.
66112         * tests/test-vasprintf-posix.c (test_function): Likewise.
66113         * tests/test-snprintf-posix.h (test_function): Likewise.
66114         * tests/test-sprintf-posix.h (test_function): Likewise.
66115         * tests/test-fprintf-posix.h (test_function): Likewise.
66116         * tests/test-printf-posix.h (test_function): Likewise.
66117         * tests/test-fprintf-posix.out: Likewise.
66118
66119 2007-04-10  Bruno Haible  <bruno@clisp.org>
66120
66121         * modules/locale-tests: New file.
66122         * tests/test-locale.c: New file.
66123
66124         * modules/locale: New file.
66125         * lib/locale_.h: New file.
66126         * m4/locale_h.m4: New file.
66127
66128 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66129             Bruno Haible  <bruno@clisp.org>
66130
66131         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66132         be determined, test for availability of the copysignf, copysign,
66133         copysignl functions.
66134         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66135         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66136         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66137
66138 2007-04-09  Eric Blake  <ebb9@byu.net>
66139
66140         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66141         * modules/stdio (Makefile.am): Support fflush.
66142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66143         * modules/fflush: New file.
66144         * lib/fflush.c: Likewise.
66145         * m4/fflush.m4: Likewise.
66146         * modules/fflush-tests: New test.
66147         * tests/test-fflush.c: Likewise.
66148         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66149
66150 2007-04-06  Bruno Haible  <bruno@clisp.org>
66151
66152         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66153         (VASNPRINTF): Use signbit for faster determination whether to print a
66154         minus sign.
66155         * modules/vasnprintf (Files): Remove lib/float+.h.
66156         * modules/fprintf-posix (Depends-on): Add signbit.
66157         * modules/snprintf-posix (Depends-on): Likewise.
66158         * modules/sprintf-posix (Depends-on): Likewise.
66159         * modules/vasnprintf-posix (Depends-on): Likewise.
66160         * modules/vasprintf-posix (Depends-on): Likewise.
66161         * modules/vfprintf-posix (Depends-on): Likewise.
66162         * modules/vsnprintf-posix (Depends-on): Likewise.
66163         * modules/vsprintf-posix (Depends-on): Likewise.
66164
66165 2007-04-06  Bruno Haible  <bruno@clisp.org>
66166
66167         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66168         * tests/test-frexpl.c (main): Likewise.
66169         * tests/test-ldexpl.c (main): Likewise.
66170         * modules/frexp-tests (Depends-on): Add signbit.
66171         * modules/frexpl-tests (Depdends-on): Likewise.
66172         * modules/ldexpl-tests (Depdends-on): Likewise.
66173
66174 2007-04-06  Bruno Haible  <bruno@clisp.org>
66175
66176         * modules/signbit-tests: New file.
66177         * tests/test-signbit.c: New file.
66178
66179         * modules/signbit: New file.
66180         * lib/signbitf.c: New file.
66181         * lib/signbitd.c: New file.
66182         * lib/signbitl.c: New file.
66183         * m4/signbit.m4: New file.
66184         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66185         (signbit): New macro.
66186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66187         REPLACE_SIGNBIT.
66188         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66189         REPLACE_FREXPL into math.h.
66190
66191 2007-04-06  Bruno Haible  <bruno@clisp.org>
66192
66193         * modules/isnanf-nolibm-tests: New file.
66194         * tests/test-isnanf.c: New file.
66195
66196         * modules/isnanf-nolibm: New file.
66197         * lib/isnanf.h: New file.
66198         * lib/isnanf.c: New file.
66199         * lib/isnan.c: Consider the USE_FLOAT macro.
66200         * m4/isnanf.m4: New file.
66201
66202 2007-04-06  Bruno Haible  <bruno@clisp.org>
66203
66204         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66205         (Link): New section.
66206
66207         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66208
66209 2007-04-06  Bruno Haible  <bruno@clisp.org>
66210
66211         Assume the 'long double' type.
66212         * m4/longdouble.m4: Remove file.
66213         * config/srclist.txt: Don't mention longdouble.m4.
66214         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66215         * lib/float+.h: Likewise.
66216         * lib/frexp.c: Likewise.
66217         * lib/printf-args.h: Likewise.
66218         * lib/printf-args.c: Likewise.
66219         * lib/printf-frexp.c: Likewise.
66220         * lib/printf-parse.c: Likewise.
66221         * lib/vasnprintf.c: Likewise.
66222         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66223         * m4/intl.m4: Likewise.
66224         * m4/isnanl.m4: Likewise.
66225         * m4/printf.m4: Likewise.
66226         * m4/printf-frexpl.m4: Likewise.
66227         * m4/vasnprintf.m4: Likewise.
66228         * modules/allocsa (Files): Remove m4/longdouble.m4.
66229         * modules/gettext (Files): Likewise.
66230         * modules/relocatable-prog-wrapper (Files): Likewise.
66231         * modules/vasnprintf (Files): Likewise.
66232         * modules/isnanl (Files): Likewise.
66233         (Include): Simplify.
66234         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66235         (Include): Simplify.
66236         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66237         (Include): Simplify.
66238         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66239         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66240         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66241         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66242         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66243         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66244         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66245         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66246         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66247         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66248         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66249         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66250         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66251         * tests/test-isnanl.c: Likewise.
66252         * tests/test-snprintf-posix.h: Likewise.
66253         * tests/test-sprintf-posix.h: Likewise.
66254         * tests/test-vasnprintf-posix.c: Likewise.
66255         * tests/test-vasnprintf-posix2.c: Likewise.
66256         * tests/test-vasprintf-posix.c: Likewise.
66257
66258 2007-04-06  Bruno Haible  <bruno@clisp.org>
66259
66260         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66261         * lib/math_.h [__DECC]: Include the overridden include file through
66262         #include_next, outside the double-inclusion guard.
66263         * lib/stdio_.h [__DECC]: Likewise.
66264         * lib/stdlib_.h [__DECC]: Likewise.
66265         * lib/string_.h [__DECC]: Likewise.
66266         * lib/time_.h [__DECC]: Likewise.
66267         * lib/wchar_.h [__DECC]: Likewise.
66268         * lib/wctype_.h [__DECC]: Likewise.
66269         * lib/inttypes_.h [__DECC]: Likewise.
66270         Reported by Albert Chin <china@thewrittenword.com> in
66271         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66272
66273 2007-04-04  Eric Blake  <ebb9@byu.net>
66274
66275         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66276         1.5.x.
66277
66278 2007-04-04  Bruno Haible  <bruno@clisp.org>
66279
66280         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66281         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66282
66283 2007-04-04  Bruno Haible  <bruno@clisp.org>
66284
66285         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66286         results for "%010a" of Infinity and NaN.
66287         * tests/test-vasprintf-posix.c (test_function): Likewise.
66288         * tests/test-snprintf-posix.h (test_function): Likewise.
66289         * tests/test-sprintf-posix.h (test_function): Likewise.
66290         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66291         * tests/test-printf-posix.h (test_function): Likewise.
66292         * tests/test-fprintf-posix.out: Update.
66293         Needed for FreeBSD 6.1.
66294
66295 2007-04-04  Bruno Haible  <bruno@clisp.org>
66296
66297         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66298         directly used by the gnulib modules nor by gnulib-tool.
66299
66300 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66301
66302         * DEPENDENCIES: Give overall description of version dependency
66303         desirability.  Use more-typical names for apps.
66304         Add shell, coreutils, diffutils, grep, tar, gzip.
66305
66306 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66307
66308         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66309
66310 2007-04-04  Karl Berry  <karl@gnu.org>
66311
66312         * MODULES.html.sh (func_module): missing '.
66313
66314 2007-04-03  Bruno Haible  <bruno@clisp.org>
66315
66316         * modules/argmatch-tests (Makefile.am): New variable
66317         test_argmatch_LDADD.
66318         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66319         * modules/array-list-tests (Makefile.am): New variable
66320         test_array_list_LDADD.
66321         * modules/array-oset-tests (Makefile.am): New variable
66322         test_array_oset_LDADD.
66323         * modules/avltree-list-tests (Makefile.am): New variable
66324         test_avltree_list_LDADD.
66325         * modules/avltree-oset-tests (Makefile.am): New variable
66326         test_avltree_oset_LDADD.
66327         * modules/avltreehash-list-tests (Makefile.am): New variable
66328         test_avltreehash_list_LDADD.
66329         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66330         test_canonicalize_lgpl_LDADD.
66331         * modules/carray-list-tests (Makefile.am): New variable
66332         test_carray_list_LDADD.
66333         * modules/dirname-tests (Makefile.am): New variable
66334         test_dirname_LDADD.
66335         * modules/linked-list-tests (Makefile.am): New variable
66336         test_linked_list_LDADD.
66337         * modules/linkedhash-list-tests (Makefile.am): New variable
66338         test_linkedhash_list_LDADD.
66339         * modules/rbtree-list-tests (Makefile.am): New variable
66340         test_rbtree_list_LDADD.
66341         * modules/rbtree-oset-tests (Makefile.am): New variable
66342         test_rbtree_oset_LDADD.
66343         * modules/rbtreehash-list-tests (Makefile.am): New variable
66344         test_rbtreehash_list_LDADD.
66345         * modules/xvasprintf-tests (Makefile.am): New variable
66346         test_xvasprintf_LDADD.
66347         Reported by Eric Blake.
66348
66349 2007-04-03  Eric Blake  <ebb9@byu.net>
66350
66351         * DEPENDENCIES: Weaken m4 requirements.
66352
66353 2007-04-03  Bruno Haible  <bruno@clisp.org>
66354
66355         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66356         * modules/isnanl-tests (configure.ac): Likewise.
66357
66358 2007-04-03  Ben Pfaff  <blp@gnu.org>
66359
66360         * modules/iconv_open: Add $(srcdir)/ to source directory
66361         references in Makefile fragments that call gperf, to fix VPATH
66362         builds.
66363
66364 2007-04-03  Bruno Haible  <bruno@clisp.org>
66365
66366         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66367         * lib/ldexpl.c: Undo last change.
66368
66369 2007-04-03  Bruno Haible  <bruno@clisp.org>
66370
66371         * modules/printf-frexpl (Depends-on): Undo last change.
66372         (Files): Add m4/ldexpl.m4.
66373
66374 2007-04-03  Bruno Haible  <bruno@clisp.org>
66375
66376         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66377         * modules/isnanl (Link): New section.
66378
66379         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66380         * modules/frexp (Link): New section.
66381
66382         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66383         * modules/frexpl (Link): New section.
66384
66385         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66386         * modules/ldexpl (Link): New section.
66387
66388 2007-04-03  Bruno Haible  <bruno@clisp.org>
66389
66390         * modules/TEMPLATE-EXTENDED: New file.
66391         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66392
66393 2007-04-03  Bruno Haible  <bruno@clisp.org>
66394
66395         * DEPENDENCIES: New file.
66396         Suggested by Simon Josefsson.
66397
66398 2007-04-03  Bruno Haible  <bruno@clisp.org>
66399
66400         * doc/gnulib.texi: Escape @.
66401
66402 2007-04-03  James Youngman  <jay@gnu.org>
66403         and Paul Eggert  <eggert@cs.ucla.edu>
66404
66405         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
66406         birthtime on all systems that have birthtime, not just those which
66407         use st_birthtimensec rather than st_birthtim.  Putting zero in
66408         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
66409         that the birth time is not available for files on an NFS mount.
66410
66411 2007-04-03  Simon Josefsson  <simon@josefsson.org>
66412
66413         * modules/memxor: Move back from crypto/, suggested by Bruno.
66414         * modules/crypto/hmac-sha1: Fix memxor dependency.
66415
66416         * modules/crypto/gc: Moved from ../.
66417
66418 2007-04-02  Eric Blake  <ebb9@byu.net>
66419
66420         * lib/ldexpl.c (includes): Avoid libm.
66421
66422         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
66423
66424 2007-04-02  Bruno Haible  <bruno@clisp.org>
66425
66426         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
66427         on IRIX.
66428
66429 2007-04-02  Bruno Haible  <bruno@clisp.org>
66430
66431         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
66432         x86 or x86_64 platforms running MacOS X.
66433         Reported by Ryan Schmidt <@ryandesign.com>.
66434
66435 2007-04-02  Bruno Haible  <bruno@clisp.org>
66436
66437         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
66438         i386.
66439
66440 2007-04-01  Simon Josefsson  <simon@josefsson.org>
66441
66442         * modules/crypto/arcfour: Moved from ../.
66443         * modules/crypto/arcfour-tests: Moved from ../.
66444         * modules/crypto/arctwo: Moved from ../.
66445         * modules/crypto/arctwo-tests: Moved from ../.
66446         * modules/crypto/des: Moved from ../.
66447         * modules/crypto/des-tests: Moved from ../.
66448         * modules/crypto/gc-arcfour: Moved from ../.
66449         * modules/crypto/gc-arcfour-tests: Moved from ../.
66450         * modules/crypto/gc-arctwo: Moved from ../.
66451         * modules/crypto/gc-arctwo-tests: Moved from ../.
66452         * modules/crypto/gc-des: Moved from ../.
66453         * modules/crypto/gc-des-tests: Moved from ../.
66454         * modules/crypto/gc-hmac-md5: Moved from ../.
66455         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
66456         * modules/crypto/gc-hmac-sha1: Moved from ../.
66457         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
66458         * modules/crypto/gc-md2: Moved from ../.
66459         * modules/crypto/gc-md2-tests: Moved from ../.
66460         * modules/crypto/gc-md4: Moved from ../.
66461         * modules/crypto/gc-md4-tests: Moved from ../.
66462         * modules/crypto/gc-md5: Moved from ../.
66463         * modules/crypto/gc-md5-tests: Moved from ../.
66464         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
66465         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
66466         * modules/crypto/gc-random: Moved from ../.
66467         * modules/crypto/gc-rijndael: Moved from ../.
66468         * modules/crypto/gc-rijndael-tests: Moved from ../.
66469         * modules/crypto/gc-sha1: Moved from ../.
66470         * modules/crypto/gc-sha1-tests: Moved from ../.
66471         * modules/crypto/gc-tests: Moved from ../.
66472         * modules/crypto/hmac-md5: Moved from ../.
66473         * modules/crypto/hmac-md5-tests: Moved from ../.
66474         * modules/crypto/hmac-sha1: Moved from ../.
66475         * modules/crypto/hmac-sha1-tests: Moved from ../.
66476         * modules/crypto/md2: Moved from ../.
66477         * modules/crypto/md2-tests: Moved from ../.
66478         * modules/crypto/md4: Moved from ../.
66479         * modules/crypto/md4-tests: Moved from ../.
66480         * modules/crypto/md5: Moved from ../.
66481         * modules/crypto/md5-tests: Moved from ../.
66482         * modules/crypto/memxor: Moved from ../.
66483         * modules/crypto/rijndael: Moved from ../.
66484         * modules/crypto/rijndael-tests: Moved from ../.
66485         * modules/crypto/sha1: Moved from ../.
66486
66487 2007-03-30  James Youngman  <jay@gnu.org>
66488
66489         * tests/test-stat-time.c (prepare_test): use chmod() rather than
66490         rename() to change the ctime of a file (because ctime is unaffected
66491         by rename on jfs2 on AIX 5.1).
66492         (main): Start by doing cleanup, in case a previous run failed leaving
66493         test files behind.
66494
66495 2007-03-31  Bruno Haible  <bruno@clisp.org>
66496
66497         Support old proprietary implementations of iconv.
66498         * modules/iconv_open: New file.
66499         * lib/iconv_.h: New file.
66500         * m4/iconv_h.m4: New file.
66501         * lib/iconv_open.c: New file.
66502         * lib/iconv_open-aix.gperf: New file.
66503         * lib/iconv_open-hpux.gperf: New file.
66504         * lib/iconv_open-irix.gperf: New file.
66505         * lib/iconv_open-osf.gperf: New file.
66506         * m4/iconv_open.m4: New file.
66507         * modules/linebreak (Depends-on): Add iconv_open.
66508         * modules/striconv (Depends-on): Likewise.
66509         * modules/striconveh (Depends-on): Likewise.
66510         * modules/unicodeio (Depends-on): Likewise.
66511         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
66512         (iconv_t)(-1).
66513         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
66514         conversion if cd is (iconv_t)(-1).
66515         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
66516         is not possible.
66517
66518 2007-03-31  Bruno Haible  <bruno@clisp.org>
66519
66520         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66521         work on Solaris either. Protect also second use of "autodetect_jp".
66522
66523 2007-03-31  Bruno Haible  <bruno@clisp.org>
66524
66525         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
66526         the function is not present.
66527
66528 2007-03-31  Bruno Haible  <bruno@clisp.org>
66529
66530         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
66531         the function is not present.
66532
66533 2007-03-31  Bruno Haible  <bruno@clisp.org>
66534
66535         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66536         a bug in HP-UX iconv_open().
66537
66538 2007-03-31  Bruno Haible  <bruno@clisp.org>
66539
66540         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66541         (Mathematics <math.h>): New section, add fpieee.
66542         (Input/output <stdio.h>): Add fseterr.
66543         (Mathematics <math.h>): New section, add printf-frexp.
66544         (Container data structures): Add sublist.
66545         (Core language properties): Add fpucw, inline.
66546         (Functions for greatest-width integer types <inttypes.h>): Add
66547         imaxabs, imaxdiv, inttypes.
66548         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66549         isnanl-nolibm, ldexp.
66550         (Mathematics <math.h>): New section, add printf-frexpl.
66551         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66552         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66553         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66554         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66555         (Unicode string functions): Add unistr/u*-mbtoucr.
66556         (Java): Add javacomp-script, javaexec-script.
66557         (C#): Add csharpcomp-script, csharpexec-script.
66558         (Support for building libraries and executables): Add havelib,
66559         relocatable-*.
66560         (Support for maintaining and releasing projects): Renamed from
66561         'Support for maintaining and release projects'. Add announce-gen.
66562
66563 2007-03-31  Bruno Haible  <bruno@clisp.org>
66564
66565         * README: Talk primarily about git.
66566         (git and CVS): Renamed from CVS.
66567         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66568         gnulib is available through git.
66569         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66570
66571 2007-03-30  Bruno Haible  <bruno@clisp.org>
66572
66573         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66574         * lib/poll_.h: Likewise.
66575         * lib/stat_.h: Likewise.
66576         * lib/sys_time_.h: Likewise.
66577         * lib/sysexit_.h: Likewise.
66578         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66579         * lib/stdbool_.h: Likewise.
66580         * lib/byteswap_.h: Add double-inclusion guard.
66581
66582 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66583
66584         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66585
66586 2007-03-30  Karl Berry  <karl@gnu.org>
66587
66588         * config/srclist-update: double space after USA in the license
66589         substitution, since that's how it's usually (?) written.
66590
66591 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66592
66593         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66594         reported by Bruno Haible.
66595
66596 2007-03-29  Bruno Haible  <bruno@clisp.org>
66597
66598         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66599         a bug in AIX iconv().
66600
66601 2007-03-29  Bruno Haible  <bruno@clisp.org>
66602
66603         * modules/ldexpl-tests: New file.
66604         * tests/test-ldexpl.c: New file.
66605
66606 2007-03-29  Bruno Haible  <bruno@clisp.org>
66607
66608         * lib/ldexpl.c: Include fpucw.h.
66609         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66610         multiplication.
66611         * modules/ldexpl (Depends-on): Add fpucw.
66612
66613 2007-03-29  Bruno Haible  <bruno@clisp.org>
66614
66615         * modules/ldexpl: New file.
66616         * m4/ldexpl.m4: New file.
66617         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66618         set.
66619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66620         REPLACE_LDEXPL.
66621         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66622         REPLACE_LDEXPL.
66623         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66624         gl_FUNC_LDEXPL_WORKS.
66625         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66626         * modules/mathl (Files): Remove lib/ldexpl.c.
66627         (Depends-on): Add ldexpl.
66628
66629 2007-03-29  Bruno Haible  <bruno@clisp.org>
66630
66631         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66632
66633 2007-03-29  Bruno Haible  <bruno@clisp.org>
66634
66635         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66636         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66637         and possibly also HP-UX.
66638         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66639         work on AIX, IRIX, HP-UX, OSF/1.
66640         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66641         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66642         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66643         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66644         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66645         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66646
66647 2007-03-29  Bruno Haible  <bruno@clisp.org>
66648
66649         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66650
66651 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66652
66653         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66654         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66655
66656 2007-03-29  Eric Blake  <ebb9@byu.net>
66657
66658         * lib/acl-internal.h: Remove redundant include.
66659         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66660         Cygwin when a file is locked.
66661
66662 2007-03-29  Bruno Haible  <bruno@clisp.org>
66663
66664         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66665         file.
66666         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66667
66668 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66669
66670         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66671         try to remove a parent directory if the child couldn't be removed
66672         (except for the first rmdir, which could fail because the child
66673         doesn't exist).  Problem reported by Jeff Blaine in
66674         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66675
66676 2007-03-28  Bruno Haible  <bruno@clisp.org>
66677
66678         * lib/striconveh.c (utf8conv_carefully): New function.
66679         (mem_cd_iconveh_internal): Invoke it.
66680
66681 2007-03-28  Bruno Haible  <bruno@clisp.org>
66682
66683         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66684         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66685         input.
66686         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66687         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66688         unistr/u8-uctomb.
66689
66690 2007-03-28  Bruno Haible  <bruno@clisp.org>
66691
66692         * modules/unistr/u8-mbtoucr: New file.
66693         * lib/unistr/u8-mbtoucr.c: New file.
66694         * modules/unistr/u16-mbtoucr: New file.
66695         * lib/unistr/u16-mbtoucr.c: New file.
66696         * modules/unistr/u16-mbtoucr: New file.
66697         * lib/unistr/u16-mbtoucr.c: New file.
66698         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66699
66700 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66701             Bruno Haible  <bruno@clisp.org>
66702
66703         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66704         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66705         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66706
66707         * m4/stdio_h.m4: Add stubs for vasprintf too.
66708
66709         * modules/stdio: Support vasprintf in sed command.
66710
66711         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66712         vasprintf.h.  Add stdio module indicator.
66713
66714         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66715         vasprintf.h.
66716
66717         * lib/vasprintf.h: File removed.
66718
66719         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66720         * lib/vasprintf.c: Ditto.
66721         * lib/xvasprintf.c: Ditto.
66722         * tests/test-vasprintf-posix.c: Ditto.
66723         * tests/test-vasprintf.c: Ditto.
66724
66725 2007-03-27  Bruno Haible  <bruno@clisp.org>
66726
66727         Make vasnprintf multithread-safe.
66728         * lib/vasnprintf.c (decimal_point_char): New function.
66729         (VASNPRINTF): Use it.
66730         Suggested by Simon Josefsson.
66731
66732 2007-03-27  Eric Blake  <ebb9@byu.net>
66733
66734         Support sub-second birthtime on cygwin.
66735         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66736         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66737         (get_stat_birthtime): Also work with st_birthtim.
66738
66739 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66740
66741         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66742         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66743         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66744         (get_stat_birthtime_ns): Simplify compile-time tests.
66745         (get_stat_birthtime): Change the API to look like
66746         get_stat_mtime etc., except return a negative tv_nsec on error.
66747         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66748         Don't check for "spare" fields.
66749         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66750         or for struct stat.st_birthtime, as these tests aren't used.
66751         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66752
66753 2007-03-27  Bruno Haible  <bruno@clisp.org>
66754
66755         * lib/stat-time.h: Include <sys/stat.h>.
66756
66757 2007-03-27  James Youngman  <jay@gnu.org>
66758
66759         * lib/stat-time.h (get_stat_birthtime): New function for
66760           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66761         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66762           and its variants.
66763         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66764         * modules/stat-time-test: New file.
66765         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66766
66767 2007-03-26  Bruno Haible  <bruno@clisp.org>
66768
66769         Better support of signalling NaNs.
66770         * lib/atanl.c: Include isnanl.h.
66771         (atanl): Perform test for NaN at the beginning of the function and
66772         through a call to isnanl.
66773         * lib/cosl.c: Include isnanl.h.
66774         (cosl): Perform test for NaN at the beginning of the function and
66775         through a call to isnanl.
66776         * lib/ldexpl.c: Include isnanl.h.
66777         (ldexpl): Perform test for NaN through a call to isnanl.
66778         * lib/logl.c: Include isnanl.h.
66779         (logl): Perform test for NaN at the beginning of the function and
66780         through a call to isnanl.
66781         * lib/sinl.c: Include isnanl.h.
66782         (sinl): Perform test for NaN at the beginning of the function and
66783         through a call to isnanl.
66784         * lib/sqrtl.c: Include isnanl.h.
66785         (sqrtl): Perform test for NaN at the beginning of the function and
66786         through a call to isnanl.
66787         * lib/tanl.c: Include isnanl.h.
66788         (tanl): Perform test for NaN at the beginning of the function and
66789         through a call to isnanl.
66790         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66791         * modules/mathl (Depends-on): Add isnanl.
66792
66793 2007-03-26  Eric Blake  <ebb9@byu.net>
66794
66795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66796         regression in logic sense of previous patch.
66797
66798 2007-03-26  Bruno Haible  <bruno@clisp.org>
66799
66800         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66801         unportable shell command "if ! ...".
66802         Reported by Ralf Wildenhues.
66803
66804 2007-03-25  Bruno Haible  <bruno@clisp.org>
66805
66806         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66807         <sysexits.h> file, and only add EX_CONFIG.
66808         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66809         absolute file name and whether it is sufficient. Substitute also
66810         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66811         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66812         ABSOLUTE_SYSEXITS_H into sysexits.h.
66813
66814 2007-03-25  Bruno Haible  <bruno@clisp.org>
66815
66816         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66817         hints is NULL.
66818
66819 2007-03-25  Bruno Haible  <bruno@clisp.org>
66820
66821         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66822         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66823
66824 2007-03-25  Bruno Haible  <bruno@clisp.org>
66825
66826         * lib/vasnprintf.c: Include langinfo.h.
66827         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66828         multithread-safe.
66829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66830         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66831         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66832         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66833         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66834         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66836         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66837         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66838         Reported by Simon Josefsson.
66839
66840 2007-03-25  Bruno Haible  <bruno@clisp.org>
66841
66842         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66843         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66844         * modules/vasnprintf (Depends-on): Add stdint.
66845
66846 2007-03-25  Bruno Haible  <bruno@clisp.org>
66847
66848         * modules/fpieee: New file.
66849         * m4/fpieee.m4: New file.
66850         * modules/isnan-nolibm (Depends-on): Add fpieee.
66851         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66852         * modules/isnanl (Depends-on): Add fpieee.
66853
66854 2007-03-25  Bruno Haible  <bruno@clisp.org>
66855
66856         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66857
66858 2007-03-25  Bruno Haible  <bruno@clisp.org>
66859
66860         Avoid test failures on IRIX 6.5.
66861         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66862         (main): Use it.
66863         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66864         macros.
66865         (main): Use them.
66866
66867 2007-03-25  Bruno Haible  <bruno@clisp.org>
66868
66869         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66870         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66871         exists but doesn't work.
66872         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66873         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66875         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66876         math.h.
66877
66878 2007-03-25  Bruno Haible  <bruno@clisp.org>
66879
66880         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66881         returns inf. Needed on IRIX 6.5.
66882
66883 2007-03-25  Bruno Haible  <bruno@clisp.org>
66884
66885         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66886         (main): Use isnanl instead of x != x idiom.
66887         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66888
66889         * tests/test-frexp.c: Include isnan.h.
66890         (main): Use isnan instead of x != x idiom.
66891         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66892
66893 2007-03-25  Bruno Haible  <bruno@clisp.org>
66894
66895         * tests/test-frexp.c (NaN): New function/macro.
66896         (main): Use it instead of 0.0 / 0.0.
66897         * tests/test-isnan.c (NaN): New function/macro.
66898         (main): Use it instead of 0.0 / 0.0.
66899         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66900         (test_function): Use it instead of 0.0 / 0.0.
66901         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66902         (test_function): Use it instead of 0.0 / 0.0.
66903         * tests/test-snprintf-posix.h (NaN): New function/macro.
66904         (test_function): Use it instead of 0.0 / 0.0.
66905         * tests/test-sprintf-posix.h (NaN): New function/macro.
66906         (test_function): Use it instead of 0.0 / 0.0.
66907         * tests/test-fprintf-posix.h (NaN): New function/macro.
66908         (test_function): Use it instead of 0.0 / 0.0.
66909         * tests/test-printf-posix.h (NaN): New function/macro.
66910         (test_function): Use it instead of 0.0 / 0.0.
66911
66912         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
66913
66914 2007-03-25  Bruno Haible  <bruno@clisp.org>
66915
66916         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
66917
66918 2007-03-25  Bruno Haible  <bruno@clisp.org>
66919
66920         * lib/regexec.c (merge_state_with_log): Make static.
66921
66922 2007-03-25  Bruno Haible  <bruno@clisp.org>
66923
66924         * lib/trigl.c (kernel_rem_pio2): Make static.
66925
66926 2007-03-25  Bruno Haible  <bruno@clisp.org>
66927
66928         * lib/sincosl.c (sincosl_table): Make static.
66929
66930 2007-03-25  Bruno Haible  <bruno@clisp.org>
66931
66932         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
66933         if the compiler does not support C99.
66934
66935 2007-03-25  Bruno Haible  <bruno@clisp.org>
66936
66937         * modules/time (Makefile.am): Ensure all rule action lines start with a
66938         tab.
66939
66940 2007-03-24  Bruno Haible  <bruno@clisp.org>
66941
66942         * modules/tsearch-tests: New file.
66943         * tests/test-tsearch.sh: New file.
66944         * tests/test-tsearch.c: New file, mostly copied from glibc.
66945
66946         * modules/search-tests: New file.
66947         * tests/test-search.c: New file.
66948
66949         * modules/search: New file.
66950         * lib/search_.h: New file, incorporating lib/tsearch.h.
66951         * m4/search_h.m4: New file.
66952         * lib/tsearch.h: Remove file.
66953         * lib/tsearch.c: Include search.h instead of tsearch.h.
66954         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
66955         HAVE_TSEARCH.
66956         * modules/tsearch (Files): Remove lib/tsearch.h.
66957         (Depends-on): Add search.
66958         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
66959         (Include): Change tsearch.h into search.h.
66960
66961 2007-03-24  Bruno Haible  <bruno@clisp.org>
66962
66963         * modules/fpucw: New file.
66964         * lib/fpucw.h: New file.
66965         * lib/frexp.c: Include fpucw.h.
66966         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66967         (FUNC): Use them.
66968         * lib/printf-frexp.c: Include fpucw.h.
66969         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66970         (FUNC): Use them.
66971         * lib/vasnprintf.c: Include fpucw.h.
66972         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
66973         'long double' calculations.
66974         * tests/test-frexpl.c: Include fpucw.h.
66975         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66976         * tests/test-printf-frexpl.c: Include fpucw.h.
66977         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66978         * modules/frexpl (Depends-on): Add fpucw.
66979         * modules/printf-frexpl (Depends-on): Likewise.
66980         * modules/fprintf-posix (Depends-on): Likewise.
66981         * modules/snprintf-posix (Depends-on): Likewise.
66982         * modules/sprintf-posix (Depends-on): Likewise.
66983         * modules/vasnprintf-posix (Depends-on): Likewise.
66984         * modules/vasprintf-posix (Depends-on): Likewise.
66985         * modules/vfprintf-posix (Depends-on): Likewise.
66986         * modules/vsnprintf-posix (Depends-on): Likewise.
66987         * modules/vsprintf-posix (Depends-on): Likewise.
66988         * modules/frexpl-tests (Depends-on): Likewise.
66989         * modules/printf-frexpl-tests (Depends-on): Likewise.
66990
66991 2007-03-24  Bruno Haible  <bruno@clisp.org>
66992
66993         * lib/float+.h: New file.
66994         * lib/isnan.c: Include float+.h.
66995         (SIZE): New macro.
66996         (FUNC): Compare only SIZE bytes of the value.
66997         * lib/vasnprintf.c: Include float+.h.
66998         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
66999         SIZEOF_LDBL or SIZEOF_DBL bytes.
67000         * modules/isnan-nolibm (Files): Add lib/float+.h.
67001         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67002         * modules/isnanl (Files): Add lib/float+.h.
67003         * modules/vasnprintf (Files): Add lib/float+.h.
67004
67005 2007-03-24  Bruno Haible  <bruno@clisp.org>
67006
67007         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67008         include isnanl-nolibm.h.
67009
67010 2007-03-24  Bruno Haible  <bruno@clisp.org>
67011
67012         * tests/test-read-file.c (main): Don't produce spurious output for
67013         expected situations. Make the test fail if it encountered unexpected
67014         results.
67015
67016 2007-03-24  Bruno Haible  <bruno@clisp.org>
67017
67018         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67019         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67020
67021 2007-03-24  Bruno Haible  <bruno@clisp.org>
67022
67023         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67024
67025 2007-03-24  Bruno Haible  <bruno@clisp.org>
67026
67027         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67028         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67029
67030         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67031         * modules/utf8-ucs4: Turn into a symbolic link to module
67032         unistr/u8-mbtouc.
67033
67034         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67035         utf8-ucs4-unsafe.
67036         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67037         unistr/u8-mbtouc-unsafe.
67038
67039         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67040         * modules/utf16-ucs4: Turn into a symbolic link to module
67041         unistr/u16-mbtouc.
67042
67043         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67044         utf16-ucs4-unsafe.
67045         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67046         unistr/u16-mbtouc-unsafe.
67047
67048         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67049         * modules/ucs4-utf8: Turn into a symbolic link to module
67050         unistr/u8-ubtomb.
67051
67052         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67053         * modules/ucs4-utf16: Turn into a symbolic link to module
67054         unistr/u16-ubtomb.
67055
67056 2007-03-24  Bruno Haible  <bruno@clisp.org>
67057
67058         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67059         Enable the function only if HAVE_INLINE.
67060         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67061         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67062         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67063         Enable the function only if HAVE_INLINE.
67064         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67065         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67066         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67067         Enable the function only if HAVE_INLINE.
67068         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67069         Enable the function only if HAVE_INLINE.
67070         * modules/utf8-ucs4: Update.
67071         * modules/utf8-ucs4-unsafe: Update.
67072         * modules/utf16-ucs4: Update.
67073         * modules/utf16-ucs4-unsafe: Update.
67074         * modules/ucs4-utf8: Update.
67075         * modules/ucs4-utf16: Update.
67076
67077 2007-03-24  Bruno Haible  <bruno@clisp.org>
67078
67079         * lib/utf8-ucs4.h: Remove file.
67080         * lib/utf8-ucs4-unsafe.h: Remove file.
67081         * lib/utf16-ucs4.h: Remove file.
67082         * lib/utf16-ucs4-unsafe.h: Remove file.
67083         * lib/ucs4-utf8.h: Remove file.
67084         * lib/ucs4-utf16.h: Remove file.
67085         * lib/unistr.h: Include their previous contents.
67086         * m4/utf-ucs4.m4: Remove file.
67087         * m4/ucs4-utf.m4: Remove file.
67088         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67089         (Depends-on): Add unistr/base.
67090         (configure.ac): Remove gl_UTF_UCS4.
67091         (Makefile.am): Update.
67092         (Include): Change to unistr.h.
67093         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67094         (Depends-on): Add unistr/base.
67095         (configure.ac): Remove gl_UTF_UCS4.
67096         (Makefile.am): Update.
67097         (Include): Change to unistr.h.
67098         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67099         (Depends-on): Add unistr/base.
67100         (configure.ac): Remove gl_UTF_UCS4.
67101         (Makefile.am): Update.
67102         (Include): Change to unistr.h.
67103         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67104         (Depends-on): Add unistr/base.
67105         (configure.ac): Remove gl_UTF_UCS4.
67106         (Makefile.am): Update.
67107         (Include): Change to unistr.h.
67108         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67109         (Depends-on): Add unistr/base.
67110         (configure.ac): Remove gl_UCS4_UTF.
67111         (Makefile.am): Update.
67112         (Include): Change to unistr.h.
67113         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67114         (Depends-on): Add unistr/base.
67115         (configure.ac): Remove gl_UCS4_UTF.
67116         (Makefile.am): Update.
67117         (Include): Change to unistr.h.
67118         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67119         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67120         utf8-ucs4-unsafe.h.
67121         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67122         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67123         utf16-ucs4-unsafe.h.
67124         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67125         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67126         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67127         * lib/unistr/u8-strchr.c: Likewise.
67128         * lib/unistr/u8-strrchr.c: Likewise.
67129         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67130         * lib/unistr/u16-strchr.c: Likewise.
67131         * lib/unistr/u16-strrchr.c: Likewise.
67132         * lib/striconveh.c: Update.
67133         * lib/linebreak.c: Update.
67134
67135 2007-03-24  Bruno Haible  <bruno@clisp.org>
67136
67137         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67138         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67139
67140 2007-03-22  Bruno Haible  <bruno@clisp.org>
67141
67142         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67143
67144 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67145
67146         * MODULES.html.sh (File system functions): New module write-any-file.
67147         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67148         * m4/write-any-file.m4: New files.
67149
67150 2007-03-23  Eric Blake  <ebb9@byu.net>
67151
67152         * gnulib-tool: Rearrange space-tab sequences, since some editors
67153         like to eat them.
67154
67155 2007-03-23  Eric Blake  <ebb9@byu.net>
67156
67157         * lib/version-etc.c (version_etc_va): Update license wording to
67158         be more concise.  Recommended by Richard Stallman.
67159
67160 2007-03-22  Bruno Haible  <bruno@clisp.org>
67161
67162         * lib/poll.c (MSG_PEEK): New fallback definition.
67163
67164 2007-03-22  Bruno Haible  <bruno@clisp.org>
67165
67166         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67167         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67168         (main): Update.
67169         Fixes a compilation error on BeOS.
67170
67171 2007-03-22  Bruno Haible  <bruno@clisp.org>
67172
67173         * modules/frexpl-tests: New file.
67174         * tests/test-frexpl.c: New file.
67175
67176         * modules/frexpl: New file.
67177         * m4/frexpl.m4: New file.
67178         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67179         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67180         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67181         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67182         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67183         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67184
67185 2007-03-22  Bruno Haible  <bruno@clisp.org>
67186
67187         * lib/frexpl.c: Share code with lib/frexp.c.
67188         * modules/mathl (Files): Add lib/frexp.c.
67189         (Depends-on): Add isnanl-nolibm.
67190
67191 2007-03-22  Bruno Haible  <bruno@clisp.org>
67192
67193         * modules/printf-frexp (Files): Add m4/frexp.m4.
67194         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67195         only if the found frexp function actually works.
67196
67197 2007-03-22  Bruno Haible  <bruno@clisp.org>
67198
67199         * lib/frexp.c: Remove older implementation that uses divisions.
67200
67201 2007-03-21  Bruno Haible  <bruno@clisp.org>
67202
67203         * modules/frexp-tests: New file.
67204         * tests/test-frexp.c: New file.
67205
67206         * modules/frexp: New file.
67207         * lib/frexp.c: New file.
67208         * m4/frexp.m4: New file.
67209         * lib/math_.h (frexp): New declaration.
67210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67211         REPLACE_FREXP.
67212         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67213
67214 2007-03-21  Bruno Haible  <bruno@clisp.org>
67215
67216         * modules/isnanl-tests: New file.
67217         * tests/test-isnanl.c: New file.
67218
67219         * modules/isnanl: New file.
67220         * lib/isnanl.h: New file.
67221         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67222         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67223         gl_FUNC_ISNANL_WORKS.
67224         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67225         New macros.
67226
67227 2007-03-21  Bruno Haible  <bruno@clisp.org>
67228
67229         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67230         lib/isnanl.h.
67231         (Include): Update.
67232         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67233         * lib/vasnprintf.c: Update.
67234         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67235         tests/test-isnanl.h, remove tests/test-isnanl.c.
67236         (Makefile.am): Update.
67237         * tests/test-isnanl-nolibm.c: New file.
67238         * tests/test-isnanl.h: New file.
67239         * tests/test-isnanl.c: Remove file.
67240
67241 2007-03-21  Jim Meyering  <jim@meyering.net>
67242
67243         When trying to open ".", treat ESTALE like EACCES.
67244         * lib/savewd.c (savewd_save): Resort to forking not just upon
67245         failure with EACCES, but also when errno is ESTALE.
67246
67247 2007-03-20  Bruno Haible  <bruno@clisp.org>
67248
67249         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67250         Needed on AIX 5.1. Reported by Matthew Woehlke.
67251
67252 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67253
67254         Suggestions by Bruno Haible:
67255         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67256         our own.
67257         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67258         * modules/acl (Depends-on): Add gettext.
67259
67260 2007-03-19  Bruno Haible  <bruno@clisp.org>
67261
67262         * modules/iconvme: Remove file.
67263         * lib/iconvme.h: Remove file.
67264         * lib/iconvme.c: Remove file.
67265         * m4/iconvme.m4: Remove file.
67266
67267 2007-03-19  Bruno Haible  <bruno@clisp.org>
67268
67269         * doc/relocatable-maint.texi: Break long shell script line.
67270         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67271
67272 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67273
67274         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67275         handle file_has_acl.
67276         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67277         * lib/acl.c: Move header inclusions and related macro defns into
67278         lib/acl-internal.h.
67279         (S_ISLNK): Remove defn, since that's now done for us.
67280         (file_has_acl): Move to lib/file-has-acl.c.
67281         Call acl_trivial if available.  This is the crucial part of the fix.
67282         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67283         shared within the library.  Rewrite a bit, partly to make it compatible
67284         with the GNU coding style.
67285         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67286         Remove unnecessary double-quotes.
67287         Don't test for acl_to_text; the build will catch that.
67288         Replace acl_entries if it doesn't exist and it is needed.
67289         Check for -lsec and acl_trivial (as used on Solaris 10).
67290         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67291         lib/file-has-acl.c.
67292         (Depends-on): Add sys_stat, for S_ISLNK.
67293
67294 2007-03-19  Ben Pfaff  <blp@gnu.org>
67295
67296         * doc/gnulib.texi: Fix typos.
67297         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67298
67299 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67300
67301         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67302         If size is zero here, buf must be zero.
67303
67304 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67305
67306         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67307         <bruno@clisp.org>.
67308
67309 2007-03-18  Bruno Haible  <bruno@clisp.org>
67310
67311         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67312         Suggested by Eric Blake.
67313
67314 2007-03-18  Ben Pfaff  <blp@gnu.org>
67315
67316         * doc/relocatable.texi: Recommend using as prefix a directory
67317         that does not exist and will never be created.  Based on
67318         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67319         and others.
67320
67321 2007-03-17  Bruno Haible  <bruno@clisp.org>
67322
67323         * lib/fchownat.c: Include lchown.h.
67324
67325 2007-03-17  Bruno Haible  <bruno@clisp.org>
67326
67327         Fix endless loop when the given allocated size was > INT_MAX.
67328         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67329         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67330         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67331         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67332         * lib/sprintf.c (sprintf): Likewise.
67333
67334 2007-03-17  Bruno Haible  <bruno@clisp.org>
67335
67336         * tests/test-argp-2.sh (func_compare): Output a context diff.
67337
67338 2007-03-17  Bruno Haible  <bruno@clisp.org>
67339
67340         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67341         locale's decimal-point character.
67342
67343 2007-03-17  Bruno Haible  <bruno@clisp.org>
67344
67345         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67346         before comparing it. Needed because on some platforms (e.g. x86) a
67347         'long double' occupies less bytes than sizeof (long double).
67348
67349 2007-03-17  Bruno Haible  <bruno@clisp.org>
67350
67351         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67352         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67353         * tests/test-getaddrinfo.c (simple): Likewise.
67354         * tests/test-read-file.c (main): Likewise.
67355
67356 2007-03-17  Bruno Haible  <bruno@clisp.org>
67357
67358         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67359
67360 2007-03-17  Bruno Haible  <bruno@clisp.org>
67361
67362         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67363         unused variable.
67364
67365 2007-03-17  Bruno Haible  <bruno@clisp.org>
67366
67367         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67368         * tests/test-c-strncasecmp.c: Likewise.
67369
67370 2007-03-17  Bruno Haible  <bruno@clisp.org>
67371
67372         * modules/stdlib (Depends-on): Add unistd.
67373         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67374         Needed for MacOS X 10.3.
67375
67376 2007-03-17  Bruno Haible  <bruno@clisp.org>
67377
67378         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67379
67380 2007-03-17  Bruno Haible  <bruno@clisp.org>
67381
67382         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67383
67384 2007-03-17  Bruno Haible  <bruno@clisp.org>
67385
67386         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67387         to reflect files copied from gnulib (with or without modifications).
67388         Suggested by Jim Meyering.
67389
67390 2007-03-17  Eric Blake  <ebb9@byu.net>
67391
67392         * NEWS: Document stdlib change from 2007-02-18.
67393
67394 2007-03-17  Jim Meyering  <jim@meyering.net>
67395
67396         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
67397         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
67398         someone uses a name containing shell meta-characters.
67399         Reported by Alfred M. Szmidt.
67400
67401         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
67402
67403 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67404
67405         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
67406         and copy gettext configuration files only if configure.ac contains
67407         a use of AM_GNU_GETTEXT_VERSION.
67408
67409 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67410
67411         * build-aux/bootstrap (gnulib_name): New variable.
67412         (gnulib_tool_options): Use it.
67413
67414 2007-03-13  Simon Josefsson  <simon@josefsson.org>
67415
67416         * tests/test-des.c: Use new namespace.
67417
67418 2007-03-15  Bruno Haible  <bruno@clisp.org>
67419
67420         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
67421         Reported by James Youngman <jay@gnu.org>.
67422
67423 2007-03-15  Bruno Haible  <bruno@clisp.org>
67424
67425         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
67426         declared prototype. Needed with cc on OSF/1 5.1.
67427
67428 2007-03-15  Bruno Haible  <bruno@clisp.org>
67429
67430         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
67431         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
67432         (struct gl_list_implementation): Add dispose_fn argument to the
67433         'create_empty', 'create' methods.
67434         (struct gl_list_impl_base): Add field 'dispose_fn'.
67435         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
67436         argument.
67437         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
67438         dispose_fn argument.
67439         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
67440         dispose_fn on the dropped values.
67441         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
67442         dispose_fn argument.
67443         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
67444         dropped values.
67445         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
67446         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67447         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
67448         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67449         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
67450         argument.
67451         (gl_tree_list_free): Call dispose_fn on the dropped values.
67452         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
67453         the dropped values.
67454         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67455         Add dispose_fn argument.
67456         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
67457         Call dispose_fn on the dropped values.
67458         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
67459         Add dispose_fn argument.
67460         (gl_sublist_create): Initialize the 'dispose_fn' field.
67461         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
67462         * tests/test-array_list.c (main): Update.
67463         * tests/test-carray_list.c (main): Update.
67464         * tests/test-avltree_list.c (main): Update.
67465         * tests/test-rbtree_list.c (main): Update.
67466         * tests/test-avltreehash_list.c (main): Update.
67467         * tests/test-rbtreehash_list.c (main): Update.
67468         * tests/test-linked_list.c (main): Update.
67469         * tests/test-linkedhash_list.c (main): Update.
67470         * tests/test-array_oset.c (main): Update.
67471
67472 2007-03-15  Bruno Haible  <bruno@clisp.org>
67473
67474         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
67475         (gl_oset_create_empty): Add dispose_fn argument.
67476         (struct gl_oset_implementation): Add dispose_fn argument to
67477         'create_empty' method.
67478         (struct gl_oset_impl_base): Add dispose_fn field.
67479         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
67480         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
67481         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
67482         values.
67483         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
67484         (gl_tree_oset_free): Call dispose_fn on the dropped values.
67485         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67486         dropped value.
67487         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67488         dropped value.
67489         * tests/test-array_oset.c (main): Update.
67490         * tests/test-avltree_oset.c (main): Update.
67491         * tests/test-rbtree_oset.c (main): Update.
67492         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
67493
67494 2007-03-13  Bruno Haible  <bruno@clisp.org>
67495
67496         * tests/test-stdbool.c (i): Update after last patch.
67497
67498 2007-03-12  Bruno Haible  <bruno@clisp.org>
67499
67500         * lib/quotearg.c: Include <wctype.h> early, before the definition of
67501         the iswprint macro. Needed on Solaris 2.5.1.
67502
67503 2007-03-12  Bruno Haible  <bruno@clisp.org>
67504
67505         * tests/test-printf-frexp.c (main): Declare x as volatile.
67506
67507 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67508
67509         * doc/gnulib.texi (Build robot for gnulib): New section.
67510
67511 2007-03-12  Jim Meyering  <jim@meyering.net>
67512
67513         * build-aux/bootstrap: New file.
67514         * build-aux/bootstrap.conf: New file, from coreutils.
67515
67516 2007-03-11  Bruno Haible  <bruno@clisp.org>
67517
67518         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
67519
67520 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67521
67522         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
67523         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
67524         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
67525
67526 2007-03-11  Bruno Haible  <bruno@clisp.org>
67527
67528         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
67529         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
67530
67531 2007-03-11  Bruno Haible  <bruno@clisp.org>
67532
67533         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67534         formula. Needed for SunPRO C 5.0.
67535
67536 2007-03-11  Bruno Haible  <bruno@clisp.org>
67537
67538         * modules/long-options (Depends-on): Add getopt.
67539
67540 2007-03-11  Bruno Haible  <bruno@clisp.org>
67541
67542         * modules/modechange (Depends-on): Add stdbool.
67543
67544 2007-03-11  Bruno Haible  <bruno@clisp.org>
67545
67546         * modules/i-ring (Depends-on): Add stdbool.
67547
67548 2007-03-11  Bruno Haible  <bruno@clisp.org>
67549
67550         * modules/gc-des (Depends-on): Add stdbool.
67551
67552 2007-03-11  Bruno Haible  <bruno@clisp.org>
67553
67554         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67555
67556 2007-03-11  Bruno Haible  <bruno@clisp.org>
67557
67558         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67559
67560 2007-03-11  Bruno Haible  <bruno@clisp.org>
67561
67562         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67563
67564 2007-03-11  Bruno Haible  <bruno@clisp.org>
67565
67566         * lib/vasnprintf.c (sprintf): Undefine.
67567
67568 2007-03-11  Bruno Haible  <bruno@clisp.org>
67569
67570         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67571         initializers in SunPRO C and Compaq C compilers.
67572
67573 2007-03-11  Bruno Haible  <bruno@clisp.org>
67574
67575         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67576         decrementing code ANSI C compliant.
67577
67578 2007-03-11  Bruno Haible  <bruno@clisp.org>
67579
67580         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67581         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67582
67583 2007-03-11  Bruno Haible  <bruno@clisp.org>
67584
67585         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67586         <stdbool.h> substitute doesn't pass.
67587
67588 2007-03-11  Bruno Haible  <bruno@clisp.org>
67589
67590         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67591
67592 2007-03-11  Bruno Haible  <bruno@clisp.org>
67593
67594         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67595         script, for submission to autobuild.josefsson.org.
67596
67597 2007-03-10  Bruno Haible  <bruno@clisp.org>
67598
67599         * modules/canonicalize-lgpl-tests: New file.
67600         * tests/test-canonicalize-lgpl.sh: New file.
67601         * tests/test-canonicalize-lgpl.c: New file.
67602
67603         * modules/c-strcase-tests: New file.
67604         * tests/test-c-strcase.sh: New file.
67605         * tests/test-c-strcasecmp.c: New file.
67606         * tests/test-c-strncasecmp.c: New file.
67607
67608         * modules/atexit-tests: New file.
67609         * tests/test-atexit.sh: New file.
67610         * tests/test-atexit.c: New file.
67611
67612 2007-03-10  Bruno Haible  <bruno@clisp.org>
67613
67614         * tests/test-binary-io.sh: Use temporary filenames that are not so
67615         likely to clash with those of other tests (in a parallel make).
67616         * tests/test-binary-io.c: Likewise.
67617
67618 2007-03-10  Bruno Haible  <bruno@clisp.org>
67619
67620         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67621         fallback; use #error instead.
67622         Suggested by Simon Josefsson.
67623
67624 2007-03-10  Bruno Haible  <bruno@clisp.org>
67625
67626         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67627         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67628         first and the last.
67629
67630 2007-03-10  Bruno Haible  <bruno@clisp.org>
67631
67632         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67633
67634 2007-03-10  Bruno Haible  <bruno@clisp.org>
67635
67636         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67637         "make distcheck".
67638         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67639         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67640         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67641
67642 2007-03-10  Bruno Haible  <bruno@clisp.org>
67643
67644         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67645         variable.
67646         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67647         variable.
67648
67649 2007-03-09  Eric Blake  <ebb9@byu.net>
67650         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67651
67652         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67653         types are not being provided by gnulib.
67654         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67655         types are supported.
67656
67657 2007-03-10  Bruno Haible  <bruno@clisp.org>
67658
67659         * lib/stdio_.h (__attribute__): New macro.
67660         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67661         vsprintf): Specify __attribute__ __format__ for GCC.
67662         Suggested by Eric Blake.
67663
67664 2007-03-09  Bruno Haible  <bruno@clisp.org>
67665
67666         * modules/printf-posix-tests: New file.
67667         * tests/test-printf-posix.sh: New file.
67668         * tests/test-printf-posix.c: New file.
67669
67670         * modules/printf-posix: New file.
67671         * lib/printf.c: New file.
67672         * m4/printf-posix-rpl.m4: New file.
67673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67674         REPLACE_PRINTF.
67675         * lib/stdio_.h (printf): New declaration.
67676         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67677         ____strfmon____): New macros.
67678         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67679         REPLACE_PRINTF.
67680
67681 2007-03-09  Bruno Haible  <bruno@clisp.org>
67682
67683         * tests/test-vasnprintf-posix2.sh: New file.
67684         * tests/test-vasnprintf-posix2.c: New file.
67685         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67686         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67687         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67688
67689         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67690         a locale dependent decimal point, rather than always '.'.
67691
67692 2007-03-09  Eric Blake  <ebb9@byu.net>
67693
67694         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67695         spite of platforms like Tandem/NSK that define it to -1.
67696
67697 2007-03-08  Bruno Haible  <bruno@clisp.org>
67698
67699         * modules/vprintf-posix-tests: New file.
67700         * tests/test-vprintf-posix.sh: New file.
67701         * tests/test-vprintf-posix.c: New file.
67702         * tests/test-printf-posix.h: New file.
67703
67704         * modules/vprintf-posix: New file.
67705         * lib/vprintf.c: New file.
67706         * m4/vprintf-posix.m4: New file.
67707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67708         REPLACE_VPRINTF.
67709         * lib/stdio_.h (vprintf): New declaration.
67710         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67711         REPLACE_VPRINTF.
67712
67713 2007-03-08  Bruno Haible  <bruno@clisp.org>
67714
67715         * modules/fprintf-posix-tests: New file.
67716         * tests/test-fprintf-posix.sh: New file.
67717         * tests/test-fprintf-posix.c: New file.
67718
67719         * modules/fprintf-posix: New file.
67720         * lib/fprintf.c: New file.
67721         * m4/fprintf-posix.m4: New file.
67722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67723         REPLACE_FPRINTF.
67724         * lib/stdio_.h (fprintf): New declaration.
67725         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67726         REPLACE_FPRINTF.
67727
67728 2007-03-08  Bruno Haible  <bruno@clisp.org>
67729
67730         * modules/vfprintf-posix-tests: New file.
67731         * tests/test-vfprintf-posix.sh: New file.
67732         * tests/test-vfprintf-posix.c: New file.
67733         * tests/test-fprintf-posix.h: New file.
67734         * tests/test-fprintf-posix.out: New file.
67735
67736         * modules/vfprintf-posix: New file.
67737         * lib/vfprintf.c: New file.
67738         * m4/vfprintf-posix.m4: New file.
67739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67740         REPLACE_VFPRINTF.
67741         * lib/stdio_.h (vfprintf): New declaration.
67742         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67743         REPLACE_VFPRINTF.
67744
67745 2007-03-08  Bruno Haible  <bruno@clisp.org>
67746
67747         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67748
67749 2007-03-08  Bruno Haible  <bruno@clisp.org>
67750
67751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67752         instead of 'expr' invocations.
67753         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67754         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67755         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67756         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67758         Suggested by Paul Eggert.
67759
67760 2007-03-08  Bruno Haible  <bruno@clisp.org>
67761
67762         * modules/fseterr-tests: New file.
67763         * tests/test-fseterr.c: New file.
67764
67765         * modules/fseterr: New file.
67766         * lib/fseterr.h: New file.
67767         * lib/fseterr.c: New file.
67768
67769 2007-03-08  Bruno Haible  <bruno@clisp.org>
67770
67771         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67772         * lib/getopt_.h: Likewise.
67773         * lib/mbswidth.h: Likewise.
67774         * lib/setenv.h: Likewise.
67775         * lib/vasnprintf.h: Likewise.
67776         * lib/vasprintf.h: Likewise.
67777         * lib/verror.h: Likewise.
67778         * lib/xsetenv.h: Likewise.
67779         * lib/xvasprintf.h: Likewise.
67780
67781 2007-03-08  Jim Meyering  <jim@meyering.net>
67782
67783         * users.txt: Add parted.
67784
67785         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67786
67787 2007-03-07  Bruno Haible  <bruno@clisp.org>
67788
67789         * m4/printf.m4: Make the shell script snippets copy&pastable.
67790
67791 2007-03-02  Bruno Haible  <bruno@clisp.org>
67792
67793         * lib/netinet_in_.h: New file.
67794         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67795         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67796         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67797         (Depends-on): Add absolute-header.
67798         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67799         into netinet/in.h.
67800
67801 2007-03-03  Bruno Haible  <bruno@clisp.org>
67802
67803         * lib/sys_select_.h: New file.
67804         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67805         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67806         * modules/sys_select (Files): Add lib/sys_select_.h.
67807         (Depends-on): Add absolute-header.
67808         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67809         into sys/select.h.
67810
67811 2007-03-02  Bruno Haible  <bruno@clisp.org>
67812
67813         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67814         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67815         values.
67816         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67817         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67818         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67819         * modules/sys_socket (Depends-on): Add absolute-header.
67820         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67821         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67822         (Include): Remove requirement of inclusion of <sys/types.h>.
67823
67824 2007-03-02  Bruno Haible  <bruno@clisp.org>
67825
67826         * lib/byteswap_.h (bswap_32): Fix formula.
67827
67828 2007-03-06  Bruno Haible  <bruno@clisp.org>
67829
67830         * modules/sprintf-posix-tests: New file.
67831         * tests/test-sprintf-posix.c: New file.
67832
67833         * modules/sprintf-posix: New file.
67834         * lib/sprintf.c: New file.
67835         * m4/sprintf-posix.m4: New file.
67836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67837         REPLACE_SPRINTF.
67838         * lib/stdio_.h (sprintf): New declaration.
67839         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67840         REPLACE_SPRINTF.
67841
67842 2007-03-06  Bruno Haible  <bruno@clisp.org>
67843
67844         * modules/vsprintf-posix-tests: New file.
67845         * tests/test-vsprintf-posix.c: New file.
67846         * tests/test-sprintf-posix.h: New file.
67847
67848         * modules/vsprintf-posix: New file.
67849         * lib/vsprintf.c: New file.
67850         * m4/vsprintf-posix.m4: New file.
67851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67852         REPLACE_VSPRINTF.
67853         * lib/stdio_.h (vsprintf): New declaration.
67854         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67855         REPLACE_VSPRINTF.
67856
67857 2007-03-06  Bruno Haible  <bruno@clisp.org>
67858
67859         * modules/vsnprintf (Depend-on): Remove minmax.
67860
67861 2007-03-06  Bruno Haible  <bruno@clisp.org>
67862
67863         * modules/snprintf-posix-tests: New file.
67864         * tests/test-snprintf-posix.c: New file.
67865
67866         * modules/snprintf-posix: New file.
67867         * m4/snprintf-posix.m4: New file.
67868         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67869         gl_FUNC_SNPRINTF.
67870         (gl_FUNC_SNPRINTF): Invoke it.
67871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67872         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67873         is set.
67874         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67875
67876 2007-03-06  Bruno Haible  <bruno@clisp.org>
67877
67878         * modules/vsnprintf-posix-tests: New file.
67879         * tests/test-vsnprintf-posix.c: New file.
67880         * tests/test-snprintf-posix.h: New file.
67881
67882         * modules/vsnprintf-posix: New file.
67883         * m4/vsnprintf-posix.m4: New file.
67884         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67885         gl_FUNC_VSNPRINTF.
67886         (gl_FUNC_VSNPRINTF): Invoke it.
67887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67888         * lib/stdio_.h (vsnprintf): Define as a replacement if
67889         REPLACE_VSNPRINTF is set.
67890         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67891
67892 2007-03-06  Bruno Haible  <bruno@clisp.org>
67893
67894         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67895         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67896
67897 2007-03-06  Bruno Haible  <bruno@clisp.org>
67898
67899         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67900         (asinl): Declare also if HAVE_DECL_ASINL is set.
67901         (atanl): Declare also if HAVE_DECL_ATANL is set.
67902         (ceill): Declare also if HAVE_DECL_CEILL is set.
67903         (cosl): Declare also if HAVE_DECL_COSL is set.
67904         (expl): Declare also if HAVE_DECL_EXPL is set.
67905         (floorl): Declare also if HAVE_DECL_FLOORL is set.
67906         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
67907         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
67908         (logl): Declare also if HAVE_DECL_LOGL is set.
67909         (sinl): Declare also if HAVE_DECL_SINL is set.
67910         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
67911         (tanl): Declare also if HAVE_DECL_TANL is set.
67912         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
67913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
67914         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
67915         declaration of frexpl, ldexpl.
67916         * modules/printf-frexpl (Depends-on): Add math.
67917         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
67918
67919 2007-03-05  Bruno Haible  <bruno@clisp.org>
67920
67921         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
67922         frexpl and ldexpl are declared.
67923         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
67924
67925 2007-03-05  Bruno Haible  <bruno@clisp.org>
67926
67927         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
67928         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
67929
67930 2007-03-05  Bruno Haible  <bruno@clisp.org>
67931
67932         * lib/stdio_.h: Include <stddef.h>.
67933
67934 2007-03-05  Bruno Haible  <bruno@clisp.org>
67935
67936         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
67937
67938 2007-03-05  Bruno Haible  <bruno@clisp.org>
67939
67940         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
67941         NetBSD 4, from Ralf Wildenhues.
67942
67943 2007-03-04  Bruno Haible  <bruno@clisp.org>
67944
67945         * lib/vasprintf.h: Update #if logic for the case when the functions
67946         exist but are overridden.
67947
67948 2007-03-04  Bruno Haible  <bruno@clisp.org>
67949
67950         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
67951         implementations: glibc-2.4 and MacOS X 10.3.
67952         * tests/test-vasnprintf-posix.c (test_function): Test also the case
67953         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
67954         * tests/test-vasprintf-posix.c (test_function): Likewise.
67955
67956 2007-03-04  Bruno Haible  <bruno@clisp.org>
67957
67958         * modules/vasprintf-posix-tests: New file.
67959         * tests/test-vasprintf-posix.c: New file.
67960
67961         * modules/vasprintf-posix: New file.
67962         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
67963         defined.
67964         * m4/vasprintf-posix.m4: New file.
67965         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
67966         gl_FUNC_VASPRINTF.
67967         (gl_FUNC_VASPRINTF): Invoke it.
67968         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
67969         here.
67970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
67971
67972 2007-03-04  Bruno Haible  <bruno@clisp.org>
67973
67974         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
67975         REPLACE_GETTIMEOFDAY.
67976         * modules/sys_time (Makefile.am): Likewise.
67977         * m4/sys_time_h.m4: Likewise.
67978         * m4/gettimeofday.m4: Likewise.
67979
67980 2007-03-04  Bruno Haible  <bruno@clisp.org>
67981
67982         * modules/vasnprintf-posix-tests: New file.
67983         * tests/test-vasnprintf-posix.c: New file.
67984
67985         * modules/vasnprintf-posix: New file.
67986         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
67987         printf-frexpl.h.
67988         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
67989         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
67990         REPLACE_VASNPRINTF is defined.
67991         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
67992         gl_FUNC_VASNPRINTF.
67993         (gl_FUNC_VASNPRINTF): Invoke it.
67994         * m4/vasnprintf-posix.m4: New file.
67995         * m4/printf.m4: New file.
67996
67997 2007-03-04  Bruno Haible  <bruno@clisp.org>
67998
67999         Compile progreloc.c only if --enable-relocatable is specified.
68000         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68001         if --enable-relocatable was specified.
68002         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68003         lib_SOURCES.
68004
68005 2007-03-04  Jim Meyering  <jim@meyering.net>
68006
68007         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68008         Use it consistently, rather than enumerating errno constants.
68009
68010 2007-03-04  Bruno Haible  <bruno@clisp.org>
68011
68012         * modules/xvasprintf-tests: New file.
68013         * tests/test-xvasprintf.c: New file.
68014
68015         * modules/vasprintf-tests: New file.
68016         * tests/test-vasprintf.c: New file.
68017
68018         * modules/vasnprintf-tests: New file.
68019         * tests/test-vasnprintf.c: New file.
68020
68021         * modules/vsnprintf-tests: New file.
68022         * tests/test-vsnprintf.c: New file.
68023
68024         * modules/snprintf-tests: New file.
68025         * tests/test-snprintf.c: New file.
68026
68027 2007-03-04  Bruno Haible  <bruno@clisp.org>
68028
68029         Compile relocatable.c only if --enable-relocatable is specified.
68030         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68031         gl_RELOCATABLE_LIBRARY.
68032         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68033         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68034         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68035         gl_RELOCATABLE_LIBRARY.
68036         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68037         (Makefile.am): Remove lib_SOURCES.
68038         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68039         gl_RELOCATABLE_LIBRARY.
68040         (Makefile.am): Remove lib_SOURCES.
68041         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68042         always.
68043         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68044         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68045
68046 2007-03-04  Bruno Haible  <bruno@clisp.org>
68047
68048         * modules/argmatch-tests: New file.
68049         * tests/test-argmatch.c: New file.
68050
68051         * tests/test-allocsa.c (main): Halve the number of loop runs.
68052
68053         * modules/alloca-opt-tests: New file.
68054         * tests/test-alloca-opt.c: New file.
68055
68056 2007-03-04  Jim Meyering  <jim@meyering.net>
68057
68058         Work around difference between Linux ACLs and Solaris 10 ZFS.
68059         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68060         for EINVAL.
68061
68062 2007-03-03  Bruno Haible  <bruno@clisp.org>
68063
68064         * modules/relocatable-prog (Depends-on): Add back progreloc's
68065         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68066
68067 2007-03-03  Bruno Haible  <bruno@clisp.org>
68068
68069         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68070         * modules/relocatable-lib: New file.
68071
68072 2007-03-03  Bruno Haible  <bruno@clisp.org>
68073
68074         * modules/relocatable-prog: Renamed from modules/relocatable.
68075         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68076
68077 2007-03-03  Bruno Haible  <bruno@clisp.org>
68078
68079         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68080         m4/relocatable-lib.m4.
68081         (Depends-on): Remove 'relocatable'.
68082         (configure.ac): Add gl_RELOCATABLE_NOP.
68083
68084 2007-03-03  Bruno Haible  <bruno@clisp.org>
68085
68086         * modules/relocatable-prog-wrapper: New file.
68087         * modules/relocatable (Depends-on): Add it. Remove all other
68088         dependencies except progname.
68089         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68090
68091         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68092         (gl_FUNC_STRERROR): Nop.
68093         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68094
68095         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68096         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68097
68098         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68099         (gl_FUNC_READLINK): Update.
68100
68101         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68102
68103 2007-03-03  Bruno Haible  <bruno@clisp.org>
68104
68105         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68106         * modules/xreadlink (Depends-on): Add unistd.
68107         * modules/xreadlink-with-size (Depends-on): Likewise.
68108
68109 2007-03-03  Bruno Haible  <bruno@clisp.org>
68110
68111         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68112         extracted from gt_FUNC_SETENV.
68113         (gt_FUNC_SETENV): Remove macro.
68114         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68115         remove gt_FUNC_SETENV.
68116
68117 2007-03-03  Bruno Haible  <bruno@clisp.org>
68118
68119         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68120         ENABLE_RELOCATABLE here.
68121         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68122
68123 2007-03-03  Bruno Haible  <bruno@clisp.org>
68124
68125         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68126         * tests/test-rbtreehash_list.c: Include progname.h.
68127         (main): Call set_program_name.
68128
68129         * modules/rbtree-oset-tests (Depends-on): Add progname.
68130         * tests/test-rbtree_oset.c: Include progname.h.
68131         (main): Call set_program_name.
68132
68133         * modules/rbtree-list-tests (Depends-on): Add progname.
68134         * tests/test-rbtree_list.c: Include progname.h.
68135         (main): Call set_program_name.
68136
68137         * modules/linked-list-tests (Depends-on): Add progname.
68138         * tests/test-linked_list.c: Include progname.h.
68139         (main): Call set_program_name.
68140
68141 2007-03-03  Bruno Haible  <bruno@clisp.org>
68142
68143         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68144         All uses of __restrict changed to _Restrict_.
68145         * lib/glob_.h (__restrict): Remove macro.
68146
68147 2007-03-02  Bruno Haible  <bruno@clisp.org>
68148
68149         * modules/gettext (configure.ac): Require gettext infrastructure
68150         from version 0.16.1.
68151
68152 2007-03-02  Bruno Haible  <bruno@clisp.org>
68153
68154         * modules/linkedhash-list-tests (Depends-on): Add progname.
68155         * tests/test-linkedhash_list.c: Include progname.h.
68156         (main): Call set_program_name.
68157
68158         * modules/carray-list-tests (Depends-on): Add progname.
68159         * tests/test-carray_list.c: Include progname.h.
68160         (main): Call set_program_name.
68161
68162         * modules/avltreehash-list-tests (Depends-on): Add progname.
68163         * tests/test-avltreehash_list.c: Include progname.h.
68164         (main): Call set_program_name.
68165
68166         * modules/avltree-oset-tests (Depends-on): Add progname.
68167         * tests/test-avltree_oset.c: Include progname.h.
68168         (main): Call set_program_name.
68169
68170         * modules/avltree-list-tests (Depends-on): Add progname.
68171         * tests/test-avltree_list.c: Include progname.h.
68172         (main): Call set_program_name.
68173
68174         * modules/array-oset-tests (Depends-on): Add progname.
68175         * tests/test-array_oset.c: Include progname.h.
68176         (main): Call set_program_name.
68177
68178         * modules/array-list-tests (Depends-on): Add progname.
68179         * tests/test-array_list.c: Include progname.h.
68180         (main): Call set_program_name.
68181
68182         * modules/argp-tests (Depends-on): Add progname.
68183         * tests/test-argp.c: Include argp.h first. Include progname.h.
68184         (main): Call set_program_name.
68185
68186 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * doc/gnulib-tool.texi (Initial import): Reword description of
68189         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68190         limited effect even if defined after the first system include.
68191
68192 2007-03-01  Bruno Haible  <bruno@clisp.org>
68193
68194         * build-aux/config.libpath: Update to libtool-1.5.22.
68195         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68196
68197 2007-03-01  Bruno Haible  <bruno@clisp.org>
68198
68199         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68200         foo_CFLAGS.
68201         Reported by Ralf Wildenhues.
68202
68203 2007-03-01  Bruno Haible  <bruno@clisp.org>
68204
68205         * build-aux/install-reloc: Remove object files left over by some
68206         compilers.
68207         Reported by Ralf Wildenhues.
68208
68209 2007-03-01  Bruno Haible  <bruno@clisp.org>
68210
68211         * build-aux/install-reloc: Break long lines.
68212
68213 2007-03-01  Bruno Haible  <bruno@clisp.org>
68214
68215         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68216         Reported by Ralf Wildenhues.
68217
68218 2007-03-01  Bruno Haible  <bruno@clisp.org>
68219
68220         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68221         include ordering constraints.
68222
68223 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68224
68225         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68226         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68227         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68228         as another example.
68229         * lib/time_.h: Fix misspelling.
68230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68231         Require gl_HEADER_TIME_H_DEFAULTS.
68232         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68233         * m4/time_r.m4 (gl_TIME_R): Likewise.
68234         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68235
68236 2007-03-01  Bruno Haible  <bruno@clisp.org>
68237
68238         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68239         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68240
68241 2007-03-01  Jim Meyering  <jim@meyering.net>
68242
68243         * modules/xreadlink (Maintainer): Add my name.
68244         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68245
68246 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68247             Bruno Haible  <bruno@clisp.org>
68248
68249         * build-aux/install-reloc: Compile also c-ctype.c.
68250         * build-aux/relocatable.sh.in: New file.
68251         * doc/relocatable.texi: New file.
68252         * doc/relocatable-maint.texi: New file.
68253         * doc/gnulib.texi: Include relocatable-maint.texi.
68254         * lib/progreloc.c: Include unistd.h unconditionally.
68255         * lib/relocwrapper.c: Include unistd.h unconditionally.
68256         Include c-ctype.h.
68257         (add_dotbin): Use c_tolower.
68258         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68259         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68260         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68261         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68262         to m4/relocatable-lib.m4.
68263         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68264         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68265         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68266         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68267         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68268         * modules/relocatable: New file.
68269         * modules/relocatable-lib: New file.
68270         * modules/relocatable-script: New file.
68271
68272 2007-02-28  Bruno Haible  <bruno@clisp.org>
68273
68274         Import --enable-relocatable infrastructure.
68275         * build-aux/config.libpath: New file, from GNU gettext.
68276         * build-aux/install-reloc: New file, from GNU gettext.
68277         * build-aux/reloc-ldflags: New file, from GNU gettext.
68278         * lib/relocatable.h: New file, from GNU gettext.
68279         * lib/relocatable.c: New file, from GNU gettext.
68280         * lib/relocwrapper.c: New file, from GNU gettext.
68281         * m4/relocatable.m4: New file, from GNU gettext.
68282
68283 2007-02-28  Bruno Haible  <bruno@clisp.org>
68284
68285         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68286
68287         * modules/xreadlink: New file, from GNU gettext with modifications.
68288         * lib/xreadlink.c: New file, from GNU gettext.
68289         * lib/xreadlink.h: Add comments.
68290         (xreadlink): New declaration.
68291
68292         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68293         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68294         lib/xreadlink-with-size.c.
68295         (configure.ac): Remove gl_XREADLINK invocation.
68296         (Makefile.am): Augment lib_SOURCES.
68297         * m4/xreadlink.m4: Remove file.
68298         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68299         (xreadlink_with_size): Renamed from xreadink.
68300         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68301         * modules/canonicalize (Depends-on): Replace xreadlink with
68302         xreadlink-with-size.
68303         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68304
68305 2007-02-25  Jim Meyering  <jim@meyering.net>
68306
68307         * build-aux/announce-gen: When complaining about excess arguments,
68308         list them.
68309
68310 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68311
68312         * README: Document signed integer overflow situation more
68313         accurately.
68314
68315 2007-02-25  Bruno Haible  <bruno@clisp.org>
68316
68317         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68318         'a' or 'A' conversion.
68319
68320 2007-02-25  Bruno Haible  <bruno@clisp.org>
68321
68322         * modules/filename: Renamed from modules/pathname.
68323         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68324         lib/concatpath.c with lib/concat-filename.c.
68325         (Makefile.am): Update.
68326         (Include): Replace pathname.h with filename.h.
68327         * lib/filename.h: Renamed from lib/pathname.h.
68328         (concatenated_filename): Renamed from concatenated_pathname.
68329         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68330         (concatenated_filename): Renamed from concatenated_pathname.
68331         * lib/findprog.c: Include filename.h instead of pathname.h.
68332         (find_in_path): Update.
68333         * lib/javacomp.c: Include filename.h instead of pathname.h.
68334         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68335         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68336         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68337         is_oldgcj_14_13_usable, is_javac_usable): Update.
68338         * lib/javaexec.c: Include filename.h instead of pathname.h.
68339         (execute_java_class): Update.
68340         * modules/findprog: Update.
68341         * modules/javacomp: Update.
68342         * modules/javaexec: Update.
68343         * MODULES.html.sh (File system functions): Add 'filename', remove
68344         'pathname'.
68345
68346 2007-02-25  Bruno Haible  <bruno@clisp.org>
68347
68348         * modules/printf-frexpl-tests: New file.
68349         * tests/test-printf-frexpl.c: New file.
68350
68351         * modules/printf-frexpl: New file.
68352         * lib/printf-frexpl.h: New file.
68353         * lib/printf-frexpl.c: New file.
68354         * m4/printf-frexpl.m4: New file.
68355
68356 2007-02-25  Bruno Haible  <bruno@clisp.org>
68357
68358         * modules/printf-frexp-tests: New file.
68359         * tests/test-printf-frexp.c: New file.
68360
68361         * modules/printf-frexp: New file.
68362         * lib/printf-frexp.h: New file.
68363         * lib/printf-frexp.c: New file.
68364         * m4/printf-frexp.m4: New file.
68365
68366 2007-02-25  Bruno Haible  <bruno@clisp.org>
68367
68368         Assume automake >= 1.10 for the tests.
68369         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68370         * modules/arctwo-tests: Likewise.
68371         * modules/argp-tests: Likewise.
68372         * modules/avltree-list-tests: Likewise.
68373         * modules/avltree-oset-tests: Likewise.
68374         * modules/avltreehash-list-tests: Likewise.
68375         * modules/carray-list-tests: Likewise.
68376         * modules/crc-tests: Likewise.
68377         * modules/des-tests: Likewise.
68378         * modules/gc-arcfour-tests: Likewise.
68379         * modules/gc-arctwo-tests: Likewise.
68380         * modules/gc-des-tests: Likewise.
68381         * modules/gc-hmac-md5-tests: Likewise.
68382         * modules/gc-hmac-sha1-tests: Likewise.
68383         * modules/gc-md2-tests: Likewise.
68384         * modules/gc-md4-tests: Likewise.
68385         * modules/gc-md5-tests: Likewise.
68386         * modules/gc-pbkdf2-sha1-tests: Likewise.
68387         * modules/gc-rijndael-tests: Likewise.
68388         * modules/gc-sha1-tests: Likewise.
68389         * modules/gc-tests: Likewise.
68390         * modules/getaddrinfo-tests: Likewise.
68391         * modules/hmac-md5-tests: Likewise.
68392         * modules/hmac-sha1-tests: Likewise.
68393         * modules/linked-list-tests: Likewise.
68394         * modules/linkedhash-list-tests: Likewise.
68395         * modules/lock-tests: Likewise.
68396         * modules/md2-tests: Likewise.
68397         * modules/md4-tests: Likewise.
68398         * modules/md5-tests: Likewise.
68399         * modules/rbtree-list-tests: Likewise.
68400         * modules/rbtree-oset-tests: Likewise.
68401         * modules/rbtreehash-list-tests: Likewise.
68402         * modules/read-file-tests: Likewise.
68403         * modules/rijndael-tests: Likewise.
68404         * modules/stdint-tests: Likewise.
68405         * modules/tls-tests: Likewise.
68406
68407 2007-02-24  Bruno Haible  <bruno@clisp.org>
68408
68409         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
68410         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
68411         function; instead check whether isnan with a double argument links.
68412         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
68413         function; instead check whether isnan with a 'long double' argument
68414         links.
68415         Reported by Eric Blake <ebb9@byu.net>.
68416
68417 2007-02-24  Bruno Haible  <bruno@clisp.org>
68418
68419         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
68420         defined.
68421         * lib/isnanl.c: Remove all code. Just include isnan.c.
68422         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
68423
68424 2007-02-25  Jim Meyering  <jim@meyering.net>
68425
68426         Avoid conflicting types for 'unsetenv' on FreeBSD.
68427         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
68428         conflicting with FreeBSD's (5.0 and 6.1) function declaration
68429         in stdlib.h.
68430
68431 2007-02-24  Bruno Haible  <bruno@clisp.org>
68432
68433         * modules/isnanl-nolibm-tests: New file.
68434         * tests/test-isnanl.c: New file.
68435
68436         * modules/isnanl-nolibm: New file.
68437         * lib/isnanl.h: New file.
68438         * lib/isnanl.c: New file.
68439         * m4/isnanl.m4: New file.
68440
68441 2007-02-24  Bruno Haible  <bruno@clisp.org>
68442
68443         * modules/isnan-nolibm-tests: New file.
68444         * tests/test-isnan.c: New file.
68445
68446         * modules/isnan-nolibm: New file.
68447         * lib/isnan.h: New file.
68448         * lib/isnan.c: New file.
68449         * m4/isnan.m4: New file.
68450
68451 2007-02-24  Bruno Haible  <bruno@clisp.org>
68452
68453         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
68454         assume that an exponent fits in 20 bits.
68455
68456 2007-02-24  Jim Meyering  <jim@meyering.net>
68457
68458         * m4/regex.m4: Update the description of the configure-time option,
68459         --without-included-regex, to state accurately what the defaults are,
68460         and perhaps to give people an idea why using this option is risky.
68461
68462 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68463
68464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
68465         loops on small arguments.  This attempts to avoid the problem
68466         Bruno Haible reported for AIX 4.3.2 in
68467         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
68468
68469 2007-02-23  Bruno Haible  <bruno@clisp.org>
68470
68471         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
68472         Needed for help2man.
68473
68474 2007-02-23  Karl Berry  <karl@gnu.org>
68475
68476         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
68477         exists, foo.h should be cvs-ignored, not committed.
68478
68479 2007-02-23  Eric Blake  <ebb9@byu.net>
68480
68481         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
68482         * lib/stat-time.h (includes): Likewise.
68483         * lib/utimecmp.c (includes): Likewise.
68484         * lib/utimens.h (includes): Likewise.
68485         * lib/getdate.y (includes): Also include "timespec.h" for use
68486         internal to the module.
68487         * modules/utimens (Depends-on): Revert yesterday's patch.
68488         * modules/nanosleep (Depends-on): Add missing dependency.
68489
68490 2007-02-22  Bruno Haible  <bruno@clisp.org>
68491
68492         * lib/glob.c: Don't include getlogin_r.h.
68493
68494 2007-02-22  Jim Meyering  <jim@meyering.net>
68495
68496         * modules/utimens (Depends-on): Add timespec, required for
68497         utimens.h's inclusion of timespec.h.
68498
68499 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
68500
68501         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
68502         long unreadable paths in GNU/Linux.  Problem reported by Andreas
68503         Schwab in
68504         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
68505         I'll try to think of a better way to fix the Solaris problem.
68506
68507         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
68508         like glibc; on Solaris 10, it fails with errno == EINVAL.
68509         POSIX says the behavior is unspecified if the first argument is NULL,
68510         so play it safe and never pass NULL to the system getcwd.
68511
68512 2007-02-21  Jim Meyering  <jim@meyering.net>
68513
68514         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
68515         of gettimeofday.  It would conflict with the one now always
68516         provided via sys_time_.h.  Reported by Matthew Woehlke, as
68517         an IRIX 6.5 build failure.
68518
68519 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68520
68521         Minor fixups to port to Solaris 10 with Sun C 5.8.
68522         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
68523         * modules/getcwd (Depends-on): Add dirfd.
68524         * lib/putenv.c (putenv): #undef it.
68525         (rpl_putenv): New decl.
68526         (malloc, free): Include <stdlib.h> rather than prototyping separately.
68527
68528 2007-02-20  Bruno Haible  <bruno@clisp.org>
68529
68530         * modules/stdio-tests: New file.
68531         * tests/test-stdio.c: New file.
68532
68533         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68534         (Depends-on): Add stdio.
68535         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68536         (Include): Use <stdio.h> instead of vsnprintf.h.
68537         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68538         HAVE_DECL_VSNPRINTF.
68539         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68540
68541         * modules/snprintf (Files): Remove lib/snprintf.h.
68542         (Depends-on): Add stdio.
68543         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68544         (Include): Use <stdio.h> instead of snprintf.h.
68545         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68546         HAVE_DECL_SNPRINTF.
68547         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68548         * lib/getaddrinfo.c: Likewise.
68549
68550         * modules/stdio: New file.
68551         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68552         * lib/snprintf.h: Remove file.
68553         * lib/vsnprintf.h: Remove file.
68554         * lib/.cppi-disable: Remove snprintf.h.
68555         * m4/stdio_h.m4: New file.
68556         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68557
68558 2007-02-20  Jim Meyering  <jim@meyering.net>
68559
68560         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68561         used by e.g., mingw.  From Bruno Haible.
68562
68563 2007-02-19  Bruno Haible  <bruno@clisp.org>
68564
68565         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68566         warnings.
68567         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68568
68569 2007-02-19  Bruno Haible  <bruno@clisp.org>
68570
68571         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68572         from mingw users.
68573
68574 2007-02-19  Bruno Haible  <bruno@clisp.org>
68575
68576         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68577         warnings.
68578         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68579
68580 2007-02-19  Jim Meyering  <jim@meyering.net>
68581
68582         Don't use FD after a successful "fdopendir (fd)".
68583         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68584         Reset it by calling dirfd on the just-obtained DIR*.
68585
68586         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68587         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68588
68589 2007-02-18  Bruno Haible  <bruno@clisp.org>
68590
68591         * lib/readlink.c: Include <unistd.h>.
68592         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68593         HAVE_READLINK.
68594         * modules/readlink (Depends-on): Add unistd.
68595         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68596         (Include): Add <unistd.h>.
68597
68598         * lib/getlogin_r.h: Remove file.
68599         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68600         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68601         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68602         HAVE_DECL_GETLOGIN_R.
68603         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68605         (Include): Use <unistd.h> instead of getlogin_r.h.
68606
68607         * lib/getcwd.h: Remove file.
68608         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68609         * lib/xgetcwd.c: Likewise.
68610         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68611         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68612         * modules/getcwd (Files): Remove lib/getcwd.h.
68613         (Depends-on): Add unistd.
68614         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68615         (Include): Use <unistd.h> instad of getcwd.h.
68616
68617         * lib/ftruncate.c: Include <unistd.h> first.
68618         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68619         Set HAVE_FTRUNCATE.
68620         * modules/ftruncate (Depends-on): Add unistd.
68621         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68622
68623         * lib/fchdir.c: Include <unistd.h> first.
68624         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68625         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68626         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68627         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68628         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68629
68630         * lib/dup2.c: Include <unistd.h> first.
68631         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68632         HAVE_DUP2.
68633         * modules/dup2 (Depends-on): Add unistd.
68634         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68635
68636         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68637         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68638         REPLACE_CHOWN. Don't define chown as a macro here.
68639         * modules/chown (Depends-on): Add unistd.
68640         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68641
68642         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68643         Add definition for GL_LINK_WARNING.
68644         (chown, dup2): New declarations.
68645         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68646         link warning.
68647         (ftruncate): New declaration.
68648         (getcwd): New declaration, taken from old getcwd.h.
68649         (getlogin_r): New declaration, taken from old getlogin_r.h.
68650         (readlink): New declaration.
68651         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68652         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68653         (gl_PREREQ_UNISTD): Remove macro.
68654         (gl_UNISTD_MODULE_INDICATOR): New macro.
68655         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68656         many new variables. Don't set UNISTD_H.
68657         * modules/unistd (Description): Change.
68658         (Depends-on): Add link-warning.
68659         (configure.ac): Update.
68660         (Makefile.am): Create unistd.h always. Substitute many new variables
68661         into it.
68662
68663 2007-02-18  Bruno Haible  <bruno@clisp.org>
68664
68665         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68666         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68667         HAVE_GETSUBOPT.
68668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68669         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68670         * lib/getsubopt.h: Remove file.
68671         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68672         (Depends-on): Add stdlib.
68673         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68674         (Includes): Use <stdlib.h> instead of getsubopt.h.
68675         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68676         Set HAVE_GETSUBOPT.
68677         * lib/getsubopt.c: Don't include getsubopt.h.
68678
68679 2007-02-18  Bruno Haible  <bruno@clisp.org>
68680
68681         * modules/fchdir (Depends-on): Add dup2.
68682
68683 2007-02-18  Bruno Haible  <bruno@clisp.org>
68684
68685         * lib/stdlib_.h: Handle glibc's special invocation convention
68686         specially.
68687
68688 2007-02-18  Bruno Haible  <bruno@clisp.org>
68689
68690         * modules/stdlib-tests: New file.
68691         * tests/test-stdlib.c: New file.
68692
68693         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68694         (Depends-on): Add stdlib.
68695         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68696         (Includes): Use <stdlib.h> instead of mkstemp.h.
68697         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68698         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68699         * lib/mkstemp.c: Don't include mkstemp.h.
68700         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68701         * lib/stdlib--.h: Don't include mkstemp.h.
68702
68703         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68704         (Depends-on): Add stdlib.
68705         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68706         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68707         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68708         HAVE_MKDTEMP.
68709         * lib/mkdtemp.c: Don't include mkdtemp.h.
68710         * lib/clean-temp.c: Don't include mkdtemp.h.
68711
68712         * modules/exit (Files): Remove lib/exit.h.
68713         (Depends-on): Add stdlib.
68714         (Makefile.am): Remove lib_SOURCES.
68715         (Include): Use <stdlib.h> instead of exit.h.
68716         * lib/argmatch.c: Don't include exit.h.
68717         * lib/execute.c: Likewise.
68718         * lib/pagealign_alloc.c: Likewise.
68719         * lib/pipe.c: Likewise.
68720         * lib/wait-process.c: Likewise.
68721         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68722         * lib/exitfail.c: Likewise.
68723         * lib/savewd.c: Likewise.
68724         * lib/xsetenv.c: Likewise.
68725
68726         * modules/stdlib: New file.
68727         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68728         and extra comments about mkstemp().
68729         * lib/exit.h: Remove file.
68730         * lib/mkdtemp.h: Remove file.
68731         * lib/mkstemp.h: Remove file.
68732         * m4/stdlib_h.m4: New file.
68733         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68734
68735 2007-02-18  Bruno Haible  <bruno@clisp.org>
68736
68737         * modules/math-tests: New file.
68738         * tests/test-math.c: New file.
68739
68740         * modules/math: New file.
68741         * modules/mathl (Files): Remove lib/mathl.h.
68742         (Depends-on): Add math.
68743         (Makefile.am): Don't mention mathl.h.
68744         (Include): Use <math.h> instead of mathl.h.
68745         * lib/math_.h: New file.
68746         * lib/mathl.h: Remove file.
68747         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68748         mathl.h.
68749         * lib/asinl.c: Likewise.
68750         * lib/atanl.c: Likewise.
68751         * lib/ceill.c: Likewise.
68752         * lib/cosl.c: Likewise.
68753         * lib/expl.c: Likewise.
68754         * lib/floorl.c: Likewise.
68755         * lib/frexpl.c: Likewise.
68756         * lib/ldexpl.c: Likewise.
68757         * lib/logl.c: Likewise.
68758         * lib/sincosl.c: Likewise.
68759         * lib/sinl.c: Likewise.
68760         * lib/sqrtl.c: Likewise.
68761         * lib/tanl.c: Likewise.
68762         * lib/trigl.c: Likewise.
68763         * m4/math_h.m4: New file.
68764         * MODULES.html.sh (Mathematics): Add math.
68765
68766 2007-02-17  Bruno Haible  <bruno@clisp.org>
68767
68768         * modules/wctype-tests: New file.
68769         * tests/test-wctype.c: New file.
68770
68771         * modules/wchar-tests: New file.
68772         * tests/test-wchar.c: New file.
68773
68774         * modules/unistd-tests: New file.
68775         * tests/test-unistd.c: New file.
68776
68777         * modules/time-tests: New file.
68778         * tests/test-time.c: New file.
68779
68780         * modules/sysexits-tests: New file.
68781         * tests/test-sysexits.c: New file.
68782
68783         * modules/sys_time-tests: New file.
68784         * tests/test-sys_time.c: New file.
68785
68786         * modules/sys_stat-tests: New file.
68787         * tests/test-sys_stat.c: New file.
68788
68789         * modules/sys_socket-tests: New file.
68790         * tests/test-sys_socket.c: New file.
68791
68792         * modules/sys_select-tests: New file.
68793         * tests/test-sys_select.c: New file.
68794
68795         * modules/string-tests: New file.
68796         * tests/test-string.c: New file.
68797
68798         * modules/stdbool-tests: New file.
68799         * tests/test-stdbool.c: New file.
68800
68801         * modules/netinet_in-tests: New file.
68802         * tests/test-netinet_in.c: New file.
68803
68804         * modules/inttypes-tests: New file.
68805         * tests/test-inttypes.c: New file.
68806
68807         * modules/fcntl-tests: New file.
68808         * tests/test-fcntl.c: New file.
68809
68810         * modules/byteswap-tests: New file.
68811         * tests/test-byteswap.c: New file.
68812
68813         * modules/arpa_inet-tests: New file.
68814         * tests/test-arpa_inet.c: New file.
68815
68816 2007-02-17  Bruno Haible  <bruno@clisp.org>
68817
68818         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68819         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68820         if the corresponding module is not enabled. Emit link warnings if
68821         the function is used nevertheless.
68822         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68823         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68824         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68825         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68826         * modules/inttypes (Depends-on): Add link-warning.
68827         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68828         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68829         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68830         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68831         * modules/imaxdiv (configure.ac): Likewise.
68832         * modules/strtoimax (configure.ac): Likewise.
68833         * modules/strtoumax (configure.ac): Likewise.
68834
68835 2007-02-17  Bruno Haible  <bruno@clisp.org>
68836
68837         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68838         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68839         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68840         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68841
68842 2007-02-17  Bruno Haible  <bruno@clisp.org>
68843
68844         * modules/link-warning: New file.
68845         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68846         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68847         * modules/string (Depends-on): Add link-warning.
68848         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68849         string.h.
68850         * MODULES.html.sh (Support for building libraries and executables): Add
68851         link-warning.
68852
68853 2007-02-17  Bruno Haible  <bruno@clisp.org>
68854
68855         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68856         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68857         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68858         long lines.
68859
68860 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68861             Bruno Haible  <bruno@clisp.org>
68862
68863         * modules/tmpfile: New file.
68864         * lib/tmpfile.c: New file.
68865         * m4/tmpfile.m4: New file.
68866         * MODULES.html.sh (func_all_modules): New section "Input/output".
68867
68868 2007-02-15  Bruno Haible  <bruno@clisp.org>
68869
68870         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68871         (supports_delete_on_close): New function.
68872         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68873
68874 2007-02-14  Bruno Haible  <bruno@clisp.org>
68875
68876         * modules/mbspcasecmp-tests: New file.
68877         * tests/test-mbspcasecmp.sh: New file.
68878         * tests/test-mbspcasecmp.c: New file.
68879
68880         New module mbspcasecmp.
68881         * modules/mbspcasecmp: New file.
68882         * lib/mbspcasecmp.c: New file.
68883         * lib/string_.h (strncasecmp): Change warning message.
68884         (mbspcasecmp): New declaration.
68885         * m4/mbspcasecmp.m4: New file.
68886         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68887         GNULIB_MBSPCASECMP.
68888         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68889         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68890
68891 2007-02-14  Bruno Haible  <bruno@clisp.org>
68892
68893         * modules/mbsncasecmp-tests: New file.
68894         * tests/test-mbsncasecmp.sh: New file.
68895         * tests/test-mbsncasecmp.c: New file.
68896
68897         New module mbsncasecmp.
68898         * modules/mbsncasecmp: New file.
68899         * lib/mbsncasecmp.c: New file.
68900         * lib/string_.h (mbsncasecmp): New declaration.
68901         * m4/mbsncasecmp.m4: New file.
68902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68903         GNULIB_MBSNCASECMP.
68904         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
68905         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
68906
68907 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68908
68909         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
68910         Verify that it doesn't overlap with our flags.
68911         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
68912         do not have the desired effect in multibyte locales; instead, use
68913         mbscasecmp.
68914         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
68915         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
68916         we don't require GNU fnmatch ourselves (if our users require it, they
68917         should do so explicitly).
68918
68919         Fix regex code so it doesn't rely on strcasecmp.
68920         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
68921         Otherwise, include gnulib's langinfo.h.
68922         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
68923         undesirable behavior in non-C locales.  Instead, rely on localecharset.
68924         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
68925         * modules/regex (FILES): Remove m4/codeset.m4.
68926         (Depends-on): Add localcharset.  Remove strcase.
68927
68928 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68929
68930         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
68931         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
68932
68933 2007-02-13  Bruno Haible  <bruno@clisp.org>
68934
68935         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
68936         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68937
68938 2007-02-12  Bruno Haible  <bruno@clisp.org>
68939
68940         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68941         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
68942         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
68943         time warning rather than a link error.
68944
68945 2007-02-12  Bruno Haible  <bruno@clisp.org>
68946
68947         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
68948         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
68949         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68950
68951 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68952
68953         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
68954         args, not 2.
68955
68956 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68957
68958         New module 'time', so that apps can include <time.h> as per
68959         POSIX and GNU instead of separate include files like time_r.h
68960         and timegm.h.  This implementation tries out a simpler approach
68961         for replacing decls in standard include files (as compared to
68962         the string module), somewhat as an experiment.
68963
68964         * config/srclist.txt: Comment out mktime.c for now.
68965         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
68966         since it doesn't apply any more.  Use generic wording instead.
68967         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
68968         'time'.
68969         * lib/time_.h, m4/time_h.m4, modules/time: New files.
68970         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
68971         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
68972         Don't include <sys/types.h>; no longer needed since we assume C89.
68973         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
68974         * lib/strftime.c: Likewise.
68975         * lib/time_r.c: Likewise.
68976         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
68977         * lib/nanosleep.c: Include <time.h> first, to check interface.
68978         * lib/strptime.c: Likewise.
68979         * lib/time_r.c: Likewise.
68980         * lib/timegm.c: Likewise.
68981         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
68982         needed.
68983         * lib/timegm.c: Don't include timegm.h; no longer needed.
68984         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
68985         time.h now handles any problems in that area.
68986         (struct timespec, nanosleep): Remove; time.h now arranges for these.
68987         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
68988         that time.h defines struct timespec.
68989         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
68990         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
68991         handles that.
68992         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
68993         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
68994         needed.  Set REPLACE_LOCALTIME.
68995         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
68996         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
68997         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
68998         nanosleep; time_h.m4 now does that.  Don't require
68999         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69000         module handles this now.
69001         * modules/getdate (Depends-on): Remove timespec.  Add time.
69002         * modules/nanosleep (Depends-on): Likewise.
69003         * modules/stat-time (Depends-on): Likewise.
69004         * modules/nanosleep (Include): Include time.h, not timespec.h.
69005         * modules/strptime (Files): Remove lib/strptime.h.
69006         (Depends-on): Add extensions, time.
69007         (Include): Include time.h, not strptime.h.
69008         * modules/time_r (Files): Remove lib/time_r.h.
69009         (Depends-on): Add time.
69010         (Include): Include time.h, not time_r.h.
69011         * modules/timegm: Likewise.
69012         * modules/timespec (Description): Now does timespec-related decls
69013         of our own, instead of struct timespec itself.
69014         (Depends-on): Add time; remove extensions.
69015         (Maintainer): Add self.
69016         * modules/utimecmp (Depends-on): Add time; remove timespec.
69017         * modules/utimens (Depends-on): Likewise.
69018         * modules/xnanosleep (Depends-on): Likewise.
69019
69020 2007-02-11  Bruno Haible  <bruno@clisp.org>
69021
69022         * lib/c-strstr.c: Include allocsa.h.
69023         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69024         * lib/c-strcasestr.c: Include allocsa.h.
69025         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69026         * lib/strcasestr.c: Include allocsa.h.
69027         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69028         * lib/mbsstr.c: Include allocsa.h.
69029         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69030         allocsa/freesa instead of malloc/free.
69031         * lib/mbscasestr.c: Include allocsa.h.
69032         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69033         allocsa/freesa instead of malloc/free.
69034         * modules/c-strstr (Depends-on): Add allocsa.
69035         * modules/c-strcasestr (Depends-on): Likewise.
69036         * modules/strcasestr (Depends-on): Likewise.
69037         * modules/mbsstr (Depends-on): Likewise.
69038         * modules/mbscasestr (Depends-on): Likewise.
69039
69040 2007-02-11  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69043
69044         * modules/mbsspn-tests: New file.
69045         * tests/test-mbsspn.sh: New file.
69046         * tests/test-mbsspn.c: New file.
69047
69048 2007-02-11  Bruno Haible  <bruno@clisp.org>
69049
69050         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69051
69052         * modules/mbspbrk-tests: New file.
69053         * tests/test-mbspbrk.sh: New file.
69054         * tests/test-mbspbrk.c: New file.
69055
69056 2007-02-11  Bruno Haible  <bruno@clisp.org>
69057
69058         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69059         unneeded cast.
69060
69061         * modules/mbscspn-tests: New file.
69062         * tests/test-mbscspn.sh: New file.
69063         * tests/test-mbscspn.c: New file.
69064
69065 2007-02-11  Bruno Haible  <bruno@clisp.org>
69066
69067         * modules/mbscasecmp-tests: New file.
69068         * tests/test-mbscasecmp.sh: New file.
69069         * tests/test-mbscasecmp.c: New file.
69070
69071 2007-02-11  Bruno Haible  <bruno@clisp.org>
69072
69073         Ensure O(n) worst-case complexity of mbscasestr.
69074         * lib/mbscasestr.c: Include stdbool.h.
69075         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69076         functions.
69077         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69078         the bookkeeping indicates that it's worth it.
69079         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69080
69081         * modules/mbscasestr-tests: New file.
69082         * tests/test-mbscasestr1.c: New file.
69083         * tests/test-mbscasestr2.sh: New file.
69084         * tests/test-mbscasestr2.c: New file.
69085         * tests/test-mbscasestr3.sh: New file.
69086         * tests/test-mbscasestr3.c: New file.
69087         * tests/test-mbscasestr4.sh: New file.
69088         * tests/test-mbscasestr4.c: New file.
69089         * m4/locale-tr.m4: New file.
69090
69091 2007-02-11  Bruno Haible  <bruno@clisp.org>
69092
69093         Ensure O(n) worst-case complexity of mbsstr.
69094         * lib/mbsstr.c: Include stdbool.h.
69095         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69096         functions.
69097         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69098         bookkeeping indicates that it's worth it.
69099         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69100
69101         * modules/mbsstr-tests: New file.
69102         * tests/test-mbsstr1.c: New file.
69103         * tests/test-mbsstr2.sh: New file.
69104         * tests/test-mbsstr2.c: New file.
69105         * tests/test-mbsstr3.sh: New file.
69106         * tests/test-mbsstr3.c: New file.
69107         * m4/locale-fr.m4: New file.
69108
69109 2007-02-11  Bruno Haible  <bruno@clisp.org>
69110
69111         * lib/mbsrchr.c (mbsrchr): Fix bug.
69112
69113         * modules/mbsrchr-tests: New file.
69114         * tests/test-mbsrchr.sh: New file.
69115         * tests/test-mbsrchr.c: New file.
69116
69117 2007-02-11  Bruno Haible  <bruno@clisp.org>
69118
69119         * lib/mbschr.c (mbschr): Fix bug.
69120
69121         * modules/mbschr-tests: New file.
69122         * tests/test-mbschr.sh: New file.
69123         * tests/test-mbschr.c: New file.
69124         * m4/locale-zh.m4: New file.
69125
69126 2007-02-11  Bruno Haible  <bruno@clisp.org>
69127
69128         Support for copying multibyte string iterators.
69129         * lib/mbiter.h: Include <string.h>.
69130         (mbiter_multi_copy): New function.
69131         (mbi_copy): New macro.
69132         * lib/mbuiter.h: Include <string.h>.
69133         (mbuiter_multi_copy): New function.
69134         (mbui_copy): New macro.
69135
69136 2007-02-11  Bruno Haible  <bruno@clisp.org>
69137
69138         New module mbslen.
69139         * modules/mbslen: New file.
69140         * lib/mbslen.c: New file.
69141         * lib/string_.h (mbslen): New declaration.
69142         * m4/mbslen.m4: New file.
69143         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69144         GNULIB_MBSLEN.
69145         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69146         * MODULES.html.sh (Internationalization functions): Add mbslen.
69147
69148 2007-02-11  Bruno Haible  <bruno@clisp.org>
69149
69150         Ensure O(n) worst-case complexity of strcasestr substitute.
69151         * lib/strcasestr.c: Include stdbool.h.
69152         (knuth_morris_pratt): New function.
69153         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69154         bookkeeping indicates that it's worth it.
69155         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69156
69157         * modules/strcasestr-tests: New file.
69158         * tests/test-strcasestr.c: New file.
69159
69160 2007-02-11  Bruno Haible  <bruno@clisp.org>
69161
69162         Ensure O(n) worst-case complexity of c_strcasestr.
69163         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69164         (knuth_morris_pratt): New function.
69165         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69166         the bookkeeping indicates that it's worth it.
69167         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69168
69169         * modules/c-strcasestr-tests: New file.
69170         * tests/test-c-strcasestr.c: New file.
69171
69172 2007-02-11  Bruno Haible  <bruno@clisp.org>
69173
69174         Ensure O(n) worst-case complexity of c_strstr.
69175         * lib/c-strstr.c: Include stdbool.h, string.h.
69176         (knuth_morris_pratt): New function.
69177         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69178         bookkeeping indicates that it's worth it.
69179         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69180
69181         * lib/c-strstr.c: Complete rewrite for maintainability.
69182
69183         * modules/c-strstr-tests: New file.
69184         * tests/test-c-strstr.c: New file.
69185
69186 2007-02-11  Bruno Haible  <bruno@clisp.org>
69187
69188         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69189         5.2.1 and earlier, whereby \055 was treated just like the range
69190         delimiter '-'.
69191         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69192
69193 2007-02-08  Bruno Haible  <bruno@clisp.org>
69194
69195         * modules/regex (Depends-on): Add stdbool.
69196         Reported by Dalibor Topic <robilad@kaffe.org>.
69197
69198 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69199
69200         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69201         Prefer returning from main to exiting from it.
69202         Remove unnecessary parens after sizeof.
69203
69204 2007-02-05  Bruno Haible  <bruno@clisp.org>
69205
69206         New module mbssep.
69207         * modules/mbssep: New file.
69208         * lib/mbssep.c: New file.
69209         * lib/string_.h (strsep): Add a conditional link warning.
69210         (mbssep): New declaration.
69211         * m4/mbssep.m4: New file.
69212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69213         GNULIB_MBSSEP.
69214         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69215         * MODULES.html.sh (Internationalization functions): Add mbssep.
69216
69217 2007-02-05  Bruno Haible  <bruno@clisp.org>
69218
69219         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69220         Optimize search in case of 1 delimiter.
69221
69222 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69223
69224         * lib/acl.h: Include sys/types.h before sys/acl.h.
69225
69226 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69227
69228         Merge upstream fix for glibc bugzilla #3957:
69229
69230         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69231
69232         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69233         bit for RE_HAT_LISTS_NOT_NEWLINE.
69234         (build_charclass_op): Remove bogus comment.
69235
69236 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69237
69238         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69239
69240 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69241
69242         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69243         * lib/memmem.c [!defined _LIBC]: Include config.h.
69244
69245 2007-02-04  Bruno Haible  <bruno@clisp.org>
69246
69247         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69248         warning message.
69249
69250 2007-02-04  Bruno Haible  <bruno@clisp.org>
69251
69252         New module mbstok_r.
69253         * modules/mbstok_r: New file.
69254         * lib/mbstok_r.c: New file.
69255         * lib/string_.h (strtok_r): Change argument names to match the
69256         comments. Add a conditional link warning.
69257         (mbstok_r): New declaration.
69258         * m4/mbstok_r.m4: New file.
69259         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69260         GNULIB_MBSTOK_R.
69261         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69262         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69263
69264 2007-02-04  Bruno Haible  <bruno@clisp.org>
69265
69266         New module mbsspn.
69267         * modules/mbsspn: New file.
69268         * lib/mbsspn.c: New file.
69269         * lib/string_.h (strspn): Add a conditional link warning.
69270         (mbsspn): New declaration.
69271         * m4/mbsspn.m4: New file.
69272         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69273         GNULIB_MBSSPN.
69274         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69275         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69276
69277 2007-02-04  Bruno Haible  <bruno@clisp.org>
69278
69279         New module mbspbrk.
69280         * modules/mbspbrk: New file.
69281         * lib/mbspbrk.c: New file.
69282         * lib/string_.h (strpbrk): Add a conditional link warning.
69283         (mbspbrk): New declaration.
69284         * m4/mbspbrk.m4: New file.
69285         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69286         GNULIB_MBSPBRK.
69287         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69288         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69289
69290 2007-02-04  Bruno Haible  <bruno@clisp.org>
69291
69292         New module mbscspn.
69293         * modules/mbscspn: New file.
69294         * lib/mbscspn.c: New file.
69295         * lib/string_.h (strcspn): Add a conditional link warning.
69296         (mbscspn): New declaration.
69297         * m4/mbscspn.m4: New file.
69298         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69299         GNULIB_MBSCSPN.
69300         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69301         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69302
69303 2007-02-04  Bruno Haible  <bruno@clisp.org>
69304
69305         New module mbscasestr, reduced goal of strcasestr.
69306         * modules/mbscasestr: New file.
69307         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69308         (mbscasestr): Renamed from strcasestr.
69309         * lib/strcasestr.c: Don't include mbuiter.h.
69310         (strcasestr): Remove support for multibyte locales.
69311         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69312         Change the conditional link warning.
69313         (mbscasestr): New declaration.
69314         * m4/mbscasestr.m4: New file.
69315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69316         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69317         REPLACE_STRCASESTR.
69318         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69319         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69320         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69321         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69322         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69323         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69324         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69325         (Depends-on): Remove mbuiter.
69326         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69327
69328 2007-02-04  Bruno Haible  <bruno@clisp.org>
69329
69330         Simplify handling of strncasecmp.
69331         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69332         the conditional link warning.
69333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69334         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69335         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69336         * modules/strcase (configure.ac): Don't invoke
69337         gl_STRING_MODULE_INDICATOR.
69338         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69339
69340 2007-02-04  Bruno Haible  <bruno@clisp.org>
69341
69342         New module mbscasecmp, reduced goal of strcasecmp.
69343         * modules/mbscasecmp: New file.
69344         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69345         (mbscasecmp): Renamed from strcasecmp.
69346         * lib/strcasecmp.c: Don't include mbuiter.h.
69347         (strcasecmp): Remove support for multibyte locales.
69348         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69349         Change the conditional link warning.
69350         (mbscasecmp): New declaration.
69351         * m4/mbscasecmp.m4: New file.
69352         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69353         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69354         REPLACE_STRCASECMP.
69355         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69357         GNULIB_MBSCASECMP.
69358         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69359         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69360         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69361         (Depends-on): Remove mbuiter.
69362         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69363
69364 2007-02-04  Bruno Haible  <bruno@clisp.org>
69365
69366         New module mbsstr. Remove module strstr.
69367         * modules/mbsstr: New file.
69368         * modules/strstr: Remove file.
69369         * lib/mbsstr.c: Renamed from lib/strstr.c.
69370         (mbsstr): Renamed from strstr.
69371         * lib/string_.h (strstr): Remove declaration. Change the conditional
69372         link warning.
69373         (mbsstr): New declaration.
69374         * m4/mbsstr.m4: New file.
69375         * m4/strstr.m4: Remove file.
69376         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69377         REPLACE_STRSTR.
69378         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69379         Don't initialize GNULIB_STRSTR.
69380         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69381         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69382         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69383         (Support for systems lacking ANSI C 89): Remove strstr.
69384
69385 2007-02-04  Bruno Haible  <bruno@clisp.org>
69386
69387         New module mbsrchr.
69388         * modules/mbsrchr: New file.
69389         * lib/mbsrchr.c: New file.
69390         * lib/string_.h (strrchr): Add a conditional link warning.
69391         (mbsrchr): New declaration.
69392         * m4/mbsrchr.m4: New file.
69393         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69394         GNULIB_MBSRCHR.
69395         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
69396         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
69397
69398 2007-02-04  Bruno Haible  <bruno@clisp.org>
69399
69400         New module mbschr.
69401         * modules/mbschr: New file.
69402         * lib/mbschr.c: New file.
69403         * lib/string_.h (strchr): Add a conditional link warning.
69404         (mbschr): New declaration.
69405         * m4/mbschr.m4: New file.
69406         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69407         GNULIB_MBSCHR.
69408         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
69409         * MODULES.html.sh (Internationalization functions): Add mbschr.
69410
69411 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69412
69413         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
69414
69415         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
69416
69417 2007-02-04  Bruno Haible  <bruno@clisp.org>
69418
69419         New module description section 'configure.ac-early'.
69420         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
69421         (func_get_autoconf_early_snippet): New function.
69422         (func_import, func_create_testdir): Use it. Remove special cases for
69423         modules 'extensions' and 'lock'.
69424         * modules/extensions (configure.ac-early): Require
69425         gl_USE_SYSTEM_EXTENSIONS.
69426         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
69427
69428 2007-02-04  Bruno Haible  <bruno@clisp.org>
69429
69430         Make use of gcj-4.3's -fsource and -ftarget option.
69431         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
69432         and if so try the options -fsource and -ftarget.
69433         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
69434         source_version, ftarget_option, target_version arguments.
69435         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
69436         (is_envjavac_oldgcj_14_14_usable): Renamed from
69437         is_envjavac_gcj_14_14_usable.
69438         (is_envjavac_oldgcj_14_13_usable): Renamed from
69439         is_envjavac_gcj_14_13_usable.
69440         (is_gcj_present): Update.
69441         (is_gcj_43, is_gcj43_usable): New functions.
69442         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
69443         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
69444         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
69445         try the options -fsource and -ftarget.
69446
69447 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69448
69449         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
69450         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
69451         larger value.
69452
69453 2007-02-03  Jim Meyering  <jim@meyering.net>
69454
69455         Give tools a better chance to allocate space for very large buffers.
69456         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
69457
69458         Make pwd and readlink work also when run with an unreadable parent dir
69459         on systems with openat support.
69460         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
69461         provided getcwd function, even when we have openat support.
69462         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
69463
69464 2007-02-02  Bruno Haible  <bruno@clisp.org>
69465
69466         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69467         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
69468         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
69469         portability problems if one of these functions is only used on specific
69470         platforms.
69471         Reported by Paul Eggert.
69472
69473 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
69474
69475         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
69476         is causing more trouble than it's curing.
69477         * lib/regex_internal.h (__mempcpy): Remove.
69478         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
69479         (and make the code a tad smaller to boot).
69480         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
69481
69482 2007-02-02  Jim Meyering  <jim@meyering.net>
69483
69484         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
69485         section, not in the Makefile.am: one.
69486
69487 2007-02-02  Eric Blake  <ebb9@byu.net>
69488
69489         * lib/strchrnul.c: Always include config.h first.
69490
69491         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
69492         gnulib strstr is not necessary here.
69493
69494 2007-02-02  Simon Josefsson  <simon@josefsson.org>
69495
69496         * m4/socklen.m4: Fix typo.
69497
69498 2007-02-02  Eric Blake  <ebb9@byu.net>
69499
69500         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
69501         * modules/netinet_in (Makefile.am): Likewise.
69502
69503 2007-02-01  Bruno Haible  <bruno@clisp.org>
69504
69505         * lib/string_.h (GL_LINK_WARNING): New macro.
69506         (strcasecmp, strstr, strcasestr): If provided by the system,
69507         conditionally define as a macro that leads to a warning instead of to
69508         an error.
69509         (strncasecmp): Conditionally define as a macro that leads to a warning.
69510
69511 2007-02-01  Karl Berry  <karl@gnu.org>
69512
69513         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
69514
69515 2007-02-01  Bruno Haible  <bruno@clisp.org>
69516
69517         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
69518         renamings.
69519
69520 2007-02-01  Eric Blake  <ebb9@byu.net>
69521
69522         * modules/regex (Depends-on): Revert dependence on mempcpy.
69523         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
69524         module's definition of mempcpy.
69525         Reported by Paul Eggert.
69526
69527 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69528
69529         * lib/string_.h: If the gnulib module XYZ is not present, undefine
69530         the symbol XYZ before redefining it.  This fixes a problem with
69531         programs that don't use XYZ, when compiled on systems that define
69532         XYZ to something else.
69533
69534 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69535
69536         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69537         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69538         writeable to group or other and (2) is intended to have a special
69539         mode bit that is set or cleared.  In such a case, the directory
69540         should be neither group- nor other-writeable until the special
69541         mode bits are right.
69542
69543 2007-01-31  Eric Blake  <ebb9@byu.net>
69544
69545         * modules/mountlist (Depends-on): Add strstr.
69546
69547         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69548         bug.
69549         * modules/string (Makefile.am): Remove redundant replacement.
69550         * modules/regex (Depends-on): Add mempcpy.
69551
69552 2007-01-31  Bruno Haible  <bruno@clisp.org>
69553
69554         New module description field 'Link'.
69555         * gnulib-tool (func_usage): Document --extract-link-directive.
69556         (sed_extract_prog): Recognize 'Link' directive.
69557         (func_get_link_directive): New function.
69558         (func_import): Show summary of link directives.
69559         Handle --extract-link-directive option.
69560         * modules/acl (Link): New section.
69561         * modules/clock-time (Link): New section.
69562         * modules/euidaccess (Link): New section.
69563         * modules/gettext (Link): New section.
69564         * modules/iconv (Link): New section.
69565         * modules/lock (Link): New section.
69566         * modules/nanosleep (Link): New section.
69567         * modules/readline (Link): New section.
69568
69569 2007-01-27  Bruno Haible  <bruno@clisp.org>
69570
69571         Enforce the use of gnulib modules for unportable <string.h> functions.
69572         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69573         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69574         (gl_HEADER_STRING_H_BODY): Require it.
69575         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69576         the symbol XYZ to one that gives a link error.
69577         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69578         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69579         * modules/mempcpy (configure.ac): Likewise.
69580         * modules/memrchr (configure.ac): Likewise.
69581         * modules/stpcpy (configure.ac): Likewise.
69582         * modules/stpncpy (configure.ac): Likewise.
69583         * modules/strcase (configure.ac): Likewise.
69584         * modules/strcasestr (configure.ac): Likewise.
69585         * modules/strchrnul (configure.ac): Likewise.
69586         * modules/strdup (configure.ac): Likewise.
69587         * modules/strndup (configure.ac): Likewise.
69588         * modules/strnlen (configure.ac): Likewise.
69589         * modules/strpbrk (configure.ac): Likewise.
69590         * modules/strsep (configure.ac): Likewise.
69591         * modules/strstr (configure.ac): Likewise.
69592         * modules/strtok_r (configure.ac): Likewise.
69593
69594 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69595
69596         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69597
69598 2007-01-30  Jim Meyering  <jim@meyering.net>
69599
69600         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69601
69602 2007-01-29  Bruno Haible  <bruno@clisp.org>
69603
69604         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69605         * lib/execute.c: Likewise.
69606         * lib/pipe.c: Likewise.
69607         * lib/printf-args.h: Likewise.
69608         * lib/printf-args.c: Likewise.
69609         * lib/printf-parse.c: Likewise.
69610         * lib/vasnprintf.c: Likewise.
69611
69612 2007-01-29  Eric Blake  <ebb9@byu.net>
69613
69614         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69615         declaration.
69616
69617 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         * lib/strptime.h (strptime): Use 'restrict' for args where
69620         POSIX requires this.
69621         * lib/strptime.c (strptime): Likewise.
69622         Change license notice from LGPL to GPL, since gnulib-tool will
69623         change this as needed.
69624         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69625         defined.
69626         Include "strptime.h" first, to check interface.
69627         Do not #undef _LIBC and _NL_CURRENT.
69628         Do not include <stdlib.h>; no longer needed.
69629         Include "time_r.h" and declare ptime_locale_status
69630         only if _LIBC is not defined.
69631         (__P): Remove unused macro.
69632         (match_string): Bring back glibc version, but use it only if _LIBC
69633         is defined.
69634         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69635         Remove unnecessary assertion and abort() call.
69636         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69637         * m4/strptime.m4: Fix serial number comment.
69638         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69639         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69640         (Depends-on): Add time_r.
69641
69642 2007-01-29  Bruno Haible  <bruno@clisp.org>
69643
69644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69645         strptime.
69646         * modules/strptime (Depends-on): Add stdbool.
69647         * lib/strptime.h: Include <time.h> always. Add comments.
69648
69649 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69650
69651         * modules/strptime: New file.
69652         * lib/strptime.h: New file.
69653         * lib/strptime.c: New file.
69654         * m4/strptime.m4: New file.
69655
69656 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69657
69658         * MODULES.html.sh: New module mpsort.
69659         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69660
69661         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69662         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69663         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69664         All uses changed.
69665         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69666         All uses changed.
69667         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69668         to _Restrict_.
69669         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69670         the parameter matches the prototype.
69671
69672 2007-01-28  Jim Meyering  <jim@meyering.net>
69673
69674         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69675         sys/time.h here, reverting that part of the previous patch:
69676         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69677
69678 2007-01-28  Bruno Haible  <bruno@clisp.org>
69679
69680         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69681         value of $(SYS_TIME_H).
69682         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69683         remove it conditionally, too. [added by Jim Meyering]
69684         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69685         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69686         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69687         GETTIMEOFDAY_REPLACEMENT to 1.
69688
69689 2007-01-28  Bruno Haible  <bruno@clisp.org>
69690
69691         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69692         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69693         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69694         Set UNISTD_H instead of UNISTD_H2.
69695         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69696
69697 2007-01-28  Bruno Haible  <bruno@clisp.org>
69698
69699         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69700         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69701
69702 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69703
69704         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69705         (func_create_testdir): Ensure C locale for `grep' and `tr'
69706         character ranges.
69707         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69708         ACLOCAL_AMFLAGS parsing state machine.
69709
69710 2007-01-27  Bruno Haible  <bruno@clisp.org>
69711
69712         * modules/unistr/base: Update.
69713
69714 2007-01-27  Bruno Haible  <bruno@clisp.org>
69715
69716         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69717         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69718         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69719         modules/unistr/u32-mbtouc.
69720         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69721         * lib/unistr.h: Update.
69722         * lib/linebreak.c: Update.
69723         * modules/unistr/u32-mbtouc: Renamed from
69724         modules/unistr/u32-mbtouc-safe.
69725         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69726         * lib/unistr.h: Update.
69727         * lib/unistr/u32-to-u8.c: Update.
69728         * lib/unistr/u32-to-u16.c: Update.
69729
69730 2007-01-27  Bruno Haible  <bruno@clisp.org>
69731
69732         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69733         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69734         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69735         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69736         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69737         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69738         modules/unistr/u16-mbtouc.
69739         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69740         * lib/unistr.h: Update.
69741         * lib/linebreak.c: Update.
69742         * modules/linebreak: Update.
69743         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69744         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69745         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69746         * modules/unistr/u16-mbtouc: Renamed from
69747         modules/unistr/u16-mbtouc-safe.
69748         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69749         * lib/unistr.h: Update.
69750         * lib/unistr/u16-to-u8.c: Update.
69751         * modules/unistr/u16-to-u8: Update.
69752         * lib/unistr/u16-to-u32.c: Update.
69753         * modules/unistr/u16-to-u32: Update.
69754
69755 2007-01-27  Bruno Haible  <bruno@clisp.org>
69756
69757         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69758         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69759         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69760         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69761         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69762         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69763         modules/unistr/u8-mbtouc.
69764         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69765         * lib/unistr.h: Update.
69766         * lib/striconveh.c: Update.
69767         * modules/striconveh: Update.
69768         * lib/linebreak.c: Update.
69769         * modules/linebreak: Update.
69770         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69771         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69772         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69773         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69774         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69775         * lib/unistr.h: Update.
69776         * lib/striconveh.c: Update.
69777         * modules/striconveh: Update.
69778         * lib/unistr/u8-to-u16.c: Update.
69779         * modules/unistr/u8-to-u16: Update.
69780         * lib/unistr/u8-to-u32.c: Update.
69781         * modules/unistr/u8-to-u32: Update.
69782
69783 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69784
69785         Sync from Libtool.
69786         * lib/argz.c: Do not include strings.h nor memory.h, include
69787         string.h unconditionally.  Patch by Simon Josefsson.
69788
69789 2007-01-27  Bruno Haible  <bruno@clisp.org>
69790
69791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69792         from gl_HEADER_STRING_H_BODY.
69793         (gl_HEADER_STRING_H_BODY): Require it.
69794         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69795         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69796         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69797         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69798         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69799         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69800         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69801         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69802         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69803         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69804         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69805         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69806         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69807         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69808         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69809
69810 2007-01-27  Bruno Haible  <bruno@clisp.org>
69811
69812         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69813         check_PROGRAMS into noinst_PROGRAMS.
69814         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69815         check_PROGRAMS in this case.
69816         (func_import): Set for_test to false.
69817         (func_create_testdir): Set for_test to true.
69818
69819 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69820             Bruno Haible  <bruno@clisp.org>
69821
69822         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69823         (Depends-on): Add string.
69824         (Includes): Use <string.h> instead of strcasestr.h.
69825         * modules/string (Makefile.am): Also substitute the value of
69826         REPLACE_STRCASESTR.
69827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69828         assume strcasestr is declared in <string.h> not <strings.h>. Also
69829         set REPLACE_STRCASESTR.
69830         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69831         REPLACE_STRCASESTR.
69832         * lib/strcasestr.h: Remove file.
69833         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69834         * lib/string_.h (strcasestr): New declaration.
69835
69836 2007-01-27  Bruno Haible  <bruno@clisp.org>
69837
69838         * lib/string_.h: Use 'extern'.
69839
69840 2007-01-27  Jim Meyering  <jim@meyering.net>
69841
69842         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69843         of set-but-not-used local, "q".
69844
69845         * lib/mempcpy.c: Include <config.h> before <string.h>.
69846         This fixes a compilation error on HP-UX, due to the system's
69847         "restrict"-using mempcpy prototype.
69848
69849 2007-01-26  Bruno Haible  <bruno@clisp.org>
69850
69851         Small optimization.
69852         * lib/javacomp.c: Include c-strstr.h.
69853          (is_envjavac_gcj): Use c_strstr instead of strstr.
69854         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69855
69856 2007-01-26  Bruno Haible  <bruno@clisp.org>
69857
69858         * MODULES.html.sh (Unicode string functions): Add the new modules.
69859
69860         * modules/uniconv/u32-strconv-to-locale: New file.
69861         * lib/uniconv/u32-strconv-to-locale.c: New file.
69862
69863         * modules/uniconv/u16-strconv-to-locale: New file.
69864         * lib/uniconv/u16-strconv-to-locale.c: New file.
69865
69866         * modules/uniconv/u8-strconv-to-locale: New file.
69867         * lib/uniconv/u8-strconv-to-locale.c: New file.
69868
69869         * modules/uniconv/u32-strconv-from-locale: New file.
69870         * lib/uniconv/u32-strconv-from-locale.c: New file.
69871
69872         * modules/uniconv/u16-strconv-from-locale: New file.
69873         * lib/uniconv/u16-strconv-from-locale.c: New file.
69874
69875         * modules/uniconv/u8-strconv-from-locale: New file.
69876         * lib/uniconv/u8-strconv-from-locale.c: New file.
69877
69878         * modules/uniconv/u32-strconv-to-enc: New file.
69879         * lib/uniconv/u32-strconv-to-enc.c: New file.
69880         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69881         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69882
69883         * modules/uniconv/u16-strconv-to-enc: New file.
69884         * lib/uniconv/u16-strconv-to-enc.c: New file.
69885         * lib/uniconv/u-strconv-to-enc.h: New file.
69886         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69887         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69888
69889         * modules/uniconv/u8-strconv-to-enc: New file.
69890         * lib/uniconv/u8-strconv-to-enc.c: New file.
69891         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69892         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69893
69894         * modules/uniconv/u32-strconv-from-enc: New file.
69895         * lib/uniconv/u32-strconv-from-enc.c: New file.
69896         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69897         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69898
69899         * modules/uniconv/u16-strconv-from-enc: New file.
69900         * lib/uniconv/u16-strconv-from-enc.c: New file.
69901         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69902         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69903
69904         * modules/uniconv/u8-strconv-from-enc: New file.
69905         * lib/uniconv/u8-strconv-from-enc.c: New file.
69906         * lib/uniconv/u-strconv-from-enc.h: New file.
69907         * modules/uniconv/u8-strconv-from-enc-tests: New file.
69908         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
69909
69910         * modules/uniconv/u32-conv-from-enc: New file.
69911         * lib/uniconv/u32-conv-from-enc.c: New file.
69912         * modules/uniconv/u32-conv-from-enc-tests: New file.
69913         * tests/uniconv/test-u32-conv-from-enc.c: New file.
69914
69915         * modules/uniconv/u16-conv-from-enc: New file.
69916         * lib/uniconv/u16-conv-from-enc.c: New file.
69917         * lib/uniconv/u-conv-from-enc.h: New file.
69918         * modules/uniconv/u16-conv-from-enc-tests: New file.
69919         * tests/uniconv/test-u16-conv-from-enc.c: New file.
69920
69921         * modules/uniconv/u8-conv-from-enc: New file.
69922         * lib/uniconv/u8-conv-from-enc.c: New file.
69923         * modules/uniconv/u8-conv-from-enc-tests: New file.
69924         * tests/uniconv/test-u8-conv-from-enc.c: New file.
69925
69926         * modules/uniconv/base: New file.
69927         * lib/uniconv.h: New file.
69928
69929 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69930
69931         * doc/gnulib-tool.texi (Initial import): Update to match current
69932         behavior with strdup module.
69933         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
69934         * lib/memmem.h: Remove; all uses removed.  This is now done
69935         by <string.h>.
69936         * lib/mempcpy.h: Likewise.
69937         * lib/memrchr.h: Likewise.
69938         * lib/stpcpy.h: Likewise.
69939         * lib/stpncpy.h: Likewise.
69940         * lib/strcase.h: Likewise.
69941         * lib/strchrnul.h: Likewise.
69942         * lib/strdup.h: Likewise.
69943         * lib/strndup.h: Likewise.
69944         * lib/strnlen.h: Likewise.
69945         * lib/strpbrk.h: Likewise.
69946         * lib/strsep.h: Likewise.
69947         * lib/strstr.h: Likewise.
69948         * lib/strtok_r.h: Likewise.
69949         * lib/string_.h: New file.
69950         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
69951         Rely on <string.h> instead.
69952         * lib/canon-host.c: Likewise.
69953         * lib/chdir-long.c: Likewise.
69954         * lib/concatpath.c: Likewise.
69955         * lib/exclude.c: Likewise.
69956         * lib/fchdir.c: Likewise.
69957         * lib/getaddrinfo.c: Likewise.
69958         * lib/getcwd.c: Likewise.
69959         * lib/getsubopt.c: Likewise.
69960         * lib/glob.c: Likewise.
69961         * lib/hard-locale.c: Likewise.
69962         * lib/iconvme.c: Likewise.
69963         * lib/javacomp.c: Likewise.
69964         * lib/mempcpy.c: Likewise.
69965         * lib/memrchr.c: Likewise.
69966         * lib/regex_internal.h: Likewise.
69967         * lib/stpncpy.c: Likewise.
69968         * lib/strcasecmp.c: Likewise.
69969         * lib/strchrnul.c: Likewise.
69970         * lib/strdup.c: Likewise.
69971         * lib/striconv.c: Likewise.
69972         * lib/striconveh.c: Likewise.
69973         * lib/striconveha.c: Likewise.
69974         * lib/strncasecmp.c: Likewise.
69975         * lib/strndup.c: Likewise.
69976         * lib/strnlen.c: Likewise.
69977         * lib/strsep.c: Likewise.
69978         * lib/strstr.c: Likewise.
69979         * lib/strtok_r.c: Likewise.
69980         * lib/userspec.c: Likewise.
69981         * lib/w32spawn.h: Likewise.
69982         * lib/xstrndup.c: Likewise.
69983         * lib/mountlist.c (strstr): Remove decl.
69984         * m4/string_h.m4: New file.
69985         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
69986         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
69987         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
69988         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
69989         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
69990         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
69991         Set REPLACE_STRCASECMP if necessary.
69992         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
69993         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
69994         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
69995         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
69996         HAVE_DECL_STRDUP if necessary.
69997         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
69998         since gl_FUNC_STRNDUP does that now.
69999         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70000         Check for decl here...
70001         (gl_PREREQ_STRNLEN): ... not here.
70002         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70003         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70004         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70005         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70006         necessary.
70007         * modules/string: New file.
70008         * modules/memmem (Files): Remove special-purpose include file.
70009         (Depends-on): Add string.
70010         (Include): Include <string.h>, not the removed file.
70011         * modules/mempcpy: Likewise.
70012         * modules/memrchr: Likewise.
70013         * modules/stpcpy: Likewise.
70014         * modules/stpncpy: Likewise.
70015         * modules/strcase: Likewise.
70016         * modules/strchrnul: Likewise.
70017         * modules/strdup: Likewise.
70018         * modules/strndup: Likewise.
70019         * modules/strnlen: Likewise.
70020         * modules/strpbrk: Likewise.
70021         * modules/strsep: Likewise.
70022         * modules/strstr: Likewise.
70023         * modules/strtok_r: Likewise.
70024         * tests/test-dirname.c: Don't include "strdup.h", since
70025         <string.h> now suffices.
70026         * tests/test-memmem.c: Don't include "memmem.h", since
70027         <string.h> now suffices.
70028
70029 2007-01-25  Bruno Haible  <bruno@clisp.org>
70030
70031         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70032         *resultp is 0.
70033
70034         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70035         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70036         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70037         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70038
70039         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70040         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70041         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70042         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70043         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70044         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70045
70046 2007-01-24  Bruno Haible  <bruno@clisp.org>
70047
70048         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70049         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70050         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70051         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70052         gl_FUNC_FTS_CORE.
70053         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70054         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70055         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70056         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70057         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70058         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70059         gl_FUNC_FCHOWNAT.
70060         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70061         gl_FUNC_STRFTIME.
70062         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70063         Reported by Ralf Wildenhues.
70064
70065 2007-01-24  Bruno Haible  <bruno@clisp.org>
70066
70067         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70068         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70069         gl_GETADDRINFO.
70070         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70071         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70072         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70073
70074 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70075
70076         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70077         Don't use 'exit'; just return from 'main'.
70078         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70079
70080         * lib/fnmatch_.h: Readjust white space and comments to match
70081         glibc, to avoid spurious diffs.
70082
70083 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70084
70085         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70086         2004-12-01 change by Jakub Jelinek, since this code won't compile
70087         if !LIBC.  Problem reported by Bob Proulx.
70088
70089 2007-01-23  Bruno Haible  <bruno@clisp.org>
70090
70091         * lib/striconveh.c: Include c-strcaseeq.h.
70092         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70093         * modules/striconveh (Depends-on): Add c-strcaseeq.
70094
70095 2007-01-23  Bruno Haible  <bruno@clisp.org>
70096
70097         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70098
70099         * modules/c-strcaseeq: New file.
70100         * lib/c-strcaseeq.h: New file.
70101
70102         * modules/streq: New file.
70103         * lib/streq.h: New file.
70104
70105 2007-01-23  Bruno Haible  <bruno@clisp.org>
70106
70107         * modules/striconveha-tests: New file.
70108         * tests/test-striconveha.c: New file.
70109
70110         * lib/striconveha.h: Include <stdbool.h>.
70111         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70112         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70113         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70114         (mem_iconveha): New function.
70115         (str_iconveha_notranslit): Renamed from str_iconveha.
70116         (str_iconveha): New function.
70117         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70118         c-strcase.
70119
70120 2007-01-23  Bruno Haible  <bruno@clisp.org>
70121
70122         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70123         encodings without forgiving before trying any encoding with handler.
70124         (str_iconveha): Try all encodings without forgiving before trying any
70125         encoding with handler.
70126
70127 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70128
70129         Import the following changes from libc.
70130
70131         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70132
70133         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70134
70135         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70136
70137         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70138         normal_bracket label.
70139
70140         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70141
70142         [BZ #361]
70143         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70144         to normal_bracket after fetching the next character.
70145
70146 2007-01-22  Bruno Haible  <bruno@clisp.org>
70147
70148         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70149         argument.
70150         * lib/striconveh.c (iconv_carefully_1): New function.
70151         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70152         argument.
70153         (str_cd_iconveh): Update.
70154         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70155         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70156         * tests/test-striconveh.c (MAGIC): New macro.
70157         (new_offsets): New function.
70158         (main): Test call with and without offsets.
70159
70160 2007-01-22  Bruno Haible  <bruno@clisp.org>
70161
70162         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70163         * modules/sys_select (Makefile.am): Likewise.
70164         * modules/sys_socket (Makefile.am): Likewise.
70165         * modules/sys_time (Makefile.am): Likewise.
70166
70167 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70168
70169         * modules/gettimeofday (License): Change from GPL to LGPL, since
70170         gettimeofday is a library function.
70171
70172 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70173
70174         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70175
70176 2007-01-21  Bruno Haible  <bruno@clisp.org>
70177
70178         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70179
70180 2007-01-21  Bruno Haible  <bruno@clisp.org>
70181
70182         * modules/striconveha: New file.
70183         * lib/striconveha.h: New file.
70184         * lib/striconveha.c: New file.
70185         * MODULES.html.sh (Internationalization functions): Add striconveha.
70186         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70187         string.
70188         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70189
70190 2007-01-21  Bruno Haible  <bruno@clisp.org>
70191
70192         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70193         * lib/striconveh.c (str_iconveh): Likewise.
70194
70195 2007-01-21  Bruno Haible  <bruno@clisp.org>
70196
70197         * lib/striconveh.h (mem_iconveh): New declaration.
70198         * lib/striconveh.c (mem_iconveh): New function.
70199         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70200
70201 2007-01-21  Bruno Haible  <bruno@clisp.org>
70202
70203         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70204
70205         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70206         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70207         original result buffer.
70208         (str_cd_iconveh): Update.
70209         * tests/test-striconveh.c (main): Update.
70210
70211         * lib/striconv.h (mem_cd_iconv): Change specification.
70212         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70213         result buffer.
70214         (str_cd_iconv): Update.
70215         * tests/test-striconv.c (main): Update.
70216
70217 2007-01-21  Bruno Haible  <bruno@clisp.org>
70218
70219         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70220
70221 2007-01-20  Jim Meyering  <jim@meyering.net>
70222
70223         * lib/userspec.c (parse_with_separator): If a user or group string
70224         starts with "+", skip the corresponding name-to-ID look-up, since
70225         such a look-up must fail: user and group names may not include "+".
70226
70227 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70228
70229         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70230         since we now assume the sys_time module.
70231         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70232         check for sys/time.h; no longer needed.
70233         * modules/poll (Depends-on): Depend on sys_time.
70234
70235 2007-01-18  Bruno Haible  <bruno@clisp.org>
70236
70237         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70238         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70239
70240         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70241         gettimeofday.
70242
70243         * tests/test-gettimeofday.c: Include <time.h>.
70244         (dummy): Remove variable.
70245
70246         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70247         gl_HEADER_SYS_TIME_H.
70248         (gl_HEADER_SYS_TIME_H): New macro.
70249
70250         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70251         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70252         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70253         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70254         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70255         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70256         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70257         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70258         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70259         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70260         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70261
70262         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70263         last change; it caused a compilation error when cross-compiling to
70264         Cygwin.
70265
70266 2007-01-18  Jim Meyering  <jim@meyering.net>
70267
70268         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70269         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70270         than the race-prone "test -d sys || mkdir sys".
70271         (configure.ac): Use AC_PROG_MKDIR_P.
70272         * modules/sys_select: Likewise.
70273         * modules/sys_socket: Likewise.
70274         * modules/sys_time: Likewise.
70275
70276 2007-01-18  Eric Blake  <ebb9@byu.net>
70277
70278         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70279         replace gettimeofday.
70280         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70281         name, to avoid infinite recursion.
70282
70283 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70284
70285         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70286         module sys_time.
70287         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70288         assume timespec.h defines struct timeval.
70289         * lib/settime.c: Likewise.
70290         * lib/utimens.c: Likewise.
70291         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70292         since we now assume the gettimeofday module.
70293         * lib/tempname.c (__gen_tempname): Likewise.
70294         * lib/gettimeofday.h: Remove.
70295         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70296         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70297         Include <time.h>, for 'time()'.
70298         (localtime_buffer_addr): Also use this workaround if
70299         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70300         to simplify the uses.  All uses changed.
70301         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70302         that #undef is inside {}, and 'const' follows type name consistently.
70303         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70304         (gettimeofday): Do not use the maximum possible value for
70305         tv->tv_usec, since that might break usages other than ls.c.
70306         Instead, we'll leave ls.c alone.  This undoes today's patch
70307         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70308         we've never observed the problem but might as well keep the
70309         canary.
70310         * lib/nanosleep.c: Include timespec.h first, for interface check.
70311         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70312         now assume the sys_time module.
70313         * lib/tempname.c: Likewise.
70314         * lib/timespec.h: Likewise.
70315         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70316         needed.
70317         * lib/strftime.c: Likewise.
70318         * lib/timespec.h: Likewise.
70319         * lib/posixtm.c: Include posixtm.h first, for interface check.
70320         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70321         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70322         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70323         * lib/sys_time_.h: New file.
70324         * lib/timespec.h (struct timespec): Use long int, not long.
70325         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70326         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70327         Remove obsolescent call to AC_HEADER_TIME.
70328         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70329         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70330         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70331         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70332         Likewise.
70333         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70334         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70335         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70336         into the sys_time module.  Check for gettimeofday just once.
70337         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70338         for gettimeofday signature to just check the signature.  Merely
70339         compile it, since linking doesn't test signature.  Improve test for
70340         whether gettimeofday.o is actually needed.
70341         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70342         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70343         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70344         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70345         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70346         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70347         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70348         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70349         than worrying about sys/time.h.
70350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70351         Don't bother worrying about TIME_WITH_SYS_TIME.
70352         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70353         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70354         * m4/sys_time_h.m4: New file.
70355         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70356         Don't include sys/time.h.  Return from main rather than exiting.
70357         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70358         all uses changed.
70359         * modules/gethrxtime (Depends-on): Add sys_time.
70360         * modules/gettime (Depends-on): Likewise.
70361         * modules/gettimeofday (Depends-on): Likewise.
70362         * modules/nanosleep (Depends-on): Likewise.
70363         * modules/settime (Depends-on): Likewise.
70364         * modules/tempname (Depends-on): Likewise.
70365         * modules/utimens (Depends-on): Likewise.
70366         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70367         (Include): Change back to <sys/time.h>.
70368         (Maintainer): Add self.
70369         * modules/sys_time: New file.
70370         * modules/tempname (Depends-on): Add gettimeofday.
70371         * tests/test-gettimeofday.c: Include <sys/time.h>
70372         rather than gettimeofday.h.
70373
70374 2007-01-17  Bruno Haible  <bruno@clisp.org>
70375
70376         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70377         the license default to GPL.
70378         (func_create_testdir): Don't complain if a module is LGPL and its
70379         tests module depends on GPLed modules.
70380
70381 2007-01-17  Bruno Haible  <bruno@clisp.org>
70382
70383         * lib/gettimeofday.c (gettimeofday): Add code for the case
70384         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70385         maximum possible value for tv->tv_usec, rather than the minimum one.
70386
70387 2005-10-08  Martin Lambers  <marlam@marlam.de>
70388 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70389 2007-01-16  Bruno Haible  <bruno@clisp.org>
70390
70391         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70392         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70393         gl_FUNC_GETTIMEOFDAY.
70394         (Include): Add gettimeofday.h.
70395         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
70396         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
70397         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
70398         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
70399         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
70400         * lib/gettimeofday.h: New file.
70401         * lib/gettimeofday.c: Include <sys/timeb.h>.
70402         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
70403         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70404         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
70405         fall back on time().
70406
70407         * tests/test-gettimeofday.c: New file.
70408         * modules/gettimeofday-tests: New file.
70409
70410 2007-01-16  Eric Blake  <ebb9@byu.net>
70411
70412         * modules/fnmatch (Depends-on): Depend on wchar.
70413         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
70414         * m4/fnmatch.m4: Likewise.
70415         * modules/mbchar (Makefile.am): Assume <wchar.h>.
70416         * m4/mbchar.m4: Likewise.
70417         * modules/mbswidth (Depends-on): Depend on wchar.
70418         * lib/mbswidth.c: Assume <wchar.h>.
70419         * m4/mbswidth.m4: Likewise.
70420         * modules/quotearg (Depends-on): Depend on wchar.
70421         * lib/quotearg.c: Assume <wchar.h>.
70422         * m4/quotearg.m4: Likewise.
70423         * modules/regex (Depends-on): Depend on wchar.
70424         * lib/regex_internal.h: Assume <wchar.h>.
70425         * m4/regex.m4: Likewise.
70426         * modules/stdint (Depends-on): Depend on wchar.
70427         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
70428         * m4/stdint.m4: Likewise.
70429         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
70430         * modules/strftime (Depends-on): Depend on wchar.
70431         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
70432         * modules/strtol (Depends-on): Depend on wchar.
70433         * lib/strtol.c: Assume <wchar.h>.
70434         * modules/wcwidth (Depends-on): Depend on wchar.
70435         * lib/wcwidth.h: Assume <wchar.h>.
70436         * m4/wcwidth.m4: Likewise.
70437
70438 2007-01-16  Bruno Haible  <bruno@clisp.org>
70439
70440         * modules/csharpexec-script: New, created from...
70441         * modules/csharpexec: ... this.
70442
70443 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70444
70445         * modules/javaexec-script: New, created from...
70446         * modules/javaexec: ... this.
70447
70448 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70449
70450         * modules/poll (Dependencies): Add sys_select.
70451
70452 2007-01-15  Jim Meyering  <jim@meyering.net>
70453
70454         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
70455         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
70456         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
70457         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
70458
70459 2007-01-15  Bruno Haible  <bruno@clisp.org>
70460
70461         * modules/striconveh: New file.
70462         * lib/striconveh.h: New file.
70463         * lib/striconveh.c: New file.
70464         * MODULES.html.sh (Internationalization functions): Add striconveh.
70465
70466         * modules/striconveh-tests: New file.
70467         * tests/test-striconveh.c: New file.
70468
70469 2007-01-15  Bruno Haible  <bruno@clisp.org>
70470
70471         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
70472         not from GNU libiconv or GNU libc.
70473
70474 2007-01-15  Bruno Haible  <bruno@clisp.org>
70475
70476         * doc/gnulib-intro.texi (Copyright): Explain the different license
70477         terms for module descriptions, autoconf macros, tests, documentation.
70478
70479 2007-01-14  Bruno Haible  <bruno@clisp.org>
70480
70481         * modules/striconv-tests: New file.
70482         * tests/test-striconv.c: New file.
70483
70484 2007-01-14  Bruno Haible  <bruno@clisp.org>
70485
70486         * modules/iconv-tests: New file.
70487         * tests/test-iconv.c: New file.
70488
70489 2007-01-14  Bruno Haible  <bruno@clisp.org>
70490
70491         * gnulib-tool (func_get_license): For test modules, use the license of
70492         the main module.
70493
70494 2007-01-14  Bruno Haible  <bruno@clisp.org>
70495
70496         * modules/iconv (Include): Clarify that <iconv.h> can only be included
70497         if iconv is found to exist.
70498
70499 2007-01-14  Bruno Haible  <bruno@clisp.org>
70500
70501         * modules/c-ctype-tests: New file.
70502         * tests/test-c-ctype.c: New file.
70503
70504 2007-01-14  Bruno Haible  <bruno@clisp.org>
70505
70506         * modules/binary-io-tests: New file.
70507         * tests/test-binary-io.sh: New file.
70508         * tests/test-binary-io.c: New file.
70509
70510 2007-01-14  Bruno Haible  <bruno@clisp.org>
70511
70512         * modules/array-oset-tests: New file.
70513         * tests/test-array_oset.c: New file.
70514
70515 2007-01-14  Bruno Haible  <bruno@clisp.org>
70516
70517         * modules/array-list-tests: New file.
70518         * tests/test-array_list.c: New file.
70519
70520 2007-01-14  Bruno Haible  <bruno@clisp.org>
70521
70522         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
70523         and make.
70524         Reported by Simon Josefsson in
70525         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
70526
70527 2007-01-14  Bruno Haible  <bruno@clisp.org>
70528
70529         * modules/allocsa-tests: New file.
70530         * tests/test-allocsa.c: New file.
70531
70532 2007-01-14  Bruno Haible  <bruno@clisp.org>
70533
70534         * modules/fchdir (Depends-on): Add absolute-header.
70535         * modules/unistd (Depends-on): Likewise.
70536
70537 2006-12-30  Bruno Haible  <bruno@clisp.org>
70538
70539         * modules/fchdir: New file.
70540         * modules/unistd (Files): Add lib/unistd_.h.
70541         (Makefile.am): Generate unistd.h from unistd_.h.
70542         * lib/fchdir.c: New file.
70543         * lib/dirent_.h: New file.
70544         * lib/unistd_.h: New file.
70545         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70546         * m4/fchdir.m4: New file.
70547         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70548         (gl_HEADER_UNISTD): Invoke it.
70549         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70550         function.
70551         * lib/backupfile.c (opendir, closedir): Undefine.
70552         * lib/chown.c (open, close): Undefine.
70553         * lib/clean-temp.c (open, close): Undefine.
70554         * lib/copy-file.c (open, close): Undefine.
70555         * lib/execute.c (open, close): Undefine.
70556         * lib/fsusage.c (open, close): Undefine.
70557         * lib/gc-gnulib.c (open, close): Undefine.
70558         * lib/getcwd.c (opendir, closedir): Undefine.
70559         * lib/glob.c (opendir, closedir): Undefine.
70560         * lib/javacomp.c (open, close): Undefine.
70561         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70562         * lib/openat-proc.c (open, close): Undefine.
70563         * lib/pagealign_alloc.c (open, close): Undefine.
70564         * lib/pipe.c (open, close): Undefine.
70565         * lib/progreloc.c (open, close): Undefine.
70566         * lib/savedir.c (opendir, closedir): Undefine.
70567         * lib/utime.c (open, close): Undefine.
70568         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70569
70570 2007-01-10  Bruno Haible  <bruno@clisp.org>
70571
70572         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70573
70574 2007-01-12  Eric Blake  <ebb9@byu.net>
70575
70576         Provide a robust <wchar.h>.  Further simplifications are now
70577         possible in other modules, but not included here.
70578         * modules/wchar: New module.
70579         * m4/wchar.m4: New file.
70580         * lib/wchar_.h: Likewise.
70581         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70582         of the new module.
70583         * MODULES.html.sh (Extended multibyte and wide character utilities):
70584         New section.
70585
70586 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70589         to a reasonable default for memory allocation.
70590         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70591         file system that reports garbage st_size values for symlinks.
70592         Problem reported by Liyang Hu.
70593
70594 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70595
70596         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70597         Emacs .#* auto-save files).
70598
70599 2007-01-11  Bruno Haible  <bruno@clisp.org>
70600
70601         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70602         directory.
70603
70604 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70605
70606         Use @...@ consistently in lib/wctype_.h.
70607         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70608         on it being set to 1 or 0.
70609         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70610         go back to AC_SUBSTing it.
70611         * modules/wctype (Makefile.am): Undo previous change.
70612
70613 2007-01-10  Eric Blake  <ebb9@byu.net>
70614
70615         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70616         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70617         * modules/wctype (Makefile.am): Likewise.
70618         Reported by Chris McGuire.
70619
70620 2007-01-10  Jim Meyering  <jim@meyering.net>
70621
70622         fts.c: a small readability/maintainability improvement
70623         * lib/fts.c (fts_read): Make this code slightly more readable and
70624         maintainable by hoisting the "sp->fts_cur = p" assignments to
70625         immediately follow the statements that set P.  Derived from
70626         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70627
70628 2007-01-10  Eric Blake  <ebb9@byu.net>
70629
70630         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70631         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70633         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70634         Reported by Chris McGuire.
70635
70636 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70637
70638         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70639         in sed script.
70640
70641 2007-01-09  Bruno Haible  <bruno@clisp.org>
70642
70643         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70644         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70645         variables.
70646         (func_module): Use them.
70647
70648 2007-01-09  Bruno Haible  <bruno@clisp.org>
70649
70650         * modules/unistr/base: New file.
70651         * lib/unistr.h: New file.
70652
70653         * modules/unistr/u8-to-u16: New file.
70654         * lib/unistr/u8-to-u16.c: New file.
70655
70656         * modules/unistr/u8-to-u32: New file.
70657         * lib/unistr/u8-to-u32.c: New file.
70658
70659         * modules/unistr/u16-to-u8: New file.
70660         * lib/unistr/u16-to-u8.c: New file.
70661
70662         * modules/unistr/u16-to-u32: New file.
70663         * lib/unistr/u16-to-u32.c: New file.
70664
70665         * modules/unistr/u32-to-u8: New file.
70666         * lib/unistr/u32-to-u8.c: New file.
70667
70668         * modules/unistr/u32-to-u16: New file.
70669         * lib/unistr/u32-to-u16.c: New file.
70670
70671         * modules/unistr/u8-check: New file.
70672         * modules/unistr/u16-check: New file.
70673         * modules/unistr/u32-check: New file.
70674         * lib/unistr/u8-check.c: New file.
70675         * lib/unistr/u16-check.c: New file.
70676         * lib/unistr/u32-check.c: New file.
70677
70678         * modules/unistr/u8-chr: New file.
70679         * modules/unistr/u16-chr: New file.
70680         * modules/unistr/u32-chr: New file.
70681         * lib/unistr/u8-chr.c: New file.
70682         * lib/unistr/u16-chr.c: New file.
70683         * lib/unistr/u32-chr.c: New file.
70684
70685         * modules/unistr/u8-cmp: New file.
70686         * modules/unistr/u16-cmp: New file.
70687         * modules/unistr/u32-cmp: New file.
70688         * lib/unistr/u8-cmp.c: New file.
70689         * lib/unistr/u16-cmp.c: New file.
70690         * lib/unistr/u32-cmp.c: New file.
70691
70692         * modules/unistr/u8-cpy: New file.
70693         * modules/unistr/u16-cpy: New file.
70694         * modules/unistr/u32-cpy: New file.
70695         * lib/unistr/u8-cpy.c: New file.
70696         * lib/unistr/u16-cpy.c: New file.
70697         * lib/unistr/u32-cpy.c: New file.
70698         * lib/unistr/u-cpy.h: New file.
70699
70700         * modules/unistr/u8-cpy-alloc: New file.
70701         * modules/unistr/u16-cpy-alloc: New file.
70702         * modules/unistr/u32-cpy-alloc: New file.
70703         * lib/unistr/u8-cpy-alloc.c: New file.
70704         * lib/unistr/u16-cpy-alloc.c: New file.
70705         * lib/unistr/u32-cpy-alloc.c: New file.
70706         * lib/unistr/u-cpy-alloc.h: New file.
70707
70708         * modules/unistr/u8-endswith: New file.
70709         * modules/unistr/u16-endswith: New file.
70710         * modules/unistr/u32-endswith: New file.
70711         * lib/unistr/u8-endswith.c: New file.
70712         * lib/unistr/u16-endswith.c: New file.
70713         * lib/unistr/u32-endswith.c: New file.
70714         * lib/unistr/u-endswith.h: New file.
70715
70716         * modules/unistr/u8-mblen: New file.
70717         * modules/unistr/u16-mblen: New file.
70718         * modules/unistr/u32-mblen: New file.
70719         * lib/unistr/u8-mblen.c: New file.
70720         * lib/unistr/u16-mblen.c: New file.
70721         * lib/unistr/u32-mblen.c: New file.
70722
70723         * modules/unistr/u8-mbtouc: New file.
70724         * modules/unistr/u16-mbtouc: New file.
70725         * modules/unistr/u32-mbtouc: New file.
70726         * lib/unistr/u8-mbtouc.c: New file.
70727         * lib/unistr/u16-mbtouc.c: New file.
70728         * lib/unistr/u32-mbtouc.c: New file.
70729
70730         * modules/unistr/u8-mbtouc-safe: New file.
70731         * modules/unistr/u16-mbtouc-safe: New file.
70732         * modules/unistr/u32-mbtouc-safe: New file.
70733         * lib/unistr/u8-mbtouc-safe.c: New file.
70734         * lib/unistr/u16-mbtouc-safe.c: New file.
70735         * lib/unistr/u32-mbtouc-safe.c: New file.
70736
70737         * modules/unistr/u8-move: New file.
70738         * modules/unistr/u16-move: New file.
70739         * modules/unistr/u32-move: New file.
70740         * lib/unistr/u8-move.c: New file.
70741         * lib/unistr/u16-move.c: New file.
70742         * lib/unistr/u32-move.c: New file.
70743         * lib/unistr/u-move.h: New file.
70744
70745         * modules/unistr/u8-next: New file.
70746         * modules/unistr/u16-next: New file.
70747         * modules/unistr/u32-next: New file.
70748         * lib/unistr/u8-next.c: New file.
70749         * lib/unistr/u16-next.c: New file.
70750         * lib/unistr/u32-next.c: New file.
70751
70752         * modules/unistr/u8-prev: New file.
70753         * modules/unistr/u16-prev: New file.
70754         * modules/unistr/u32-prev: New file.
70755         * lib/unistr/u8-prev.c: New file.
70756         * lib/unistr/u16-prev.c: New file.
70757         * lib/unistr/u32-prev.c: New file.
70758
70759         * modules/unistr/u8-set: New file.
70760         * modules/unistr/u16-set: New file.
70761         * modules/unistr/u32-set: New file.
70762         * lib/unistr/u8-set.c: New file.
70763         * lib/unistr/u16-set.c: New file.
70764         * lib/unistr/u32-set.c: New file.
70765         * lib/unistr/u-set.h: New file.
70766
70767         * modules/unistr/u8-startswith: New file.
70768         * modules/unistr/u16-startswith: New file.
70769         * modules/unistr/u32-startswith: New file.
70770         * lib/unistr/u8-startswith.c: New file.
70771         * lib/unistr/u16-startswith.c: New file.
70772         * lib/unistr/u32-startswith.c: New file.
70773         * lib/unistr/u-startswith.h: New file.
70774
70775         * modules/unistr/u8-stpcpy: New file.
70776         * modules/unistr/u16-stpcpy: New file.
70777         * modules/unistr/u32-stpcpy: New file.
70778         * lib/unistr/u8-stpcpy.c: New file.
70779         * lib/unistr/u16-stpcpy.c: New file.
70780         * lib/unistr/u32-stpcpy.c: New file.
70781         * lib/unistr/u-stpcpy.h: New file.
70782
70783         * modules/unistr/u8-stpncpy: New file.
70784         * modules/unistr/u16-stpncpy: New file.
70785         * modules/unistr/u32-stpncpy: New file.
70786         * lib/unistr/u8-stpncpy.c: New file.
70787         * lib/unistr/u16-stpncpy.c: New file.
70788         * lib/unistr/u32-stpncpy.c: New file.
70789         * lib/unistr/u-stpncpy.h: New file.
70790
70791         * modules/unistr/u8-strcat: New file.
70792         * modules/unistr/u16-strcat: New file.
70793         * modules/unistr/u32-strcat: New file.
70794         * lib/unistr/u8-strcat.c: New file.
70795         * lib/unistr/u16-strcat.c: New file.
70796         * lib/unistr/u32-strcat.c: New file.
70797         * lib/unistr/u-strcat.h: New file.
70798
70799         * modules/unistr/u8-strchr: New file.
70800         * modules/unistr/u16-strchr: New file.
70801         * modules/unistr/u32-strchr: New file.
70802         * lib/unistr/u8-strchr.c: New file.
70803         * lib/unistr/u16-strchr.c: New file.
70804         * lib/unistr/u32-strchr.c: New file.
70805
70806         * modules/unistr/u8-strcmp: New file.
70807         * modules/unistr/u16-strcmp: New file.
70808         * modules/unistr/u32-strcmp: New file.
70809         * lib/unistr/u8-strcmp.c: New file.
70810         * lib/unistr/u16-strcmp.c: New file.
70811         * lib/unistr/u32-strcmp.c: New file.
70812
70813         * modules/unistr/u8-strcpy: New file.
70814         * modules/unistr/u16-strcpy: New file.
70815         * modules/unistr/u32-strcpy: New file.
70816         * lib/unistr/u8-strcpy.c: New file.
70817         * lib/unistr/u16-strcpy.c: New file.
70818         * lib/unistr/u32-strcpy.c: New file.
70819         * lib/unistr/u-strcpy.h: New file.
70820
70821         * modules/unistr/u8-strcspn: New file.
70822         * modules/unistr/u16-strcspn: New file.
70823         * modules/unistr/u32-strcspn: New file.
70824         * lib/unistr/u8-strcspn.c: New file.
70825         * lib/unistr/u16-strcspn.c: New file.
70826         * lib/unistr/u32-strcspn.c: New file.
70827         * lib/unistr/u-strcspn.h: New file.
70828
70829         * modules/unistr/u8-strdup: New file.
70830         * modules/unistr/u16-strdup: New file.
70831         * modules/unistr/u32-strdup: New file.
70832         * lib/unistr/u8-strdup.c: New file.
70833         * lib/unistr/u16-strdup.c: New file.
70834         * lib/unistr/u32-strdup.c: New file.
70835         * lib/unistr/u-strdup.h: New file.
70836
70837         * modules/unistr/u8-strlen: New file.
70838         * modules/unistr/u16-strlen: New file.
70839         * modules/unistr/u32-strlen: New file.
70840         * lib/unistr/u8-strlen.c: New file.
70841         * lib/unistr/u16-strlen.c: New file.
70842         * lib/unistr/u32-strlen.c: New file.
70843         * lib/unistr/u-strlen.h: New file.
70844
70845         * modules/unistr/u8-strmblen: New file.
70846         * modules/unistr/u16-strmblen: New file.
70847         * modules/unistr/u32-strmblen: New file.
70848         * lib/unistr/u8-strmblen.c: New file.
70849         * lib/unistr/u16-strmblen.c: New file.
70850         * lib/unistr/u32-strmblen.c: New file.
70851
70852         * modules/unistr/u8-strmbtouc: New file.
70853         * modules/unistr/u16-strmbtouc: New file.
70854         * modules/unistr/u32-strmbtouc: New file.
70855         * lib/unistr/u8-strmbtouc.c: New file.
70856         * lib/unistr/u16-strmbtouc.c: New file.
70857         * lib/unistr/u32-strmbtouc.c: New file.
70858
70859         * modules/unistr/u8-strncat: New file.
70860         * modules/unistr/u16-strncat: New file.
70861         * modules/unistr/u32-strncat: New file.
70862         * lib/unistr/u8-strncat.c: New file.
70863         * lib/unistr/u16-strncat.c: New file.
70864         * lib/unistr/u32-strncat.c: New file.
70865         * lib/unistr/u-strncat.h: New file.
70866
70867         * modules/unistr/u8-strncmp: New file.
70868         * modules/unistr/u16-strncmp: New file.
70869         * modules/unistr/u32-strncmp: New file.
70870         * lib/unistr/u8-strncmp.c: New file.
70871         * lib/unistr/u16-strncmp.c: New file.
70872         * lib/unistr/u32-strncmp.c: New file.
70873
70874         * modules/unistr/u8-strncpy: New file.
70875         * modules/unistr/u16-strncpy: New file.
70876         * modules/unistr/u32-strncpy: New file.
70877         * lib/unistr/u8-strncpy.c: New file.
70878         * lib/unistr/u16-strncpy.c: New file.
70879         * lib/unistr/u32-strncpy.c: New file.
70880         * lib/unistr/u-strncpy.h: New file.
70881
70882         * modules/unistr/u8-strnlen: New file.
70883         * modules/unistr/u16-strnlen: New file.
70884         * modules/unistr/u32-strnlen: New file.
70885         * lib/unistr/u8-strnlen.c: New file.
70886         * lib/unistr/u16-strnlen.c: New file.
70887         * lib/unistr/u32-strnlen.c: New file.
70888         * lib/unistr/u-strnlen.h: New file.
70889
70890         * modules/unistr/u8-strpbrk: New file.
70891         * modules/unistr/u16-strpbrk: New file.
70892         * modules/unistr/u32-strpbrk: New file.
70893         * lib/unistr/u8-strpbrk.c: New file.
70894         * lib/unistr/u16-strpbrk.c: New file.
70895         * lib/unistr/u32-strpbrk.c: New file.
70896         * lib/unistr/u-strpbrk.h: New file.
70897
70898         * modules/unistr/u8-strrchr: New file.
70899         * modules/unistr/u16-strrchr: New file.
70900         * modules/unistr/u32-strrchr: New file.
70901         * lib/unistr/u8-strrchr.c: New file.
70902         * lib/unistr/u16-strrchr.c: New file.
70903         * lib/unistr/u32-strrchr.c: New file.
70904
70905         * modules/unistr/u8-strspn: New file.
70906         * modules/unistr/u16-strspn: New file.
70907         * modules/unistr/u32-strspn: New file.
70908         * lib/unistr/u8-strspn.c: New file.
70909         * lib/unistr/u16-strspn.c: New file.
70910         * lib/unistr/u32-strspn.c: New file.
70911         * lib/unistr/u-strspn.h: New file.
70912
70913         * modules/unistr/u8-strstr: New file.
70914         * modules/unistr/u16-strstr: New file.
70915         * modules/unistr/u32-strstr: New file.
70916         * lib/unistr/u8-strstr.c: New file.
70917         * lib/unistr/u16-strstr.c: New file.
70918         * lib/unistr/u32-strstr.c: New file.
70919         * lib/unistr/u-strstr.h: New file.
70920
70921         * modules/unistr/u8-strtok: New file.
70922         * modules/unistr/u16-strtok: New file.
70923         * modules/unistr/u32-strtok: New file.
70924         * lib/unistr/u8-strtok.c: New file.
70925         * lib/unistr/u16-strtok.c: New file.
70926         * lib/unistr/u32-strtok.c: New file.
70927         * lib/unistr/u-strtok.h: New file.
70928
70929         * modules/unistr/u8-uctomb: New file.
70930         * modules/unistr/u16-uctomb: New file.
70931         * modules/unistr/u32-uctomb: New file.
70932         * lib/unistr/u8-uctomb.c: New file.
70933         * lib/unistr/u16-uctomb.c: New file.
70934         * lib/unistr/u32-uctomb.c: New file.
70935
70936         * MODULES.html.sh (Unicode string functions): Add the new modules.
70937
70938 2007-01-08  Bruno Haible  <bruno@clisp.org>
70939
70940         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
70941         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
70942         subdirectories.
70943
70944 2007-01-08  Karl Berry  <karl@gnu.org>
70945
70946         * doc/error.texi: mention that main() fns must set program_name
70947         when progname is used.
70948
70949 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
70950
70951         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
70952         WCTYPE_H is empty, for the benefit of builds from non-distclean
70953         directories.  Problem reported by Eric Blake in
70954         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
70955
70956 2007-01-08  Bruno Haible  <bruno@clisp.org>
70957
70958         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
70959         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
70960         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
70961         PROVIDE_CANONICALIZE_FILENAME_MODE.
70962         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
70963
70964 2007-01-08  Bruno Haible  <bruno@clisp.org>
70965
70966         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
70967         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
70968         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
70969         * lib/fts.c: Likewise.
70970         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
70971
70972 2006-12-25  Bruno Haible  <bruno@clisp.org>
70973
70974         * modules/utf8-ucs4-safe: New file.
70975         * lib/utf8-ucs4-safe.h: New file.
70976         * lib/unistr/utf8-ucs4-safe.c: New file.
70977
70978         * modules/utf16-ucs4-safe: New file.
70979         * lib/utf16-ucs4-safe.h: New file.
70980         * lib/unistr/utf16-ucs4-safe.c: New file.
70981
70982         * MODULES.html.sh (Unicode string functions): Add the new modules.
70983
70984 2007-01-08  Bruno Haible  <bruno@clisp.org>
70985
70986         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
70987         (Depends-on): Add unitypes.
70988         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70989         (u8_mbtouc_aux): Move out to separate file.
70990         (u8_mbtouc): Use ucs4_t, uint8_t types.
70991         * lib/unistr/utf8-ucs4.c: New file.
70992
70993         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
70994         (Depends-on): Add unitypes.
70995         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70996         (u16_mbtouc_aux): Move out to separate file.
70997         (u16_mbtouc): Use ucs4_t, uint16_t types.
70998         * lib/unistr/utf16-ucs4.c: New file.
70999
71000         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71001         (Depends-on): Add unitypes.
71002         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71003         (u8_uctomb_aux): Move out to separate file.
71004         (u8_uctomb): Use ucs4_t, uint8_t types.
71005         * lib/unistr/ucs4-utf8.c: New file.
71006
71007         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71008         (Depends-on): Add unitypes.
71009         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71010         (u16_uctomb_aux): Move out to separate file.
71011         (u16_uctomb): Use ucs4_t, uint16_t types.
71012         * lib/unistr/ucs4-utf16.c: New file.
71013
71014 2006-12-25  Bruno Haible  <bruno@clisp.org>
71015
71016         * modules/unitypes: New file.
71017         * lib/unitypes.h: New file.
71018         * MODULES.html.sh (func_all_modules): New section "Unicode string
71019         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71020         this section. Add unitypes.
71021
71022 2007-01-08  Bruno Haible  <bruno@clisp.org>
71023
71024         Avoid variable names that conflict with those from libtool.
71025         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71026         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71027         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71028         library_names_spec to acl_library_names_spec, hardcode_* to
71029         acl_hardcode_*.
71030         Reported by Ralf Wildenhues.
71031
71032 2007-01-08  Bruno Haible  <bruno@clisp.org>
71033
71034         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71035         definition.
71036         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71037         definition.
71038         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71039         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71040         definition.
71041         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71042         definition.
71043         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71044         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71045         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71046         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71047         definition.
71048         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71049         definition.
71050         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71051         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71052         GC_USE_<algorithm>.
71053         * lib/gc-libgcrypt.c: Likewise.
71054         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71055         * modules/gc-arctwo (configure.ac): Likewise.
71056         * modules/gc-des (configure.ac): Likewise.
71057         * modules/gc-hmac-md5 (configure.ac): Likewise.
71058         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71059         * modules/gc-md2 (configure.ac): Likewise.
71060         * modules/gc-md4 (configure.ac): Likewise.
71061         * modules/gc-md5 (configure.ac): Likewise.
71062         * modules/gc-random (configure.ac): Likewise.
71063         * modules/gc-rijndael (configure.ac): Likewise.
71064         * modules/gc-sha1 (configure.ac): Likewise.
71065
71066 2007-01-08  Bruno Haible  <bruno@clisp.org>
71067
71068         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71069         macro definition.
71070         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71071         definition.
71072         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71073         definition.
71074         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71075         * modules/fcntl-safer (configure.ac): Likewise.
71076         * modules/fopen-safer (configure.ac): Likewise.
71077         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71078         GNULIB_FWRITEERROR macro definition.
71079
71080 2007-01-08  Bruno Haible  <bruno@clisp.org>
71081
71082         * m4/gnulib-common.m4: New file.
71083         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71084         (func_get_filelist): Add m4/gnulib-common.m4.
71085
71086 2007-01-08  Bruno Haible  <bruno@clisp.org>
71087
71088         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71089         command.
71090
71091 2007-01-08  Jim Meyering  <jim@meyering.net>
71092
71093         Use a more robust test for a "can't happen" condition.
71094         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71095         narrowed the st_size value.  Presuming the "can't happen" condition
71096         is true, that narrowing could conceivably convert an invalid st_size
71097         value into a valid one.  Instead, use a change based on Matthew
71098         Woehlke's original patch.
71099
71100         Slight readability improvement: use an assert-like macro
71101         in place of literal "abort ()" uses.
71102         * lib/fts.c (fts_assert): Define.
71103         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71104         Use this macro instead of a bare 'abort'.
71105
71106 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71107
71108         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71109         simply work around them.
71110         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71111         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71112         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71113         declaring.
71114         Don't bother to define as macros, since the standard doesn't require it.
71115         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71116         longer worry about IRIX 5.3.
71117         (HAVE_WCTYPE_CTMP_BUG): Remove.
71118
71119 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71120
71121         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71122         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71123         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71124         Problems reported by Georg Schwarz for IRIX 5.3.
71125
71126         * gnulib-tool (autoconf_minversion): Take the maximum version number
71127         found, not the minimum.  Problem reported by James Youngman.
71128
71129 2007-01-03  Karl Berry  <karl@gnu.org>
71130
71131         * doc/error.texi: new file, explaining interaction with progname.
71132         * doc/gnulib.texi: include it.  Update copyright.
71133
71134 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71135
71136         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71137         AC_CANONICAL_HOST, to improve autobuild outputs.
71138
71139 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71140             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71141
71142         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71143         sockets, server sockets, and other file descriptors.  Count errors
71144         to compute the return value.  Reorder the code a bit to be easier
71145         to follow.  Don't set event bits that were not requested (except
71146         POLLERR and POLLHUP).
71147
71148 2007-01-01  Bruno Haible  <bruno@clisp.org>
71149
71150         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71151
71152 2007-01-03  Jim Meyering  <jim@meyering.net>
71153
71154         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71155
71156 2007-01-02  Bruno Haible  <bruno@clisp.org>
71157
71158         * modules/settime (Include): Require timespec.h.
71159         * modules/nanosleep (Include): Likewise.
71160
71161 2007-01-01  Bruno Haible  <bruno@clisp.org>
71162
71163         * gnulib-tool (func_emit_copyright_notice): Bump year.
71164         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71165
71166 2007-01-01  Bruno Haible  <bruno@clisp.org>
71167
71168         Improve support for OpenBSD.
71169         * build-aux/config.rpath (libname_spec): Export.
71170         (library_names_spec): New variable. Export.
71171         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71172         library_names_spec from the config.rpath output. Locate shared library
71173         through the name pattern in library_names_spec.
71174
71175 2007-01-01  Eric Blake  <ebb9@byu.net>
71176
71177         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71178
71179 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71180
71181         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71182         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71183         assume the C locale, and avoid an "eval" that could cause trouble.
71184         Problem with SORT reported by Bob Proulx.
71185
71186         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71187         Define.  Trivial patch from Henning Nielsen Lund, originally
71188         sent to bug-grep@gnu.org today.
71189
71190 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71191
71192         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71193         struct stat.  Problem reported by Henning Nielsen Lund.
71194         * lib/acl.c: Include acl.h first, to check interface.  Don't
71195         bother to include sys/types.h and sys/stat.h again.
71196
71197 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71198
71199         Import the following change from libc; problem reported by
71200         Sven Verdoolaege.
71201
71202         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71203
71204         [BZ #1373]
71205         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71206
71207 2006-12-28  Jim Meyering  <jim@meyering.net>
71208
71209         * build-aux/announce-gen: Do not assume that the package
71210         builds any of tar.gz, tar.bz2, and .xdelta files.
71211         Suggestion from Simon Josefsson.
71212
71213 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71214
71215         * modules/announce-gen: New file.
71216
71217 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71218
71219         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71220         handles its gotchas now.
71221         * lib/mbswidth.c: Likewise.
71222         * lib/wcwidth.h: Likewise.
71223         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71224         and iswcntrl; the wctype module does this stuff now.
71225         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71226         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71227         * modules/mbchar (Depends-on): Add wctype.
71228         * modules/mbswidth (Depends-on): Likewise.
71229         * modules/wcwidth (Depends-on): Likewise.
71230
71231 2006-12-27  Eric Blake  <ebb9@byu.net>
71232
71233         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71234         module uses more than what <wctype.h> is required to provide.
71235
71236 2006-12-26  Eric Blake  <ebb9@byu.net>
71237
71238         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71239
71240 2006-12-26  Eric Blake  <ebb9@byu.net>
71241
71242         * modules/absolute-header: New module.
71243         * modules/fcntl (Depends-on): Depend on it.
71244         * modules/inttypes (Depends-on): Likewise.
71245         * modules/stdint (Depends-on): Likewise.
71246         * modules/sys_stat (Depends-on): Likewise.
71247         * modules/wctype (Depends-on): Likewise.
71248         * MODULES.html.sh (Support for building libraries and
71249         executables): Document it.
71250
71251 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71252
71253         * gnulib-tool (SED): Remove, undoing previous change.
71254         The problem was that it broke coreutils on Solaris, because
71255         "sed --posix" leaked into a makefile.
71256         (sed): New alias, if 'alias' and GNU sed.
71257
71258 2006-12-24  Jim Meyering  <jim@meyering.net>
71259
71260         Work around an fchownat bug in glibc-2.4:
71261         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71262         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71263         in spite of the -P option.
71264         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71265         New macros.
71266         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71267         * modules/openat (Files): Add lib/fchownat.c.
71268         * lib/openat.c (fchownat): Don't define here.  Move to...
71269         * lib/fchownat.c: ...this new file.
71270
71271 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71272
71273         Fix bug reported by Bruno Haible in
71274         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71275         where quotearg.c didn't compile on Mac OS X 10.2 because it
71276         lacks <wchar.h> and wint_t.
71277         * lib/wctype_.h (__wctype_wint_t): New type.
71278         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71279         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71280         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71281         Arg is now of type __wctype_wint_t, not wint_t.
71282         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71283         substitute HAVE_WINT_T.
71284         * modules/wctype (Files): Add m4/wint_t.m4.
71285         (wctype.h): Substitute HAVE_WINT_T.
71286
71287 2006-12-23  Bruno Haible  <bruno@clisp.org>
71288
71289         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71290
71291 2006-12-23  Bruno Haible  <bruno@clisp.org>
71292
71293         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71294         S_ISLNK.
71295         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71296         mingw.
71297
71298 2006-12-22  Bruno Haible  <bruno@clisp.org>
71299
71300         * lib/copy-file.c: Include acl.h.
71301         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71302         Close the file descriptors only after being done with copy_acl.
71303         * modules/copy-file (Depends-on): Add acl.
71304
71305 2006-12-22  Bruno Haible  <bruno@clisp.org>
71306
71307         * gnulib-tool (SED): New variable.
71308         Use $SED instead of sed everywhere.
71309
71310 2006-12-22  Bruno Haible  <bruno@clisp.org>
71311
71312         * modules/no-c++: New file.
71313         * m4/no-c++.m4: New file.
71314         * MODULES.html.sh (Support for building libraries and executables):
71315         Add no-c++.
71316
71317 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71320         Include <limits.h>, and use its INT_MAX to rewrite the
71321         j loop so that it does not overflow 'int'.  Problem reported by
71322         Ralf Wildenhues in
71323         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71324         Play it safe by shifting left by 1 rather than multiplying by 2,
71325         as GCC is less likely to optimize this away when the value
71326         is signed (when it assumes overflow leads to undefined behavior).
71327         Also, don't assume time_t uses two's complement.
71328
71329 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71330
71331         * MODULES.html.sh: New module wctype.
71332         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71333         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71334         <wctype.h>, since the new wctype module should fix this.
71335         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71336         the wctype module should arrange for it.
71337         * lib/regex_internal.h: Likewise.
71338         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71339         since the wctype module should handle this now.
71340         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71341         * modules/fnmatch (Depends-on): Add wctype.
71342         * modules/quotearg (Depends-on): Likewise.
71343         * modules/regex (Depends-on): Likewise.
71344
71345 2006-12-19  Bruno Haible  <bruno@clisp.org>
71346
71347         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71348         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71349
71350 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71351
71352         * modules/savewd (Depends-on): Fix dependency on fcntl.
71353
71354 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71355
71356         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71357         conforms to C99, rather than relying on the user's environment
71358         setting of STDINT_H.
71359
71360 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71361         and Eric Blake  <ebb9@byu.net>
71362
71363         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71364         This is more consistent with the other defines here.
71365         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71366         Port to z/OS.  Problem reported by Paul Gilmartin.
71367         Change local vars to use gl_ prefix rather than ac_.
71368         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71369         with other defines.
71370         * modules/double-slash-root: New module.
71371         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71372         (Depends-on): Add double-slash-root.
71373         * MODULES.html.sh (File system functions): Mention new module.
71374
71375 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71376
71377         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71378         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71379         This is for the benefit of gzip, which doesn't do i18n.
71380
71381 2006-12-12  Jim Meyering  <jim@meyering.net>
71382
71383         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71384         Reported by Andreas Schwab <schwab@suse.de>.
71385
71386 2006-12-12  Bruno Haible  <bruno@clisp.org>
71387
71388         Merge these changes.
71389         2006-09-05  Bruno Haible  <bruno@clisp.org>
71390         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71391         iconv_alloc succeeded.
71392         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71393         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
71394         test for " && dest " at the end - dest is always != NULL there. Call
71395         iconv with 4xNULL arguments initially, to reset the state. Call iconv
71396         with 2xNULL arguments, also to flush the state storage. Handle the
71397         IRIX iconv behaviour. Realloc the final result, to throw away unused
71398         memory.
71399
71400 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
71401
71402         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
71403         and fchmodat unconditionally, since glibc 2.4 has them.
71404         Problem reported by Arkadiusz Miskiewicz.
71405
71406 2006-12-10  Bruno Haible  <bruno@clisp.org>
71407
71408         * gnulib-tool (func_import): Show the include files only for those
71409         modules that are copied and specified.
71410         Reported by Karl Berry.
71411
71412 2006-12-08  Jim Meyering  <jim@meyering.net>
71413
71414         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
71415         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
71416
71417         * build-aux/announce-gen: Add two new options, both optional:
71418         --bootstrap-tools=TOOL_LIST
71419               a comma-separated list of tools, e.g.,
71420               autoconf,automake,bison,gnulib
71421         --gnulib-snapshot-date=DATE
71422               if gnulib is in the bootstrap tool list,
71423               then report this as the snapshot date.
71424               If not specified, use the current date/time.
71425               If you specify a date here, be sure it's UTC.
71426
71427 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71428
71429         * tests/test-argp-2.sh: Fix test to match actual output.
71430         (func_compare): Fix sed script to be portable.
71431
71432 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
71433
71434         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
71435         workaround for this case.  It is not autoconfigured now; offhand
71436         it's hard to see how to autoconfigure it.
71437
71438 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
71439
71440         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
71441         a directory that is about to be chowned.  Such a directory's
71442         initial file permissions should permit the owner only and this
71443         should not be changed until after the chown, since the group and
71444         other bits would be incorrect if they granted permission before
71445         the chown.
71446
71447         Fix porting problem for iswctype reported by Georg Schwarz in:
71448         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
71449         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
71450         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
71451         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
71452         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
71453
71454 2006-12-03  Jim Meyering  <jim@meyering.net>
71455
71456         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
71457         p->fts_statp may not yet be defined.
71458         (fts_read): Instead, set it in the caller, once p->fts_statp is
71459         sure to be defined, and corresponds to a top-level directory.
71460         This bug made du -x fail.  Here's the coreutils test case:
71461         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
71462         Reported by Mike Frysinger.
71463
71464 2006-12-01  Jim Meyering  <jim@meyering.net>
71465
71466         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
71467         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
71468         Reported by Simon Josefsson.
71469
71470 2006-11-30  Jim Meyering  <jim@meyering.net>
71471
71472         * m4/warning.m4: Use the all-permissive copyright notice
71473         recommended by RMS (rather than LGPL).
71474         * m4/vararrays.m4: Likewise.
71475         * m4/flexmember.m4: Likewise.
71476
71477 2006-11-29  Bruno Haible  <bruno@clisp.org>
71478
71479         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71480         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
71481         using +=.
71482         Reported by Simon Josefsson <simon@josefsson.org>.
71483
71484 2006-11-28  James Youngman <jay@gnu.org>
71485
71486         * README: Advise users that they might find the bug-gnulib@gnu.org
71487         and autotools-announce@gnu.org mailing lists useful.
71488
71489 2006-11-28  Bruno Haible  <bruno@clisp.org>
71490
71491         * m4/ptrdiff_max.m4: Remove file.
71492
71493 2006-11-21  Bruno Haible  <bruno@clisp.org>
71494
71495         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
71496         _AC_COMPUTE_INT.
71497         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71498         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
71499         _AC_COMPUTE_INT.
71500         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71501         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
71502         _AC_COMPUTE_INT.
71503         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71504
71505 2006-11-28  Jim Meyering  <jim@meyering.net>
71506
71507         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
71508         warning from "gcc -Wshadow" about shadowing the builtin.
71509
71510 2006-11-27  Bruno Haible  <bruno@clisp.org>
71511
71512         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
71513         _AC_COMPUTE_INT.
71514         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71515
71516 2006-11-27  Bruno Haible  <bruno@clisp.org>
71517             Paul Eggert  <eggert@cs.ucla.edu>
71518
71519         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
71520
71521 2006-11-26  Bruno Haible  <bruno@clisp.org>
71522
71523         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71524         noinst_LTLIBRARIES.
71525
71526 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71527             Bruno Haible  <bruno@clisp.org>
71528
71529         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
71530         if compiling with "gcc -ansi".
71531
71532 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71533
71534         Fix some incompatibilities with gcc -ansi -pedantic.
71535         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71536         if compiling pedantically with GCC, unless it's C99 or later.
71537         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71538         it mishandles gcc -ansi -pedantic as well.
71539         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71540         if gcc -pedantic.
71541         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71542         initializers for struct if -pedantic, unless it's C99 or later.
71543
71544 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71545
71546         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71547         Don't close an fd more than once. Identical atimes indicate
71548         success, not failure.
71549
71550 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71551
71552         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71553
71554 2006-11-23  Jim Meyering  <jim@meyering.net>
71555
71556         * build-aux/announce-gen: New file.  From coreutils.
71557
71558 2006-11-22  Jim Meyering  <jim@meyering.net>
71559
71560         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71561         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71562         (fts_read): Use a temporary to narrow the overused st_size member
71563         before using it in a switch statement.  Reported by Matthew Woehlke.
71564
71565         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71566         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71567
71568 2006-11-20  Bruno Haible  <bruno@clisp.org>
71569
71570         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71571         changequote instead of pairs of brackets.
71572         Reported by Andreas Schwab <schwab@suse.de>.
71573
71574 2006-11-21  Jim Meyering  <jim@meyering.net>
71575
71576         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71577         so as to remain compatible with older compilers.
71578         Patch from Michael Deutschmann.
71579
71580 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71581
71582         * MODULES.html.sh (File system functions): Add openat.
71583
71584         * lib/openat.h (rpl_fstatat): New macro, if
71585         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71586         (fstatat): Define to rpl_fstatat under the same conditions,
71587         unless COMPILING_FSTATAT.
71588         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71589         seems to have the bug.
71590         * lib/fstatat.c: New file.
71591         * modules/openat (Files): Add it.
71592
71593 2006-11-20  Bruno Haible  <bruno@clisp.org>
71594
71595         * Makefile: New file.
71596
71597 2006-11-20  Jim Meyering  <jim@meyering.net>
71598
71599         The beginnings of syntax-related checks for gnulib.
71600         * lib/Makefile: New file.
71601         * lib/t-idcache: New script.  Ensure that the two halves of
71602         idcache.c stay in sync.
71603
71604         * lib/idcache.c: Adjust comments in user- and group- portions to
71605         be more accurate, and to be consistent with one another.
71606
71607 2006-11-20  Jim Meyering  <jim@meyering.net>
71608
71609         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71610         continue using the flexible array member (thus, this module performs
71611         half as many malloc calls), with the addition that...
71612         (getgroup, getuser): Consistently record a non-match via an empty
71613         "name" string, and map an empty string match to a NULL return value.
71614         * modules/idcache (Depends-on): Re-add flexmember.
71615
71616         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71617         (getuidbyname, getgroup, getgidbyname): Likewise.
71618
71619         Use cleaner syntax: NULL rather than 0.
71620         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71621
71622 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71623
71624         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71625         It mishandled the case where the group was missing.
71626         Problem reported by Greg Schafer.
71627         * modules/idcache: Likewise.
71628
71629 2006-11-18  Jim Meyering  <jim@meyering.net>
71630
71631         * check-module (%exempt_header): Add exception for some
71632         conditionally-included headers.
71633
71634         * modules/i-ring (Depends-on): Add verify.
71635         (License): Change to LGPL.
71636
71637 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71638
71639         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71640         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71641         and inttostr.h.  Use snprintf rather than uinttostr, so that
71642         LGPLed code doesn't depend on GPLed.
71643
71644 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71645
71646         * modules/inline (License): Change from GPL to LGPL.
71647
71648 2006-11-17  Jim Meyering  <jim@meyering.net>
71649
71650         * modules/d-type (License): Switch to LGPL.
71651
71652 2006-11-15  Bruno Haible  <bruno@clisp.org>
71653
71654         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71655
71656 2006-11-15  Eric Blake  <ebb9@byu.net>
71657
71658         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71659         the module dependency.
71660
71661 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71662             Bruno Haible  <bruno@clisp.org>
71663
71664         * gnulib-tool (func_create_testdir): Add license consistency check.
71665
71666 2006-11-15  Eric Blake  <ebb9@byu.net>
71667
71668         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71669         random "(cached)" in configure output.
71670
71671 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71672
71673         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71674         test for conforming inttypes.h is both announced and cached.
71675
71676         * MODULES.html.sh (seen_modules, seen_files): New variables.
71677         (func_module): Rewrite to use a few less gnulib-tool and sed
71678         invocations.  Avoid a couple of quadratic algorithms for ...
71679         (missed_modules, missed_files): ... these, with ...
71680         (func_append, func_tmpdir): ... these new functions, from
71681         gnulib-tool.  Analogously, install traps for cleanup.
71682
71683         * tests/test-gc.c (main): Remove unused variables.
71684         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71685
71686 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71687
71688         * modules/inttostr (License): Change to LGPL.
71689
71690 2006-11-14  Eric Blake  <ebb9@byu.net>
71691
71692         * modules/tempname (License): Change to LGPL.
71693
71694 2006-11-14  Eric Blake  <ebb9@byu.net>
71695
71696         * doc/functions.texi (Function Portability): *printf functions on
71697         Cygwin now understand all POSIX size specifiers.
71698
71699 2006-11-14  Bruno Haible  <bruno@clisp.org>
71700
71701         * modules/c-ctype (License): Change to LGPL.
71702
71703 2006-11-12  Bruno Haible  <bruno@clisp.org>
71704
71705         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71706         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71707         for GNOME libraries, for which the include files are installed in
71708         subdirectories of $prefix/include.
71709
71710 2006-11-12  Bruno Haible  <bruno@clisp.org>
71711
71712         * m4/lib-link.m4: Require at least autoconf-2.54.
71713         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71714         name to underscores for the --with option.
71715
71716 2006-11-13  Bruno Haible  <bruno@clisp.org>
71717
71718         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71719         the tests directory.
71720         Reported by Ralf Wildenhues.
71721
71722 2006-11-13  Bruno Haible  <bruno@clisp.org>
71723
71724         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71725         (func_emit_initmacro_end): Undo the override here.
71726         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71727         Works around the famous automake error in coreutils.
71728
71729 2006-11-13  Eric Blake  <ebb9@byu.net>
71730
71731         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71732         element, not its node.
71733
71734 2006-11-12  Bruno Haible  <bruno@clisp.org>
71735
71736         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71737         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71738
71739 2006-11-12  Bruno Haible  <bruno@clisp.org>
71740
71741         * gnulib-tool: New option --local-symlink.
71742         (func_usage): Document it.
71743         (lsymbolic): New variable.
71744         (func_import, func_create_testdir): If --symlink was not specified,
71745         test whether --local-symlink was specified and the file comes from
71746         the local_gnulib_dir.
71747
71748 2006-11-12  Bruno Haible  <bruno@clisp.org>
71749
71750         * gnulib-tool (func_ln): New function.
71751         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71752
71753 2006-11-12  Bruno Haible  <bruno@clisp.org>
71754
71755         Finish support for source files in subdirectories.
71756         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71757         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71758         AUTOMAKE_OPTIONS.
71759         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71760
71761 2006-11-12  Bruno Haible  <bruno@clisp.org>
71762
71763         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71764         EXTRA_lib_SOURCES augmentation.
71765         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71766
71767 2006-11-12  Jim Meyering  <jim@meyering.net>
71768
71769         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71770         file descriptors.  This also averts a failure on systems with
71771         native openat support when a traversed directory lacks "x" access.
71772         * lib/fts_.h: Include "i-ring.h"
71773         (struct FTS) [fts_fd_ring]: New member.
71774         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71775         (FCHDIR): Add parentheses.
71776         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71777         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71778         When descending, rather than simply closing the previous
71779         fts_cwd_fd value, push that file descriptor onto the ring.
71780         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71781         (fts_open): Initialize the new fd_ring member.
71782         (fts_close): Clear the ring.
71783         (fts_safe_changedir): When possible, use our new fd_ring to skip
71784         the diropen and fstat and dev/ino comparison that would normally
71785         accompany a virtual `chdir ("..")'.
71786
71787         * modules/fts (Depends-on): Add i-ring.
71788         * modules/i-ring: New module.
71789         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71790         * m4/i-ring.m4: New file.
71791
71792 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71793
71794         * gnulib-tool (func_create_testdir): Fix replacement of
71795         `build-aux' in configure.ac.  Run autotools in gltests
71796         subdirectory.
71797         (func_create_testdir, func_create_megatestdir, test): There is
71798         no need for '--force' in most autotool invocations in a new
71799         tree.  Actually fail the whole test if any of the tools, or the
71800         configure or make stages fail.
71801
71802         Sync from Automake.
71803         * build-aux/gnupload: Revert last change.  Add pointer to upload
71804         instructions of the GNU Maintenance Instructions.
71805         Suggestion by Karl Berry.
71806
71807 2006-11-10  Jim Meyering  <jim@meyering.net>
71808
71809         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71810
71811 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71812
71813         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71814         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71815         (bind_textdomain_codeset) [! ENABLE_NLS]:
71816         Evaluate all the arguments.  That way, callers get compatible behavior
71817         if the arguments have side effects.  Also, it avoids some GCC
71818         diagnostics in some cases; Joel E. Denny reported problems when Bison
71819         was configured with --enable-gcc-warnigs.
71820
71821 2006-11-10  Jim Meyering  <jim@meyering.net>
71822
71823         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71824         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71825         account.
71826
71827 2006-11-10  Jim Meyering  <jim@meyering.net>
71828
71829         * modules/inline: New file/module.
71830         * modules/xalloc (Files): Remove m4/inline.m4.
71831         (Depends-on): Add inline, instead.
71832         * modules/oset: Likewise.
71833         * modules/list: Likewise.
71834
71835 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71836
71837         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71838         Problem reported by Matthew Woehlke.
71839
71840 2006-11-09  Bruno Haible  <bruno@clisp.org>
71841
71842         * lib/tempname.c (gen_tempname): Remove variant that invokes
71843         __gen_tempname.
71844         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71845         __gen_tempname.
71846
71847 2006-11-08  Bruno Haible  <bruno@clisp.org>
71848
71849         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71850         to 'yes' instead of 'cross-compiling'.
71851
71852 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71853
71854         * lib/quotearg.h (quotearg_free): New decl.
71855         * lib/quotearg.c (quotearg_free): New function.
71856         (slot0, nslots, slotvec0, slotvec):
71857         Now file-scope so that quotearg_free can get at them.
71858
71859 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71860
71861         Sync from Automake.
71862         * build-aux/gnupload: Add missing 'gnu' to example URL.
71863         Report by Karl Berry.
71864
71865 2006-11-08  Bruno Haible  <bruno@clisp.org>
71866
71867         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71868         Suggested by Paul Eggert.
71869
71870 2006-11-08  Jim Meyering  <jim@meyering.net>
71871
71872         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71873         It's already included if !_LIBC.
71874         (fts_safe_changedir): Add a comment.
71875
71876 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71877
71878         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71879         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71880         Matthew Woehlke.
71881
71882         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71883         definitions up, to avoid colliding with change below.
71884         (static_inline) [HAVE_INLINE]: New macro.
71885         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71886         Provide extern decls when !HAVE_INLINE.  Do not define unless
71887         static_inline is defined, either by us or by xmalloc.c.  Use
71888         static_inline rather than static inline.
71889         (XCALLOC): Optimize sizeof(T) = 1 case.
71890         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71891
71892 2006-11-07  Bruno Haible  <bruno@clisp.org>
71893
71894         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71895         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71896         AC_C_INLINE.
71897         * modules/xalloc (Files): Add m4/inline.m4.
71898
71899 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71900
71901         * README: Fix typo.
71902         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71903         (Miscellanous Notes): ...from this.
71904
71905 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71906
71907         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
71908         Mention that offsetof should be used instead of sizeof.
71909         From Bruno Haible.
71910
71911 2006-11-07  Bruno Haible  <bruno@clisp.org>
71912
71913         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
71914
71915 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71916
71917         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71918         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
71919         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71920         (gl_tree_add_before, gl_tree_add_after):
71921         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
71922         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
71923         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71924         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
71925         (gl_linked_add_after, gl_linked_add_at): Likewise.
71926         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
71927         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71928         (gl_tree_add_before, gl_tree_add_after): Likewise.
71929         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
71930         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
71931         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
71932
71933 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71934
71935         * lib/gl_oset.h: Use C comment style, not C++ comment style.
71936
71937 2006-11-06  Bruno Haible  <bruno@clisp.org>
71938
71939         * m4/inline.m4: New file.
71940         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
71941         * modules/list (Files): Add m4/inline.m4.
71942         * modules/oset (Files): Likewise.
71943
71944 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71945
71946         * lib/idcache.c: Include <stddef.h>, for offsetof.
71947         (struct userid.name): Change from char * to a flexible array member.
71948         All uses changed.
71949         * modules/idcache (Depends-on): Add flexmember.
71950
71951         * MODULES.html.sh (Core language properties): New module flexmember.
71952         * modules/flexmember, m4/flexmember.m4: New files.
71953
71954         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
71955         inline functions that are identical with the old xnmalloc_inline,
71956         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
71957         that we can avoid some unnecessary integer multiplications and
71958         divisions in the common case where the element size is known at
71959         compile time.
71960         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
71961         needed.
71962         (xnboundedmalloc): Remove.
71963         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
71964         arguments, for consistency with rest of this header.
71965         (xcharalloc): Rewrite using XNMALLOC.
71966         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
71967         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
71968         versions have been moved to lib/xalloc.h and renamed to be the
71969         non-*_inline versions.
71970         (xmalloc, xrealloc): Implement without reference to the xnmalloc
71971         and xnrealloc functions, since those functions are now inline and
71972         now call us.
71973         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
71974         renaming described above.
71975         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
71976         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
71977         captures the dependency in AC_C_INLINE.
71978
71979         New module canonicalize-lgpl, proposed by Charles Wilson in
71980         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
71981         with a few small changes afterwards.
71982         * MODULES.html.sh (File system functions): New module
71983         canonicalize-lgpl.
71984         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
71985         and canonicalize_file_name.
71986         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
71987         * modules/canonicalize-lgpl: New files.
71988
71989 2006-11-05  Bruno Haible  <bruno@clisp.org>
71990
71991         * gnulib-tool (func_import, func_create_testdir): Create directories
71992         also for files in subdirectories of lib/.
71993
71994 2006-11-05  Bruno Haible  <bruno@clisp.org>
71995
71996         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
71997         ANSI C compliant.
71998
71999 2006-11-03  Bruno Haible  <bruno@clisp.org>
72000
72001         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72002         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72003         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72004         (xnboundedmalloc): New inline function.
72005         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72006         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72007         xmalloc.
72008         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72009         xmalloc.
72010         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72011         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72012         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72013         xmalloc.
72014         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72015         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72016         xmalloc.
72017         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72018         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72019         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72020         xmalloc.
72021         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72022         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72023         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72024         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72025         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72026         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72027         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72028
72029 2006-11-03  Bruno Haible  <bruno@clisp.org>
72030
72031         * lib/c-ctype.h [C++]: Define functions without name mangling.
72032         * lib/fwriteerror.h [C++]: Likewise.
72033         * lib/gcd.h [C++]: Likewise.
72034         * lib/linebreak.h [C++]: Likewise.
72035
72036 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72037
72038         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72039         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72040         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72041         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72042         Check for functions and headers just once.
72043         Check for declaration of canonicalize_file_name.
72044         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72045
72046 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72047
72048         * gnulib-tool (func_import): Fix typo in actioncmd.
72049
72050 2006-11-02  Bruno Haible  <bruno@clisp.org>
72051
72052         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72053         newline sequence in the Makefile.am snippet as a space, like "make"
72054         does.
72055         Reported by Roger Persson <perrog@gmail.com>.
72056
72057 2006-11-01  Bruno Haible  <bruno@clisp.org>
72058
72059         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72060         already declared in <string.h>.
72061         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72062
72063 2006-11-01  Bruno Haible  <bruno@clisp.org>
72064
72065         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72066         * lib/strcase.h: Include <string.h>.
72067         (strcasecmp): Define to rpl_strcasecmp here.
72068
72069 2006-11-01  Bruno Haible  <bruno@clisp.org>
72070
72071         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72072
72073 2006-11-01  Eric Blake  <ebb9@byu.net>
72074
72075         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72076
72077         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72078
72079 2006-10-29  Bruno Haible  <bruno@clisp.org>
72080
72081         Make it compile in C++ mode.
72082         * lib/full-write.c (full_rw): Add a cast.
72083
72084 2006-11-01  Bruno Haible  <bruno@clisp.org>
72085
72086         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72087         be POSIX compliant.
72088         Reported by Roger Persson <perrog@gmail.com>.
72089
72090 2006-11-01  Eric Blake  <ebb9@byu.net>
72091
72092         * lib/getopt_.h: Fix comments.
72093
72094 2006-10-31  Eric Blake  <ebb9@byu.net>
72095
72096         * modules/tmpdir (Depends-on): Add sys_stat.
72097         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72098         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72099         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72100         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72101         tempname.
72102
72103 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72104
72105         Avoid some C++ diagnostics reported by Bruno Haible.
72106         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72107         xmalloc.
72108         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72109         (struct slotvec): Move to top level.
72110         (quotearg_n_options): Rewrite to avoid xmalloc.
72111         * lib/xalloc.h (xcharalloc): New function.
72112         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72113         [defined __cplusplus]: Add function template that provides result
72114         type propagation.  This part of the change is from Bruno Haible.
72115
72116 2006-10-29  Bruno Haible  <bruno@clisp.org>
72117
72118         Make it compile in C++ mode.
72119         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72120         * lib/strnlen1.c (strnlen1): Cast memchr result.
72121         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72122         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72123         (create_temp_dir): Rename local variable 'template'.
72124         (compile_csharp_using_sscli): Add cast.
72125         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72126         * lib/findprog.c (find_in_path): Likewise.
72127         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72128         * lib/wait-process.c (register_slave_subprocess): Likewise.
72129
72130 2006-10-22  Bruno Haible  <bruno@clisp.org>
72131
72132         * modules/tsearch: New file.
72133         * lib/tsearch.h: New file.
72134         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72135         * m4/tsearch.m4: New file.
72136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72137
72138 2006-10-29  Eric Blake  <ebb9@byu.net>
72139
72140         * lib/arcfour.c: Assume config.h.
72141         * lib/arctwo.c: Likewise.
72142         * lib/base64.c: Likewise.
72143         * lib/check-version.c: Likewise.
72144         * lib/crc.c: Likewise.
72145         * lib/des.c: Likewise.
72146         * lib/gc-gnulib.c: Likewise.
72147         * lib/gc-libgcrypt.c: Likewise.
72148         * lib/gc-pbkdf2-sha1.c: Likewise.
72149         * lib/getaddrinfo.c: Likewise.
72150         * lib/getdelim.c: Likewise.
72151         * lib/getline.c: Likewise.
72152         * lib/hmac-md5.c: Likewise.
72153         * lib/hmac-sha1.c: Likewise.
72154         * lib/iconvme.c: Likewise.
72155         * lib/md2.c: Likewise.
72156         * lib/md4.c: Likewise.
72157         * lib/memxor.c: Likewise.
72158         * lib/read-file.c: Likewise.
72159         * lib/readline.c: Likewise.
72160         * lib/rijndael-alg-fst.c: Likewise.
72161         * lib/rijndael-api-fst.c: Likewise.
72162         * lib/xgetdomainname.c: Likewise.
72163
72164 2006-10-28  Eric Blake  <ebb9@byu.net>
72165
72166         * lib/xstrndup.c: Assume config.h.
72167
72168 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72169
72170         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72171         stat-macros.h is now for our own macros, whereas stat_h is for
72172         macros in the <sys/stat.h> name space.
72173         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72174         (STAT_MACROS_H): Remove.
72175         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72176         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72177         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72178         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72179         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72180         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72181         Move these macros to ...
72182         * lib/stat_.h: here.  Don't include stat-macros.h.
72183         * lib/canonicalize.c: Don't include stat-macros.h.
72184         * lib/chown.c: Likewise.
72185         * lib/euidaccess.c: Likewise.
72186         * lib/file-type.c: Likewise.
72187         * lib/filemode.c: Likewise.
72188         * lib/glob.c: Likewise.
72189         * lib/isapipe.c: Likewise.
72190         * lib/lchown.c: Likewise.
72191         * lib/lstat.c: Likewise.
72192         * lib/mkdir-p.c: Likewise.
72193         * lib/rmdir.c: Likewise.
72194         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72195         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72196         unless mkdir isn't declared, to speed up 'configure'.
72197         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72198         would define all the S_* symbols.
72199         * modules/canonicalize (Depends-on):
72200         Depend on sys_stat, not stat-macros.
72201         * modules/chown: Likewise.
72202         * modules/euidaccess: Likewise.
72203         * modules/filemode: Likewise.
72204         * modules/file-type: Likewise.
72205         * modules/glob: Likewise.
72206         * modules/isapipe: Likewise.
72207         * modules/lchown: Likewise.
72208         * modules/lstat: Likewise.
72209         * modules/mkancesdirs: Likewise.
72210         * modules/rmdir: Likewise.
72211         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72212         * modules/modechange: Likewise.
72213         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72214         (configure.ac): Remove gl_STAT_MACROS.
72215         * modules/sys_stat (Depends-on): Remove stat-macros.
72216
72217 2006-10-27  Bruno Haible  <bruno@clisp.org>
72218
72219         * m4/signed.m4: Remove file.
72220         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72221         invocation.
72222         * modules/vasnprintf (Files): Remove m4/signed.m4.
72223
72224 2006-10-27  Bruno Haible  <bruno@clisp.org>
72225
72226         Update to GNU gettext 0.16.
72227         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72228         m4/inttypes-h.m4, m4/signed.m4.
72229         * m4/gettext.m4: Update to GNU gettext 0.16.
72230         * m4/intl.m4: New file, from GNU gettext.
72231         * m4/intldir.m4: New file, from GNU gettext.
72232         * config/srclist.txt: Update
72233
72234 2006-10-27  Eric Blake  <ebb9@byu.net>
72235
72236         * MODULES.html.sh: Document tempname.
72237         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72238         dependencies.
72239         (Files): Move lib/tempname.c...
72240         * modules/tempname: ...to this new module.
72241         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72242         (gl_PREREQ_TEMPNAME): Move...
72243         * m4/tempname.m4: ...to this new file.
72244         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72245         * modules/sys_stat (Depends-on): Add stat-macros.
72246         * lib/stat_.h (includes): Pick up stat macros.
72247         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72248         if stat macros are broken.
72249         * lib/tempname.c (includes): No need to include "stat-macros.h".
72250         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72251         (direxists, __path_search) [!_LIBC]: Don't compile these in
72252         gnulib; the tmpdir module covers that.
72253         * lib/tempname.h: New file.
72254
72255 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72256
72257         * COPYING: Explain how gnulib-tool converts licence headers.
72258         Almost all wording by Eric Blake.
72259
72260 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72261
72262         * lib/mbchar.h (is_basic_table): Make read-only.
72263         * lib/mbchar.c (is_basic_table): Likewise.
72264         Reported by John Darrington.
72265
72266 2006-10-25  Bruno Haible  <bruno@clisp.org>
72267
72268         * lib/progname.h (set_program_name): Undefine before defining.
72269
72270 2006-10-25  Bruno Haible  <bruno@clisp.org>
72271
72272         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72273         false for non-gcc C++ compilers.
72274         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72275
72276 2006-10-24  Bruno Haible  <bruno@clisp.org>
72277
72278         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72279         iconv implementations like Irix iconv.
72280
72281 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72282
72283         * modules/vararrays: New file.
72284         * m4/vararrays.m4: New file, taken from diffutils.
72285         * MODULES.html.sh: New module vararrays.
72286
72287 2006-10-24  Karl Berry  <karl@gnu.org>
72288
72289         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72290         Don't call GNU Unix.
72291
72292 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72293
72294         * users.txt: Add Libtool.
72295
72296         Sync from Libtool:
72297
72298         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72299
72300         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72301         to gnulib's policy of including config.h unconditionally.
72302
72303 2006-10-24  Bruno Haible  <bruno@clisp.org>
72304
72305         * modules/wcwidth (Files): Add m4/wint_t.m4.
72306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72307         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72308
72309 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72310
72311         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72312         to pacify GCC with some -W flags enabled.  Problem reported by
72313         Bruno Haible.
72314
72315 2006-10-24  Jim Meyering  <jim@meyering.net>
72316
72317         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72318         Reported by Karl Berry.
72319
72320 2006-10-23  Bruno Haible  <bruno@clisp.org>
72321
72322         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72323
72324 2006-10-24  Bruno Haible  <bruno@clisp.org>
72325
72326         * lib/gl_list.h: Use C comment style, not C++ comment style.
72327
72328 2006-10-23  Eric Blake  <ebb9@byu.net>
72329
72330         * lib/getaddrinfo.c (includes): Add missing include.
72331
72332 2006-10-23  Bruno Haible  <bruno@clisp.org>
72333             Paul Eggert  <eggert@cs.ucla.edu>
72334
72335         Ability to rename obstack_free.
72336         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72337         obstack_free.
72338         (obstack_free): Invoke the __obstack_free macro.
72339         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72340
72341 2006-10-23  Bruno Haible  <bruno@clisp.org>
72342             Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72345         __argc, __argv from the declaration. (They are defined as macros on
72346         mingw.)
72347
72348 2006-10-22  Bruno Haible  <bruno@clisp.org>
72349
72350         * doc/gnulib-intro.texi: New file.
72351         * doc/gnulib.texi: Include it.
72352
72353 2006-10-21  Bruno Haible  <bruno@clisp.org>
72354
72355         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72356         "Introduction", "Miscellanous Notes", "Particular Modules".
72357
72358 2006-10-21  Bruno Haible  <bruno@clisp.org>
72359
72360         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72361         Change mostlyclean-local rule to avoid sh syntax error from bash
72362         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72363
72364 2006-10-23  Jim Meyering  <jim@meyering.net>
72365
72366         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72367         in place of snprintf.
72368
72369         * modules/inttostr (Files): Add lib/uinttostr.c.
72370         * lib/uinttostr.c (inttostr): New file/function.
72371         * lib/inttostr.h (uinttostr): Declare.
72372         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72373         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72374         Add uinttostr.
72375         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72376
72377 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72378
72379         * lib/canonicalize.c (ELOOP): Define if not already defined.
72380         Problem reported by Bruno Haible in
72381         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72382
72383 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72384
72385         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72386         Problem reported by Perry Smith and Ville Laurikari.
72387
72388         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72389         uses.
72390
72391 2006-10-19  Bruno Haible  <bruno@clisp.org>
72392
72393         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
72394         for mingw.
72395
72396 2006-10-19  Bruno Haible  <bruno@clisp.org>
72397
72398         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
72399         Needed for mingw.
72400
72401 2006-10-19  Bruno Haible  <bruno@clisp.org>
72402
72403         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
72404
72405 2006-10-19  Bruno Haible  <bruno@clisp.org>
72406
72407         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
72408         it.
72409
72410 2006-10-19  Bruno Haible  <bruno@clisp.org>
72411
72412         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
72413         invocation.
72414
72415 2006-10-19  Bruno Haible  <bruno@clisp.org>
72416
72417         * gnulib-tool (func_create_testdir): Don't include ftruncate and
72418         mountlist by default.
72419
72420 2006-10-16  Bruno Haible  <bruno@clisp.org>
72421
72422         * lib/c-strstr.c: Include c-strstr.h.
72423
72424 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72425
72426         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
72427         in a slash.
72428
72429 2006-10-18  Bruno Haible  <bruno@clisp.org>
72430
72431         * lib/lock.h [C++]: Wrap definitions in extern "C".
72432
72433 2006-10-18  Bruno Haible  <bruno@clisp.org>
72434
72435         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
72436         gl_LIBOBJS list.
72437
72438 2006-10-18  Bruno Haible  <bruno@clisp.org>
72439
72440         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
72441
72442 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
72443
72444         * lib/xstrtol.h: Include gettext.h.
72445         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
72446         Problem reported by Eric Blake.
72447         * modules/xstrtol (Depends-on): Add gettext-h.
72448
72449 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
72450
72451         * lib/strftime.c (advance): New macro.
72452         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
72453         incomplete type, so you can't add 0 to it.  Problem and patch
72454         reported by Eelco Dolstra for dietlibc.
72455
72456 2006-10-18  Jim Meyering  <jim@meyering.net>
72457
72458         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
72459         type for a local, and rename it: s/up/user_proc/.
72460
72461 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
72462
72463         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
72464         READ_UTMP_USER_PROCESS.
72465         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
72466
72467 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72468
72469         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
72470         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
72471
72472 2006-10-17  Eric Blake  <ebb9@byu.net>
72473
72474         * lib/sigprocmask.c (sigprocmask): Fix typo.
72475
72476         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
72477
72478         * modules/clean-temp (Makefile.am): Don't add to make output...
72479         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
72480         config.h.
72481
72482 2006-10-17  Bruno Haible  <bruno@clisp.org>
72483
72484         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
72485         differently if DEFAULT_TEXT_DOMAIN is set.
72486
72487 2006-10-16  Bruno Haible  <bruno@clisp.org>
72488
72489         * lib/clean-temp.c: Include fwriteerror.h.
72490
72491 2006-10-16  Bruno Haible  <bruno@clisp.org>
72492
72493         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
72494
72495 2006-10-16  Bruno Haible  <bruno@clisp.org>
72496
72497         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
72498         * lib/sigprocmask.h: Include <sys/types.h>.
72499         (sigset_t): Use the system's definition if present.
72500
72501 2006-10-17  Eric Blake  <ebb9@byu.net>
72502
72503         * lib/xvasprintf.c (includes): Assume config.h.
72504         * lib/xasprintf.c (includes): Likewise.
72505
72506 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72507
72508         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
72509         at least as wide as intmax_t.
72510
72511 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
72512
72513         (Imported from Automake.)
72514         * build-aux/gnupload: Update to version 1.1 of directive file.
72515
72516 2006-10-16  Eric Blake  <ebb9@byu.net>
72517
72518         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
72519         match Automake 1.10a.
72520
72521 2006-10-14  Bruno Haible  <bruno@clisp.org>
72522
72523         * modules/sigprocmask: New file.
72524         * lib/sigprocmask.h: New file.
72525         * lib/sigprocmask.c: New file.
72526         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
72527         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
72528         request sigprocmask.o.
72529         (gl_PREREQ_SIGPROCMASK): New macro.
72530         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
72531         (Depends-on): Add sigprocmask.
72532         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72533         gt_SIGNALBLOCKING. Test for 'raise' only once.
72534         * lib/fatal-signal.c: Include sigprocmask.h.
72535         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72536         unblock_fatal_signals): Define always.
72537         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72538         sigprocmask.
72539
72540 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72541
72542         Sync from Automake.
72543         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72544         which incorrectly sets the mode of an existing destination
72545         directory.  In some cases the unpatched install-sh could do the
72546         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72547         system.  We hope this is rare in practice, but it's clearly worth
72548         fixing.  Problem reported by Alex Unleashed in
72549         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72550         Also, don't bother to check for -m bugs unless we're using -m;
72551         suggested by Stepan Kasal.
72552
72553 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72554
72555         Sync from Automake.
72556         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72557         `-c' flag, so they appear at the same position as in %FASTDEP%
72558         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72559         which ignores unknown options only after the first non-option.
72560         Bug report against M4 by Nelson H. F. Beebe.
72561
72562 2006-10-13  Jim Meyering  <jim@meyering.net>
72563
72564         Fix a bug in yesterday's change.
72565         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72566         p->fts_statp->st_dev would be used uninitialized.
72567         Ensures that we always call fts_stat on the very first entry.
72568         Miklos Szeredi reported that find -xdev stopped working.
72569
72570 2006-10-12  Bruno Haible  <bruno@clisp.org>
72571
72572         * gnulib-tool (func_get_automake_snippet): Append an automatically
72573         computed EXTRA_DIST augmentation.
72574         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72575         * modules/alloca-opt (Makefile.am): Likewise.
72576         * modules/allocsa (Makefile.am): Likewise.
72577         * modules/arcfour (Makefile.am): Likewise.
72578         * modules/arctwo (Makefile.am): Likewise.
72579         * modules/argmatch (Makefile.am): Likewise.
72580         * modules/argz (Makefile.am): Likewise.
72581         * modules/atexit (Makefile.am): Likewise.
72582         * modules/backupfile (Makefile.am): Likewise.
72583         * modules/byteswap (Makefile.am): Likewise.
72584         * modules/c-strtod (Makefile.am): Likewise.
72585         * modules/c-strtold (Makefile.am): Likewise.
72586         * modules/calloc (Makefile.am): Likewise.
72587         * modules/canon-host (Makefile.am): Likewise.
72588         * modules/canonicalize (Makefile.am): Likewise.
72589         * modules/chdir-long (Makefile.am): Likewise.
72590         * modules/chdir-safer (Makefile.am): Likewise.
72591         * modules/check-version (Makefile.am): Likewise.
72592         * modules/chown (Makefile.am): Likewise.
72593         * modules/cloexec (Makefile.am): Likewise.
72594         * modules/close-stream (Makefile.am): Likewise.
72595         * modules/closeout (Makefile.am): Likewise.
72596         * modules/crc (Makefile.am): Likewise.
72597         * modules/csharpexec (Makefile.am): Likewise.
72598         * modules/cycle-check (Makefile.am): Likewise.
72599         * modules/des (Makefile.am): Likewise.
72600         * modules/dev-ino (Makefile.am): Likewise.
72601         * modules/dirfd (Makefile.am): Likewise.
72602         * modules/dirname (Makefile.am): Likewise.
72603         * modules/dup2 (Makefile.am): Likewise.
72604         * modules/eealloc (Makefile.am): Likewise.
72605         * modules/error (Makefile.am): Likewise.
72606         * modules/euidaccess (Makefile.am): Likewise.
72607         * modules/exclude (Makefile.am): Likewise.
72608         * modules/exitfail (Makefile.am): Likewise.
72609         * modules/fcntl-safer (Makefile.am): Likewise.
72610         * modules/fcntl (Makefile.am): Likewise.
72611         * modules/file-type (Makefile.am): Likewise.
72612         * modules/fileblocks (Makefile.am): Likewise.
72613         * modules/filemode (Makefile.am): Likewise.
72614         * modules/filenamecat (Makefile.am): Likewise.
72615         * modules/fnmatch (Makefile.am): Likewise.
72616         * modules/fopen-safer (Makefile.am): Likewise.
72617         * modules/fpending (Makefile.am): Likewise.
72618         * modules/fprintftime (Makefile.am): Likewise.
72619         * modules/free (Makefile.am): Likewise.
72620         * modules/fsusage (Makefile.am): Likewise.
72621         * modules/ftruncate (Makefile.am): Likewise.
72622         * modules/fts (Makefile.am): Likewise.
72623         * modules/gc-arcfour (Makefile.am): Likewise.
72624         * modules/gc-des (Makefile.am): Likewise.
72625         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72626         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72627         * modules/gc-md4 (Makefile.am): Likewise.
72628         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72629         * modules/gc-sha1 (Makefile.am): Likewise.
72630         * modules/gc (Makefile.am): Likewise.
72631         * modules/getaddrinfo (Makefile.am): Likewise.
72632         * modules/getcwd (Makefile.am): Likewise.
72633         * modules/getdelim (Makefile.am): Likewise.
72634         * modules/getdomainname (Makefile.am): Likewise.
72635         * modules/getgroups (Makefile.am): Likewise.
72636         * modules/gethostname (Makefile.am): Likewise.
72637         * modules/gethrxtime (Makefile.am): Likewise.
72638         * modules/getline (Makefile.am): Likewise.
72639         * modules/getloadavg (Makefile.am): Likewise.
72640         * modules/getlogin_r (Makefile.am): Likewise.
72641         * modules/getndelim2 (Makefile.am): Likewise.
72642         * modules/getopt (Makefile.am): Likewise.
72643         * modules/getpagesize (Makefile.am): Likewise.
72644         * modules/getpass-gnu (Makefile.am): Likewise.
72645         * modules/getpass (Makefile.am): Likewise.
72646         * modules/getsubopt (Makefile.am): Likewise.
72647         * modules/gettime (Makefile.am): Likewise.
72648         * modules/gettimeofday (Makefile.am): Likewise.
72649         * modules/getugroups (Makefile.am): Likewise.
72650         * modules/getusershell (Makefile.am): Likewise.
72651         * modules/glob (Makefile.am): Likewise.
72652         * modules/group-member (Makefile.am): Likewise.
72653         * modules/hard-locale (Makefile.am): Likewise.
72654         * modules/hash (Makefile.am): Likewise.
72655         * modules/hmac-md5 (Makefile.am): Likewise.
72656         * modules/hmac-sha1 (Makefile.am): Likewise.
72657         * modules/human (Makefile.am): Likewise.
72658         * modules/idcache (Makefile.am): Likewise.
72659         * modules/imaxabs (Makefile.am): Likewise.
72660         * modules/imaxdiv (Makefile.am): Likewise.
72661         * modules/inet_ntop (Makefile.am): Likewise.
72662         * modules/inet_pton (Makefile.am): Likewise.
72663         * modules/intprops (Makefile.am): Likewise.
72664         * modules/inttostr (Makefile.am): Likewise.
72665         * modules/inttypes (Makefile.am): Likewise.
72666         * modules/isapipe (Makefile.am): Likewise.
72667         * modules/javaversion (Makefile.am): Likewise.
72668         * modules/lchmod (Makefile.am): Likewise.
72669         * modules/lchown (Makefile.am): Likewise.
72670         * modules/localcharset (Makefile.am): Likewise.
72671         * modules/long-options (Makefile.am): Likewise.
72672         * modules/lstat (Makefile.am): Likewise.
72673         * modules/malloc (Makefile.am): Likewise.
72674         * modules/mathl (Makefile.am): Likewise.
72675         * modules/mbchar (Makefile.am): Likewise.
72676         * modules/md2 (Makefile.am): Likewise.
72677         * modules/md4 (Makefile.am): Likewise.
72678         * modules/md5 (Makefile.am): Likewise.
72679         * modules/memcasecmp (Makefile.am): Likewise.
72680         * modules/memchr (Makefile.am): Likewise.
72681         * modules/memcmp (Makefile.am): Likewise.
72682         * modules/memcoll (Makefile.am): Likewise.
72683         * modules/memcpy (Makefile.am): Likewise.
72684         * modules/memmem (Makefile.am): Likewise.
72685         * modules/memmove (Makefile.am): Likewise.
72686         * modules/mempcpy (Makefile.am): Likewise.
72687         * modules/memrchr (Makefile.am): Likewise.
72688         * modules/memset (Makefile.am): Likewise.
72689         * modules/memxor (Makefile.am): Likewise.
72690         * modules/mkancesdirs (Makefile.am): Likewise.
72691         * modules/mkdir-p (Makefile.am): Likewise.
72692         * modules/mkdir (Makefile.am): Likewise.
72693         * modules/mkdtemp (Makefile.am): Likewise.
72694         * modules/mkstemp (Makefile.am): Likewise.
72695         * modules/mktime (Makefile.am): Likewise.
72696         * modules/modechange (Makefile.am): Likewise.
72697         * modules/mountlist (Makefile.am): Likewise.
72698         * modules/nanosleep (Makefile.am): Likewise.
72699         * modules/obstack (Makefile.am): Likewise.
72700         * modules/openat (Makefile.am): Likewise.
72701         * modules/pagealign_alloc (Makefile.am): Likewise.
72702         * modules/pathmax (Makefile.am): Likewise.
72703         * modules/physmem (Makefile.am): Likewise.
72704         * modules/poll (Makefile.am): Likewise.
72705         * modules/posixtm (Makefile.am): Likewise.
72706         * modules/posixver (Makefile.am): Likewise.
72707         * modules/putenv (Makefile.am): Likewise.
72708         * modules/quote (Makefile.am): Likewise.
72709         * modules/quotearg (Makefile.am): Likewise.
72710         * modules/raise (Makefile.am): Likewise.
72711         * modules/read-file (Makefile.am): Likewise.
72712         * modules/readline (Makefile.am): Likewise.
72713         * modules/readlink (Makefile.am): Likewise.
72714         * modules/readtokens (Makefile.am): Likewise.
72715         * modules/readutmp (Makefile.am): Likewise.
72716         * modules/realloc (Makefile.am): Likewise.
72717         * modules/regex (Makefile.am): Likewise.
72718         * modules/rename-dest-slash (Makefile.am): Likewise.
72719         * modules/rename (Makefile.am): Likewise.
72720         * modules/rijndael (Makefile.am): Likewise.
72721         * modules/rmdir (Makefile.am): Likewise.
72722         * modules/rpmatch (Makefile.am): Likewise.
72723         * modules/safe-read (Makefile.am): Likewise.
72724         * modules/safe-write (Makefile.am): Likewise.
72725         * modules/same-inode (Makefile.am): Likewise.
72726         * modules/same (Makefile.am): Likewise.
72727         * modules/save-cwd (Makefile.am): Likewise.
72728         * modules/savedir (Makefile.am): Likewise.
72729         * modules/setenv (Makefile.am): Likewise.
72730         * modules/settime (Makefile.am): Likewise.
72731         * modules/sha1 (Makefile.am): Likewise.
72732         * modules/sig2str (Makefile.am): Likewise.
72733         * modules/snprintf (Makefile.am): Likewise.
72734         * modules/stat-macros (Makefile.am): Likewise.
72735         * modules/stat-time (Makefile.am): Likewise.
72736         * modules/stdbool (Makefile.am): Likewise.
72737         * modules/stdint (Makefile.am): Likewise.
72738         * modules/stdlib-safer (Makefile.am): Likewise.
72739         * modules/stpcpy (Makefile.am): Likewise.
72740         * modules/stpncpy (Makefile.am): Likewise.
72741         * modules/strcase (Makefile.am): Likewise.
72742         * modules/strcasestr (Makefile.am): Likewise.
72743         * modules/strchrnul (Makefile.am): Likewise.
72744         * modules/strcspn (Makefile.am): Likewise.
72745         * modules/strdup (Makefile.am): Likewise.
72746         * modules/strerror (Makefile.am): Likewise.
72747         * modules/strftime (Makefile.am): Likewise.
72748         * modules/strndup (Makefile.am): Likewise.
72749         * modules/strnlen (Makefile.am): Likewise.
72750         * modules/strpbrk (Makefile.am): Likewise.
72751         * modules/strsep (Makefile.am): Likewise.
72752         * modules/strstr (Makefile.am): Likewise.
72753         * modules/strtod (Makefile.am): Likewise.
72754         * modules/strtoimax (Makefile.am): Likewise.
72755         * modules/strtok_r (Makefile.am): Likewise.
72756         * modules/strtol (Makefile.am): Likewise.
72757         * modules/strtoll (Makefile.am): Likewise.
72758         * modules/strtoul (Makefile.am): Likewise.
72759         * modules/strtoull (Makefile.am): Likewise.
72760         * modules/strtoumax (Makefile.am): Likewise.
72761         * modules/strverscmp (Makefile.am): Likewise.
72762         * modules/sys_socket (Makefile.am): Likewise.
72763         * modules/sys_stat (Makefile.am): Likewise.
72764         * modules/sysexits (Makefile.am): Likewise.
72765         * modules/time_r (Makefile.am): Likewise.
72766         * modules/timegm (Makefile.am): Likewise.
72767         * modules/timespec (Makefile.am): Likewise.
72768         * modules/tmpfile-safer (Makefile.am): Likewise.
72769         * modules/trim (Makefile.am): Likewise.
72770         * modules/unistd-safer (Makefile.am): Likewise.
72771         * modules/unlinkdir (Makefile.am): Likewise.
72772         * modules/unlocked-io (Makefile.am): Likewise.
72773         * modules/userspec (Makefile.am): Likewise.
72774         * modules/utime (Makefile.am): Likewise.
72775         * modules/utimecmp (Makefile.am): Likewise.
72776         * modules/utimens (Makefile.am): Likewise.
72777         * modules/vasnprintf (Makefile.am): Likewise.
72778         * modules/vasprintf (Makefile.am): Likewise.
72779         * modules/vsnprintf (Makefile.am): Likewise.
72780         * modules/xalloc (Makefile.am): Likewise.
72781         * modules/xgetcwd (Makefile.am): Likewise.
72782         * modules/xnanosleep (Makefile.am): Likewise.
72783         * modules/xreadlink (Makefile.am): Likewise.
72784         * modules/xstrtod (Makefile.am): Likewise.
72785         * modules/xstrtol (Makefile.am): Likewise.
72786         * modules/xstrtold (Makefile.am): Likewise.
72787         * modules/yesno (Makefile.am): Likewise.
72788         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72789
72790 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72791
72792         * modules/error (Makefile.am): Distribute files through
72793         EXTRA_DIST, not lib_SOURCES.
72794
72795 2006-10-12  Eric Blake  <ebb9@byu.net>
72796
72797         * modules/error (Makefile.am): Distribute files in /lib.
72798         * modules/obstack (Makefile.am): Likewise.
72799
72800 2006-10-12  Bruno Haible  <bruno@clisp.org>
72801
72802         * modules/acl (Makefile.am): Distribute all files in lib/ through
72803         EXTRA_DIST.
72804         * modules/arcfour (Makefile.am): Likewise.
72805         * modules/arctwo (Makefile.am): Likewise.
72806         * modules/argmatch (Makefile.am): Likewise.
72807         * modules/argz (Makefile.am): Likewise.
72808         * modules/atexit (Makefile.am): Likewise.
72809         * modules/backupfile (Makefile.am): Likewise.
72810         * modules/c-strtod (Makefile.am): Likewise.
72811         * modules/c-strtold (Makefile.am): Likewise.
72812         * modules/calloc (Makefile.am): Likewise.
72813         * modules/canon-host (Makefile.am): Likewise.
72814         * modules/canonicalize (Makefile.am): Likewise.
72815         * modules/chdir-long (Makefile.am): Likewise.
72816         * modules/chdir-safer (Makefile.am): Likewise.
72817         * modules/check-version (Makefile.am): Likewise.
72818         * modules/chown (Makefile.am): Likewise.
72819         * modules/cloexec (Makefile.am): Likewise.
72820         * modules/close-stream (Makefile.am): Likewise.
72821         * modules/closeout (Makefile.am): Likewise.
72822         * modules/crc (Makefile.am): Likewise.
72823         * modules/cycle-check (Makefile.am): Likewise.
72824         * modules/des (Makefile.am): Likewise.
72825         * modules/dirfd (Makefile.am): Likewise.
72826         * modules/dirname (Makefile.am): Likewise.
72827         * modules/dup2 (Makefile.am): Likewise.
72828         * modules/euidaccess (Makefile.am): Likewise.
72829         * modules/exclude (Makefile.am): Likewise.
72830         * modules/exitfail (Makefile.am): Likewise.
72831         * modules/fcntl-safer (Makefile.am): Likewise.
72832         * modules/file-type (Makefile.am): Likewise.
72833         * modules/fileblocks (Makefile.am): Likewise.
72834         * modules/filemode (Makefile.am): Likewise.
72835         * modules/filenamecat (Makefile.am): Likewise.
72836         * modules/fnmatch (Makefile.am): Likewise.
72837         * modules/fopen-safer (Makefile.am): Likewise.
72838         * modules/fpending (Makefile.am): Likewise.
72839         * modules/fprintftime (Makefile.am): Likewise.
72840         * modules/free (Makefile.am): Likewise.
72841         * modules/fsusage (Makefile.am): Likewise.
72842         * modules/ftruncate (Makefile.am): Likewise.
72843         * modules/fts (Makefile.am): Likewise.
72844         * modules/gc (Makefile.am): Likewise.
72845         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72846         * modules/getaddrinfo (Makefile.am): Likewise.
72847         * modules/getcwd (Makefile.am): Likewise.
72848         * modules/getdelim (Makefile.am): Likewise.
72849         * modules/getdomainname (Makefile.am): Likewise.
72850         * modules/getgroups (Makefile.am): Likewise.
72851         * modules/gethostname (Makefile.am): Likewise.
72852         * modules/gethrxtime (Makefile.am): Likewise.
72853         * modules/getline (Makefile.am): Likewise.
72854         * modules/getloadavg (Makefile.am): Likewise.
72855         * modules/getlogin_r (Makefile.am): Likewise.
72856         * modules/getopt (Makefile.am): Likewise.
72857         * modules/getpass (Makefile.am): Likewise.
72858         * modules/getpass-gnu (Makefile.am): Likewise.
72859         * modules/getsubopt (Makefile.am): Likewise.
72860         * modules/gettime (Makefile.am): Likewise.
72861         * modules/gettimeofday (Makefile.am): Likewise.
72862         * modules/getugroups (Makefile.am): Likewise.
72863         * modules/getusershell (Makefile.am): Likewise.
72864         * modules/glob (Makefile.am): Likewise.
72865         * modules/group-member (Makefile.am): Likewise.
72866         * modules/hard-locale (Makefile.am): Likewise.
72867         * modules/hash (Makefile.am): Likewise.
72868         * modules/hmac-md5 (Makefile.am): Likewise.
72869         * modules/hmac-sha1 (Makefile.am): Likewise.
72870         * modules/human (Makefile.am): Likewise.
72871         * modules/idcache (Makefile.am): Likewise.
72872         * modules/imaxabs (Makefile.am): Likewise.
72873         * modules/imaxdiv (Makefile.am): Likewise.
72874         * modules/inet_ntop (Makefile.am): Likewise.
72875         * modules/inet_pton (Makefile.am): Likewise.
72876         * modules/inttostr (Makefile.am): Likewise.
72877         * modules/isapipe (Makefile.am): Likewise.
72878         * modules/lchown (Makefile.am): Likewise.
72879         * modules/long-options (Makefile.am): Likewise.
72880         * modules/lstat (Makefile.am): Likewise.
72881         * modules/malloc (Makefile.am): Likewise.
72882         * modules/mathl (Makefile.am): Likewise.
72883         * modules/mbchar (Makefile.am): Likewise.
72884         * modules/md2 (Makefile.am): Likewise.
72885         * modules/md4 (Makefile.am): Likewise.
72886         * modules/md5 (Makefile.am): Likewise.
72887         * modules/memcasecmp (Makefile.am): Likewise.
72888         * modules/memchr (Makefile.am): Likewise.
72889         * modules/memcmp (Makefile.am): Likewise.
72890         * modules/memcoll (Makefile.am): Likewise.
72891         * modules/memcpy (Makefile.am): Likewise.
72892         * modules/memmem (Makefile.am): Likewise.
72893         * modules/memmove (Makefile.am): Likewise.
72894         * modules/mempcpy (Makefile.am): Likewise.
72895         * modules/memrchr (Makefile.am): Likewise.
72896         * modules/memset (Makefile.am): Likewise.
72897         * modules/memxor (Makefile.am): Likewise.
72898         * modules/mkancesdirs (Makefile.am): Likewise.
72899         * modules/mkdir (Makefile.am): Likewise.
72900         * modules/mkdir-p (Makefile.am): Likewise.
72901         * modules/mkdtemp (Makefile.am): Likewise.
72902         * modules/mkstemp (Makefile.am): Likewise.
72903         * modules/mktime (Makefile.am): Likewise.
72904         * modules/modechange (Makefile.am): Likewise.
72905         * modules/mountlist (Makefile.am): Likewise.
72906         * modules/nanosleep (Makefile.am): Likewise.
72907         * modules/openat (Makefile.am): Likewise.
72908         * modules/pagealign_alloc (Makefile.am): Likewise.
72909         * modules/physmem (Makefile.am): Likewise.
72910         * modules/poll (Makefile.am): Likewise.
72911         * modules/posixtm (Makefile.am): Likewise.
72912         * modules/posixver (Makefile.am): Likewise.
72913         * modules/putenv (Makefile.am): Likewise.
72914         * modules/quote (Makefile.am): Likewise.
72915         * modules/quotearg (Makefile.am): Likewise.
72916         * modules/raise (Makefile.am): Likewise.
72917         * modules/read-file (Makefile.am): Likewise.
72918         * modules/readline (Makefile.am): Likewise.
72919         * modules/readlink (Makefile.am): Likewise.
72920         * modules/readtokens (Makefile.am): Likewise.
72921         * modules/readutmp (Makefile.am): Likewise.
72922         * modules/realloc (Makefile.am): Likewise.
72923         * modules/regex (Makefile.am): Likewise.
72924         * modules/rename (Makefile.am): Likewise.
72925         * modules/rename-dest-slash (Makefile.am): Likewise.
72926         * modules/rijndael (Makefile.am): Likewise.
72927         * modules/rmdir (Makefile.am): Likewise.
72928         * modules/rpmatch (Makefile.am): Likewise.
72929         * modules/safe-read (Makefile.am): Likewise.
72930         * modules/safe-write (Makefile.am): Likewise.
72931         * modules/same (Makefile.am): Likewise.
72932         * modules/save-cwd (Makefile.am): Likewise.
72933         * modules/savedir (Makefile.am): Likewise.
72934         * modules/setenv (Makefile.am): Likewise.
72935         * modules/settime (Makefile.am): Likewise.
72936         * modules/sha1 (Makefile.am): Likewise.
72937         * modules/sig2str (Makefile.am): Likewise.
72938         * modules/snprintf (Makefile.am): Likewise.
72939         * modules/stdlib-safer (Makefile.am): Likewise.
72940         * modules/stpcpy (Makefile.am): Likewise.
72941         * modules/stpncpy (Makefile.am): Likewise.
72942         * modules/strcase (Makefile.am): Likewise.
72943         * modules/strcasestr (Makefile.am): Likewise.
72944         * modules/strchrnul (Makefile.am): Likewise.
72945         * modules/strcspn (Makefile.am): Likewise.
72946         * modules/strdup (Makefile.am): Likewise.
72947         * modules/strerror (Makefile.am): Likewise.
72948         * modules/strftime (Makefile.am): Likewise.
72949         * modules/strndup (Makefile.am): Likewise.
72950         * modules/strnlen (Makefile.am): Likewise.
72951         * modules/strpbrk (Makefile.am): Likewise.
72952         * modules/strsep (Makefile.am): Likewise.
72953         * modules/strstr (Makefile.am): Likewise.
72954         * modules/strtod (Makefile.am): Likewise.
72955         * modules/strtoimax (Makefile.am): Likewise.
72956         * modules/strtok_r (Makefile.am): Likewise.
72957         * modules/strtol (Makefile.am): Likewise.
72958         * modules/strtoll (Makefile.am): Likewise.
72959         * modules/strtoul (Makefile.am): Likewise.
72960         * modules/strtoull (Makefile.am): Likewise.
72961         * modules/strtoumax (Makefile.am): Likewise.
72962         * modules/strverscmp (Makefile.am): Likewise.
72963         * modules/time_r (Makefile.am): Likewise.
72964         * modules/timegm (Makefile.am): Likewise.
72965         * modules/tmpfile-safer (Makefile.am): Likewise.
72966         * modules/unistd-safer (Makefile.am): Likewise.
72967         * modules/unlinkdir (Makefile.am): Likewise.
72968         * modules/userspec (Makefile.am): Likewise.
72969         * modules/utime (Makefile.am): Likewise.
72970         * modules/utimecmp (Makefile.am): Likewise.
72971         * modules/utimens (Makefile.am): Likewise.
72972         * modules/vasnprintf (Makefile.am): Likewise.
72973         * modules/vasprintf (Makefile.am): Likewise.
72974         * modules/vsnprintf (Makefile.am): Likewise.
72975         * modules/xalloc (Makefile.am): Likewise.
72976         * modules/xgetcwd (Makefile.am): Likewise.
72977         * modules/xnanosleep (Makefile.am): Likewise.
72978         * modules/xreadlink (Makefile.am): Likewise.
72979         * modules/xstrtod (Makefile.am): Likewise.
72980         * modules/xstrtol (Makefile.am): Likewise.
72981         * modules/xstrtold (Makefile.am): Likewise.
72982         * modules/yesno (Makefile.am): Likewise.
72983
72984 2006-10-12  Jim Meyering  <jim@meyering.net>
72985
72986         * m4/getloadavg.m4: Revert the change below.
72987
72988         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
72989         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
72990         fail with a symlink, which is what coreutils' ./bootstrap now
72991         creates by default.
72992
72993 2006-10-12  Bruno Haible  <bruno@clisp.org>
72994
72995         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
72996         mingw.
72997         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
72998         MSVC and mingw explicitly.
72999
73000 2006-10-11  Simon Josefsson  <jas@extundo.com>
73001             Bruno Haible  <bruno@clisp.org>
73002
73003         Add support for multiple gnulib-tool invocations in the scope of a
73004         single configure.ac file.
73005         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73006         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73007         with the same contents as the _LIBADD variable.
73008         (func_emit_initmacro_start, func_emit_initmacro_end,
73009         func_emit_initmacro_done): New functions.
73010         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73011         gl_LIBOBJS and gl_LTLIBOBJS.
73012
73013 2006-10-11  Bruno Haible  <bruno@clisp.org>
73014
73015         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73016         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73017         autoreconf. Instead, invoke autopoint explicitly but move back the
73018         *.m4 files from gnulib.
73019
73020 2006-10-11  Bruno Haible  <bruno@clisp.org>
73021
73022         * gnulib-tool (func_usage): Make module names after --create-testdir
73023         optional.
73024         (func_create_testdir): If no module was specified, use nearly all
73025         modules.
73026
73027 2006-10-12  Jim Meyering  <jim@meyering.net>
73028
73029         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73030         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73031         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73032         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73033         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73034         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73035         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73036         (fts_set_stat_required): New function.
73037         (fts_open): Defer the calls to fts_stat, if possible or requested.
73038         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73039         into fts_stat itself.
73040         (fts_read): Perform any required (deferred) fts_stat call.
73041         (fts_build): Likewise, for the directory we're about to open and read.
73042         In the readdir loop, carefully decide whether each entry will require
73043         an eventual call to fts_stat, using dirent.d_type info if available.
73044         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73045         a command line argument into this function.  Update all callers.
73046         Map a return value of FTS_DOT to FTS_D for a command line argument.
73047         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73048         Thanks to Miklos Szeredi for his tenacity and for the initial
73049         bug report about "find" failing on a FUSE-based file system.
73050
73051         * lib/fts.c (fts_open): Use consistent indentation.
73052
73053 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73054
73055         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73056         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73057         reported by Jim Meyering.  All uses of cache variables renamed
73058         to match Autoconf's.
73059         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73060         the other one.
73061
73062         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73063         Fix misspelling in diagnostic.
73064
73065 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73068         defined.  Problem reported by Matthew Woehlke.
73069
73070         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73071         Add support for Tandem NonStop R series.
73072         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73073         Use new macro.
73074
73075         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73076         (has_trailing_slash): Omit size arg; all callers changed.
73077         Omit 'inline', since it doesn't help performance and we'd
73078         need to configure it.
73079         Don't count //, ///, etc. as having a trailing slash.
73080         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73081         (rpl_rename_dest_slash): On failure, use rename's errno rather
73082         than (in some cases) an incorrect or junk errno.
73083         Simplify code by removing need to compute length; this does
73084         cause it to make two passes instead of one over the file name,
73085         but it's worth it.
73086
73087         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73088         change, since Autoconf's version may no longer be appropriate now
73089         that we are using CVS Autoconf's version.  Add support for Tandem.
73090
73091 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73092             Bruno Haible  <bruno@clisp.org>
73093
73094         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73095         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73096         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73097         gl_AC_TYPE_LONG_LONG.
73098
73099         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73100         instead of HAVE_LONG_LONG.
73101         * lib/printf-args.c (printf_fetchargs): Likewise.
73102         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73103         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73104         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73105         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73106         gl_AC_TYPE_LONG_LONG.
73107
73108 2006-10-11  Bruno Haible  <bruno@clisp.org>
73109
73110         * m4/longlong.m4: Add comments.
73111         * m4/ulonglong.m4: Likewise.
73112
73113 2006-10-10  Bruno Haible  <bruno@clisp.org>
73114
73115         Make it possible to #define stpcpy, strdup to aliases.
73116         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73117         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73118
73119 2006-10-10  Bruno Haible  <bruno@clisp.org>
73120
73121         Make it possible to #define gcd to an alias.
73122         * lib/gcd.c: Include config.h.
73123
73124 2006-10-10  Bruno Haible  <bruno@clisp.org>
73125
73126         Make it possible to #define c_isascii to an alias.
73127         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73128         defined. Undefine the macros before defining them, to avoid gcc
73129         warnings.
73130         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73131         define NO_C_CTYPE_MACROS early.
73132
73133 2006-10-10  Bruno Haible  <bruno@clisp.org>
73134
73135         Make it possible to #define set_program_name to an alias.
73136         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73137         ENABLE_RELOCATABLE early.
73138
73139 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73140
73141         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73142         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73143         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73144         More generally, don't assume that 64-bit signed int is available
73145         if unsigned int is, and vice versa.
73146         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73147         unsigned symbols, not on their signed counterparts.
73148         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73149         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73150         (UINT64_C, UINTMAX_C):
73151         Likewise.
73152         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73153         unsigned counterparts.
73154         (Have_long_long, Unsigned): New macros.
73155         (Int): Renamed from INT.
73156         (strtoimax): Use the new macros.
73157         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73158         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73159         * modules/inttypes (inttypes.h): Substitute
73160         HAVE_UNSIGNED_LONG_LONG_INT.
73161         * modules/stdint (stdint.h): Likewise.
73162         (Files): Add m4/ulonglong.m4.
73163
73164 2006-10-10  Bruno Haible  <bruno@clisp.org>
73165
73166         Fix a gcc -Wshadow warning.
73167         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73168         to 'bucket'.
73169         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73170         gl_linked_indexof_from_to): Likewise.
73171         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73172         Likewise.
73173         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73174         Likewise.
73175         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73176         Reported by Eric Blake.
73177
73178 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73179
73180         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73181         for NetBSD.  Problem reported by Bruno Haible.
73182
73183 2006-10-09  Jim Meyering  <jim@meyering.net>
73184
73185         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73186         Patch from Bruno Haible.
73187
73188 2006-10-09  Jim Meyering  <jim@meyering.net>
73189
73190         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73191         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73192         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73193
73194 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73195
73196         Don't include <config.h> twice; this doesn't work in some cases,
73197         e.g., when config.h has "#define intmax_t long long int" and
73198         we include <config.h>, <inttypes.h>, <config.h> in that order.
73199         Problem reported by Matthew Woehlke in:
73200         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73201         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73202         * lib/fts-cycle.c: Don't include config.h.
73203         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73204         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73205         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73206         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73207         inttypes.h.
73208         * lib/xstrtoumax.c: Likewise.
73209         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73210         __strtol and the like, so that this module is more like its siblings.
73211         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73212         Remove; no longer needed now that we assume gnulib inttypes.h.
73213
73214 2006-10-08  Bruno Haible  <bruno@clisp.org>
73215
73216         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73217         option.
73218
73219 2006-10-07  Jim Meyering  <jim@meyering.net>
73220
73221         * modules/inttypes (inttypes.h): Revert what seems to have been
73222         an inadvertent part of today's change: use "|", not "/" in the
73223         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73224
73225 2006-10-07  Bruno Haible  <bruno@clisp.org>
73226
73227         * modules/sublist: New file.
73228
73229 2006-10-07  Bruno Haible  <bruno@clisp.org>
73230
73231         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73232         * modules/argz (argz.h): Likewise.
73233         * modules/arpa_inet (arpa/inet.h): Likewise.
73234         * modules/byteswap (byteswap.h): Likewise.
73235         * modules/configmake (configmake.h): Likewise.
73236         * modules/fcntl (fcntl.h): Likewise.
73237         * modules/fnmatch (fnmatch.h): Likewise.
73238         * modules/getopt (getopt.h): Likewise.
73239         * modules/glob (glob.h): Likewise.
73240         * modules/inttypes (inttypes.h): Likewise.
73241         * modules/netinet_in (netinet/in.h): Likewise.
73242         * modules/poll (poll.h): Likewise.
73243         * modules/stdbool (stdbool.h): Likewise.
73244         * modules/stdint (stdint.h): Likewise.
73245         * modules/sys_select (sys/select.h): Likewise.
73246         * modules/sys_socket (sys/socket.h): Likewise.
73247         * modules/sys_stat (sys/stat.h): Likewise.
73248         * modules/sysexits (sysexits.h): Likewise.
73249         * modules/unistd (unistd.h): Likewise.
73250         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73251         Add a "DO NOT EDIT" comment to the generated file.
73252         (func_import): Likewise for gnulib-comp.m4.
73253
73254 2006-10-07  Bruno Haible  <bruno@clisp.org>
73255
73256         * lib/gl_sublist.h: New file.
73257         * lib/gl_sublist.c: New file.
73258
73259 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73260
73261         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73262         name (relative to the original working directory) and the file
73263         name component (relative to the temporary working directory).  All
73264         callers changed.
73265         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73266         * lib/mkdir-p.c (make_dir_parents): Likewise.
73267         * lib/mkdir-p.h (make_dir_parents): Likewise.
73268
73269 2006-10-06  Eric Blake  <ebb9@byu.net>
73270
73271         Define several macros for use by the clean-temp module.
73272         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73273         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73274         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73275
73276         * lib/clean-temp.h (close_stream_temp): New declaration.
73277         * lib/clean-temp.c (includes): Pull in headers according to what
73278         other modules are in use.
73279         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73280
73281 2006-10-06  Bruno Haible  <bruno@clisp.org>
73282
73283         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73284         instead of fopen, fwriteerror.
73285
73286 2006-10-06  Bruno Haible  <bruno@clisp.org>
73287
73288         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73289         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73290         int.
73291         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73292         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73293         Return an error indicator.
73294         Suggested by Eric Blake.
73295
73296 2006-10-06  Bruno Haible  <bruno@clisp.org>
73297
73298         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73299         Reported by Eric Blake.
73300
73301 2006-10-06  Bruno Haible  <bruno@clisp.org>
73302
73303         * modules/closeout (Description): Mention stderr too.
73304
73305 2006-10-06  Bruno Haible  <bruno@clisp.org>
73306         and Paul Eggert  <eggert@cs.ucla.edu>
73307
73308         * lib/closeout.c (close_stdout): Also close stderr.
73309         * lib/closeout.h: Update comment.
73310
73311 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73312
73313         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73314         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73315         * lib/dirchownmod.c: Include lchown.h.
73316         * lib/lchown.c: Don't include files that lchown.h now includes.
73317         Don't declare chown, since lchown.h now does that.
73318         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73319         (lchown): Define to rpl_chown if lchown is declared but
73320         does not exist.  Declare using a prototype if lchown is not
73321         declared.  Add a copyright notice.
73322         * lib/mkstemp.h: Include <unistd.h>.
73323         * lib/openat.c: Include lchown.h.
73324
73325         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73326         we now test for that separately.
73327         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73328         rather than O_NOFOLLOW, when testing whether it's possible to
73329         avoid a race condition reliably.
73330         * lib/savewd.c (savewd_chdir): Likewise.
73331
73332         Remove macros that are no longer needed now that stdint.h is
73333         reliable.
73334         * lib/fsusage.c (UINTMAX_MAX): Remove.
73335         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73336         * lib/utimecmp.c (SIZE_MAX): Remove.
73337
73338         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73339
73340         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73341         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73342         O_NOATIME works.
73343
73344 2006-10-05  Bruno Haible  <bruno@clisp.org>
73345
73346         * lib/gl_list.h (gl_sortedlist_search_from_to,
73347         gl_sortedlist_indexof_from_to): New declarations.
73348         (gl_list_implementation): New fields sortedlist_search_from_to,
73349         sortedlist_indexof_from_to.
73350         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73351         inline functions.
73352         * lib/gl_list.c (gl_sortedlist_search_from_to,
73353         gl_sortedlist_indexof_from_to): New functions.
73354         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73355         function.
73356         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73357         (gl_array_sortedlist_search_from_to): New function.
73358         (gl_array_list_implementation): Update.
73359         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73360         function.
73361         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73362         (gl_carray_sortedlist_search_from_to): New function.
73363         (gl_carray_list_implementation): Update.
73364         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73365         gl_linked_sortedlist_indexof_from_to): New functions.
73366         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73367         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73368         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73369         gl_tree_sortedlist_indexof_from_to): New functions.
73370         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73371         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73372         Update.
73373         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73374         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73375         Update.
73376
73377 2006-10-05  Bruno Haible  <bruno@clisp.org>
73378
73379         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73380         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73381         (struct gl_list_implementation): Add fields search_from_to,
73382         indexof_from_to. Remove fields search, indexof.
73383         (gl_list_search): Use the search_from_to method.
73384         (gl_list_search_from, gl_list_search_from_to): New functions.
73385         (gl_list_indexof): Use the indexof_from_to method.
73386         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73387         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73388         (gl_list_search_from, gl_list_search_from_to): New functions.
73389         (gl_list_indexof): Use the indexof_from_to method.
73390         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73391         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73392         gl_array_indexof. Add start_index, end_index arguments.
73393         (gl_array_search_from_to): Renamed from gl_array_search. Add
73394         start_index, end_index arguments.
73395         (gl_array_remove, gl_array_list_implementation): Update.
73396         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
73397         gl_carray_indexof. Add start_index, end_index arguments.
73398         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
73399         start_index, end_index arguments.
73400         (gl_carray_remove, gl_carray_list_implementation): Update.
73401         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
73402         gl_linked_search. Add start_index, end_index arguments.
73403         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
73404         start_index, end_index arguments.
73405         (gl_linked_remove): Update.
73406         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73407         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73408         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
73409         field to 'size_t'.
73410         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
73411         gl_tree_search. Add start_index, end_index arguments.
73412         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73413         start_index, end_index arguments.
73414         (gl_tree_remove): Update.
73415         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73416         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73417         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
73418         function.
73419         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
73420         gl_tree_search. Add start_index, end_index arguments.
73421         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73422         start_index, end_index arguments.
73423         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73424         Update.
73425         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
73426
73427 2006-10-05  Bruno Haible  <bruno@clisp.org>
73428
73429         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
73430
73431         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
73432         fwriteerror_temp): New declarations.
73433         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
73434         (descriptors): New variable.
73435         (cleanup): First, close the descriptors.
73436         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
73437         fclose_temp, fwriteerror_temp): New functions.
73438
73439 2006-10-04  Jim Meyering  <jim@meyering.net>
73440
73441         * lib/fts.c (fts_open): Tiny comment change.
73442
73443 2006-10-04  Bruno Haible  <bruno@clisp.org>
73444
73445         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
73446         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
73447         gl_LOCK_BODY.
73448         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
73449         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
73450         gl_LOCK_EARLY_BODY.
73451         (gl_LOCK): Require gl_LOCK_BODY.
73452
73453 2006-10-04  Bruno Haible  <bruno@clisp.org>
73454
73455         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
73456         (gl_oset_search_atleast): New declaration.
73457         (struct gl_oset_implementation): Add field 'search_atleast'.
73458         (gl_oset_search_atleast): New inline function.
73459         * lib/gl_oset.c (gl_oset_search_atleast): New function.
73460         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
73461         (gl_array_oset_implementation): Update.
73462         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
73463         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
73464         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
73465
73466 2006-10-04  Bruno Haible  <bruno@clisp.org>
73467
73468         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
73469
73470 2006-10-03  Bruno Haible  <bruno@clisp.org>
73471
73472         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
73473         from gl_avltreehash_list_implementation.
73474
73475 2006-10-03  Bruno Haible  <bruno@clisp.org>
73476
73477         * lib/gl_oset.c (gl_oset_add): Fix return type.
73478
73479 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
73480
73481         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
73482
73483 2006-10-02  Eric Blake  <ebb9@byu.net>
73484
73485         * modules/strnlen (Depends-on): Add extensions.
73486
73487 2006-10-02  Eric Blake  <ebb9@byu.net>
73488
73489         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
73490         definition in 2.60+.
73491
73492 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
73493
73494         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
73495         checks.
73496
73497 2006-10-02  Bruno Haible  <bruno@clisp.org>
73498
73499         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
73500         to the AUTOMAKE_OPTIONS.
73501         Reported by Jim Meyering.
73502
73503 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73504
73505         Work around bug in Solaris 10 /proc file system:
73506         /proc/self/fd/NNN/.. isn't the parent directory of
73507         the directory whose file descriptor is NNN.  This needs to
73508         be worked around at run time, not compile time, since a
73509         program might be built on Solaris 8, where things work, and
73510         run on Solaris 10.
73511         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
73512         to use the following interface instead:
73513         (OPENAT_BUFFER_SIZE): New macro.
73514         (openat_proc_name): New function.
73515         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
73516         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
73517         Likewise.
73518         * lib/openat-proc.c: New file.
73519         * modules/openat (Files): Add lib/openat-proc.c.
73520         (Depends-on): Add same-inode, stdbool.
73521         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
73522
73523 2006-09-29  Bruno Haible  <bruno@clisp.org>
73524
73525         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
73526         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
73527         argument. Set stdout_closed before testing for ferror, not after.
73528         (fwriteerror, fwriteerror_no_ebadf): New functions.
73529
73530 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73531
73532         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73533
73534 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73535
73536         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73537         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73538
73539 2006-09-28  Jim Meyering  <jim@meyering.net>
73540
73541         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73542         Include <unistd.h>.
73543
73544 2006-09-28  Bruno Haible  <bruno@clisp.org>
73545
73546         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73547         * modules/linkedhash-list (Depends-on): Likewise.
73548         * modules/rbtreehash-list (Depends-on): Likewise.
73549
73550 2006-09-28  Bruno Haible  <bruno@clisp.org>
73551
73552         * lib/strndup.h: Simplify the redefinition of strndup.
73553         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73554         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73555
73556 2006-09-28  Bruno Haible  <bruno@clisp.org>
73557
73558         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73559         * lib/gl_linkedhash_list.c: Likewise.
73560         * lib/gl_rbtreehash_list.c: Likewise.
73561
73562 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73563
73564         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73565         getaddrinfo.
73566
73567         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73568         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73569         it causes <stdio_ext.h> to cause a compile-time error.
73570         Problem reported by Nelson H. F. Beebe.
73571         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73572         of HAVE_DECL___PENDING.
73573
73574         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73575         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73576         declaration.
73577
73578 2006-09-27  Jim Meyering  <jim@meyering.net>
73579
73580         This file could end up with a definition for a function
73581         named __strndup, rather than rpl_strndup on a system with
73582         incomplete weak_alias support.
73583         * lib/strndup.c (strndup): Rename from __strndup.
73584         Remove #defines that used to map __strndup to strndup.
73585         Don't use K&R prototypes.
73586         Remove LIBC-related code, since this file is not sync'd with glibc.
73587         * lib/strndup.h: Revamp, accordingly.
73588         * m4/strndup.m4: Modernize.
73589
73590 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73591
73592         * modules/savewd (Depends-on): Add 'raise'.
73593         * lib/savewd.c: Include <signal.h>, for 'raise'.
73594
73595 2006-09-26  Jim Meyering  <jim@meyering.net>
73596
73597         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73598         when we detect Darwin 8.7.0's acl_get_file bug.
73599         Rearrange to perform the new (below) run-test while $LIBS
73600         contains any acl-related library.  Set USE_ACL at the end.
73601         (gl_ACL_GET_FILE): New function.
73602
73603 2006-09-26  Eric Blake  <ebb9@byu.net>
73604
73605         * lib/verror.c: Include <config.h> unconditionally.
73606
73607 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73608
73609         * modules/clock-time (Maintainer): Add self.
73610         * modules/getlogin_r (Depends-on): Add extensions.
73611
73612 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73613
73614         * modules/clock-time: New module.
73615         * modules/nanosleep (Depends-on): Add clock-time.
73616         * modules/gethrxtime (Depends-on): Likewise.
73617         * modules/gettime (Depends-on): Likewise.
73618         * modules/settime (Depends-on): Likewise.
73619
73620         * modules/fts-lgpl: Depend on openat.
73621         * modules/mkancesdirs: Depend on savewd.
73622         * modules/mkdir-p: Likewise.
73623
73624 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73625
73626         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73627
73628         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73629         `gl_have_arbitrary_file_name_length_limit' to
73630         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73631         actually works between configure runs.
73632
73633 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73634             Bruno Haible  <bruno@clisp.org>
73635
73636         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73637
73638 2006-09-25  Jim Meyering  <jim@meyering.net>
73639
73640         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73641         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73642
73643 2006-09-25  Eric Blake  <ebb9@byu.net>
73644
73645         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73646         exec's in 2006-09-18 patch when shuffling fds.
73647
73648 2006-09-25  Bruno Haible  <bruno@clisp.org>
73649
73650         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73651         Reported by Jim Meyering.
73652
73653 2006-09-24  Jim Meyering  <jim@meyering.net>
73654
73655         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73656         compare a pointer against a literal "0".  That caused failures with
73657         at least HP-UX's hpcc.
73658
73659 2006-09-22  Simon Josefsson  <jas@extundo.com>
73660
73661         * modules/gc-sha1:
73662         * modules/gc-md4:
73663         * modules/gc-hmac-sha1:
73664         * modules/gc-hmac-md5:
73665         * modules/gc-des:
73666         * modules/gc-arcfour: Distribute more files.
73667
73668 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73669
73670         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73671         (gl_linked_iterator_from_to): Initialize struct completely.
73672         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73673         (gl_tree_iterator_from_to): Likewise
73674         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73675         * lib/gl_array_list.c [lint] (gl_array_iterator)
73676         (gl_array_iterator_from_to): Likewise.
73677         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73678         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73679         (gl_carray_iterator_from_to): Likewise.
73680
73681         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73682         * lib/md4.c (md4_process_block): Remove unused variable.
73683         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73684         parentheses for clarity.
73685
73686 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73687
73688         * modules/bison-i18n (Depends-on): Add gettext.
73689
73690 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73691
73692         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73693         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73694         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73695         also add missing comma that caused broken test.
73696         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73697         stdlib.h, for `abort'.
73698         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73699         variables.
73700         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73701         include unistd.h if present, for `rmdir'.
73702         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73703         variables.
73704         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73705         in the process include standard headers for prototypes.
73706         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73707         gets declared on GNU/Linux.
73708         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73709         unistd.h, for `rmdir'.
73710         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73711
73712         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73713         always true.
73714         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73715
73716         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73717
73718 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73719
73720         * gnulib-tool (func_version): Create output all at once.  This
73721         may help avoid triggering unnecessary SIGPIPEs, and at any
73722         rate it doesn't hurt.
73723
73724 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73725             Bruno Haible  <bruno@clisp.org>
73726
73727         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73728         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73729         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73730
73731         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73732         (gl_FUNC_VASPRINTF): Invoke it.
73733
73734 2006-09-22  Bruno Haible  <bruno@clisp.org>
73735
73736         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73737         getloadavg.c as first argument.
73738
73739 2006-09-22  Bruno Haible  <bruno@clisp.org>
73740
73741         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73742         at the beginning of the gl_INIT macro.
73743         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73744         gl_GETLOADAVG.
73745
73746 2006-09-22  Bruno Haible  <bruno@clisp.org>
73747
73748         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73749         module.
73750         Suggested by Ralf Wildenhues.
73751
73752 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73753
73754         Import this patch from libc:
73755
73756         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73757
73758         * lib/regex_internal.c (re_string_reconstruct): Handle
73759         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73760         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73761         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73762         re_string_context_at.
73763
73764         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73765         now requires it.
73766         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73767         gl_REGEX now does it for us.
73768         (gl_REGEX): Add test taken from
73769         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73770
73771         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73772         Check that large offsets work.  Modernize Autoconf usages.
73773         Prefer "yes" to mean a good thing rather than a bad.
73774         Don't put "#define mkstemp" in config.h, as this might interfere
73775         with standard system headers that "#define mkstemp mkstemp64".
73776
73777         * modules/mkstemp (Depends-on): Add extensions, so that
73778         mkstemp is visible on some platforms.
73779         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73780         (Include): Change to "mkstemp.h" from <stdlib.h>.
73781         (Files): Add mkstemp.h.
73782
73783         * lib/mkstemp.h: New file, since some standard headers
73784         #define mkstemp.
73785         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73786         Include "mkstemp.h".
73787         Make the _LIBC code resemble glibc original more,
73788         e.g., use K&R style.
73789         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73790         (mkstemp): Remove, since mkstemp.h does this for us.
73791         * lib/stdlib--.h: Include mkstemp.h.
73792
73793         Import this patch from libc:
73794
73795         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73796
73797         * lib/tempname.c (__gen_tempname): Change attempts_min
73798         into a macro.  Use preprocessor to decide how to initialize
73799         attempts [Coverity CID 67].
73800
73801 2006-09-20  Bruno Haible  <bruno@clisp.org>
73802
73803         * lib/mkdtemp.c: Import from libc.
73804         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73805                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73806                 attempts_min into a macro.  Use preprocessor to decide how to
73807                 initialize attempts [Coverity CID 67].
73808         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73809                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73810                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73811
73812 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73813
73814         * gnulib-tool (func_exit): New function, to allow to pass the
73815         exit status portably through the trap.  Use everywhere.
73816         (--help, --version): Signal a write error.
73817         (trap): catch SIGPIPE, for write errors.
73818         Exit at the end of the trap, with the correct exit status.
73819
73820 2006-09-19  Karl Berry  <karl@gnu.org>
73821
73822         * doc/gnulib.texi: note about the license texinfo files.
73823
73824 2006-09-19  Eric Blake  <ebb9@byu.net>
73825
73826         * gnulib-tool: Avoid space-tab.
73827
73828 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73829
73830         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73831         that prevented coreutils 6.1 from building.  Problem reported
73832         by Petter Reinholdtsen.
73833
73834 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73835
73836         * gnulib-tool (avoidlist): Fix typo that broke options like
73837         --avoid=lock that are used by coreutils bootstrap.
73838
73839 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73840
73841         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73842         more systematically.
73843
73844 2006-09-18  Jim Meyering  <jim@meyering.net>
73845
73846         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73847
73848 2006-09-18  Bruno Haible  <bruno@clisp.org>
73849
73850         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73851
73852 2006-09-18  Bruno Haible  <bruno@clisp.org>
73853
73854         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73855         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73856         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73857         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73858         * m4/gettext.m4: Require autoconf >= 2.52.
73859         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73860         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73861         of gl_cv_header_inttypes_h.
73862
73863 2006-09-18  Bruno Haible  <bruno@clisp.org>
73864
73865         * lib/javaversion.c: Include configmake.h.
73866
73867 2006-09-18  Bruno Haible  <bruno@clisp.org>
73868
73869         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73870         avoid that the while loops be executed in a subshell.
73871
73872 2006-09-18  Bruno Haible  <bruno@clisp.org>
73873
73874         * MODULES.html.sh (func_module): Break long lines.
73875         Suggested by Bruce Korb <bkorb@gnu.org>.
73876
73877 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73878
73879         Speed up by a factor of 1.12.
73880         * gnulib-tool (nl): New variable.
73881         (func_import): Rewrite include directive extraction to only read each
73882         directive once.
73883
73884 2006-09-17  Bruno Haible  <bruno@clisp.org>
73885
73886         * modules/javaversion (Makefile.am): Remove DEFS setting.
73887         (Depends-on): Add configmake, for PKGDATADIR definition.
73888
73889 2006-09-17  Bruno Haible  <bruno@clisp.org>
73890
73891         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73892
73893 2006-09-17  Bruno Haible  <bruno@clisp.org>
73894
73895         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73896         (func_modules_transitive_closure, func_modules_add_dummy,
73897         func_modules_to_filelist, func_import, func_create_testdir,
73898         func_create_megatestdir, ...): Use it wherever possible.
73899         Suggested by Ralf Wildenhues.
73900
73901 2006-09-16  Karl Berry  <karl@gnu.org>
73902
73903         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
73904         to avoid sectioning errors.
73905         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
73906         [ifinfo]: blank line after @center-ed titles.
73907         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
73908         Spell FSF address consistently with others.
73909         (These changes approved by rms.)
73910
73911 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73912
73913         Speed up by a factor of 1.61.
73914         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
73915         already checked module names again.
73916
73917 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73918
73919         Speed up by a factor of 1.13.
73920         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
73921         for new_files, and the input to func_add_or_update.
73922
73923 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73924
73925         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
73926         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
73927
73928 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73929
73930         * modules/mkancesdirs (Depends-on): Add fcntl.
73931         * modules/savewd: New file.
73932         * MODULES.html.sh (File system functions): Add savewd.
73933
73934         * modules/configmake (Makefile.am): Add support for the
73935         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
73936
73937 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73938
73939         * m4/savewd.m4: New file.
73940
73941 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73942
73943         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
73944         (dirchownmod): New arg FD.  All callers changed.
73945         Use FD rather than opening the directory ourself, as opening is
73946         now the caller's responsibility.
73947         * lib/dirchownmod.h: Likewise.
73948         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
73949         hosts that require <sys/types.h> before <sys/stat.h>.  Include
73950         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
73951         (test_dir): Remove.
73952         (mkancesdirs): Return length of prefix of FILE that has already
73953         been made, or -2 if there is a child doing the work.  Redo
73954         algorithm so that it is O(N) rather than O(N**2).  Optimize away
73955         ".", and treat ".." specially since it might stray back into
73956         already-created areas.  Use a subprocess if necessary.  New arg
73957         WD; all users changed.  MAKE_DIR function should now return 1
73958         if it creates a directory that is not readable.  Return -2 if
73959         a child process is spun off.
73960         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
73961         Adjust signature to match code.
73962         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
73963         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
73964         all users changed.
73965         * lib/savewd.c, lib/savewd.h: New files.
73966
73967 2006-09-15  Jim Meyering  <jim@meyering.net>
73968
73969         * modules/rename-dest-slash: New module.
73970         * MODULES.html.sh (posix_compat): Add it here.
73971
73972         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
73973
73974 2006-09-15  Jim Meyering  <jim@meyering.net>
73975
73976         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
73977         file.
73978
73979         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
73980
73981 2006-09-15  Jim Meyering  <jim@meyering.net>
73982
73983         * lib/rename-dest-slash.c (has_trailing_slash): Use
73984         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
73985         (rpl_rename_dest_slash): Perform the cheaper trailing slash
73986         test before testing whether SRC is a directory.
73987         Suggestions from Bruno Haible.
73988
73989         Avoid a warning about an unused variable.
73990         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
73991         into the #ifdef block where it's used.
73992
73993         * lib/rename-dest-slash.c: New file.
73994
73995 2006-09-14  Bruno Haible  <bruno@clisp.org>
73996
73997         * lib/allocsa.c: Include <config.h> unconditionally.
73998         * lib/asnprintf.c: Likewise.
73999         * lib/asprintf.c: Likewise.
74000         * lib/c-strcasecmp.c: Likewise.
74001         * lib/c-strcasestr.c: Likewise.
74002         * lib/c-strncasecmp.c: Likewise.
74003         * lib/c-strstr.c: Likewise.
74004         * lib/classpath.c: Likewise.
74005         * lib/clean-temp.c: Likewise.
74006         * lib/concatpath.c: Likewise.
74007         * lib/copy-file.c: Likewise.
74008         * lib/csharpcomp.c: Likewise.
74009         * lib/csharpexec.c: Likewise.
74010         * lib/execute.c: Likewise.
74011         * lib/fatal-signal.c: Likewise.
74012         * lib/findprog.c: Likewise.
74013         * lib/fwriteerror.c: Likewise.
74014         * lib/gl_array_list.c: Likewise.
74015         * lib/gl_array_oset.c: Likewise.
74016         * lib/gl_avltree_list.c: Likewise.
74017         * lib/gl_avltree_oset.c: Likewise.
74018         * lib/gl_avltreehash_list.c: Likewise.
74019         * lib/gl_carray_list.c: Likewise.
74020         * lib/gl_linked_list.c: Likewise.
74021         * lib/gl_linkedhash_list.c: Likewise.
74022         * lib/gl_list.c: Likewise.
74023         * lib/gl_oset.c: Likewise.
74024         * lib/gl_rbtree_list.c: Likewise.
74025         * lib/gl_rbtree_oset.c: Likewise.
74026         * lib/gl_rbtreehash_list.c: Likewise.
74027         * lib/imaxabs.c: Likewise.
74028         * lib/imaxdiv.c: Likewise.
74029         * lib/javacomp.c: Likewise.
74030         * lib/javaexec.c: Likewise.
74031         * lib/javaversion.c: Likewise.
74032         * lib/linebreak.c: Likewise.
74033         * lib/localcharset.c: Likewise.
74034         * lib/lock.c: Likewise.
74035         * lib/mbchar.c: Likewise.
74036         * lib/mbswidth.c: Likewise.
74037         * lib/mkdtemp.c: Likewise.
74038         * lib/pipe.c: Likewise.
74039         * lib/printf-args.c: Likewise.
74040         * lib/printf-parse.c: Likewise.
74041         * lib/progname.c: Likewise.
74042         * lib/progreloc.c: Likewise.
74043         * lib/readlink.c: Likewise.
74044         * lib/sh-quote.c: Likewise.
74045         * lib/stpcpy.c: Likewise.
74046         * lib/stpncpy.c: Likewise.
74047         * lib/strcasecmp.c: Likewise.
74048         * lib/strcasestr.c: Likewise.
74049         * lib/strcspn.c: Likewise.
74050         * lib/striconv.c: Likewise.
74051         * lib/strncasecmp.c: Likewise.
74052         * lib/strnlen1.c: Likewise.
74053         * lib/strstr.c: Likewise.
74054         * lib/strtok_r.c: Likewise.
74055         * lib/tls.c: Likewise.
74056         * lib/tmpdir.c: Likewise.
74057         * lib/unicodeio.c: Likewise.
74058         * lib/unsetenv.c: Likewise.
74059         * lib/vasnprintf.c: Likewise.
74060         * lib/vasprintf.c: Likewise.
74061         * lib/wait-process.c: Likewise.
74062         * lib/xallocsa.c: Likewise.
74063         * lib/xsetenv.c: Likewise.
74064         * lib/xstriconv.c: Likewise.
74065
74066 2006-09-13  Simon Josefsson  <jas@extundo.com>
74067
74068         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74069         that internally, suggested by Ralf Wildenhues
74070         <Ralf.Wildenhues@gmx.de>.
74071
74072 2006-09-13  Simon Josefsson  <jas@extundo.com>
74073
74074         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74075         @LIBOBJS@.
74076         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74077
74078 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74079
74080         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74081         longer worry about uses that don't define HAVE_CONFIG_H.
74082         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74083         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74084         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74085         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74086         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74087         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74088         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74089         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74090         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74091         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74092         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74093         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74094         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74095         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74096         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74097         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74098         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74099         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74100         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74101         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74102         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74103         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74104         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74105         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74106         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74107         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74108         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74109         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74110         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74111         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74112         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74113         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74114         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74115         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74116         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74117         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74118         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74119         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74120         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74121         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74122         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74123         Likewise.
74124
74125 2006-09-13  Eric Blake  <ebb9@byu.net>
74126
74127         * lib/getopt.c: Fix typo in last commit.
74128
74129 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74130
74131         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74132         dgettext.
74133
74134 2006-09-12  Jim Meyering  <jim@meyering.net>
74135
74136         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74137         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74138         Reported by Nelson H. F. Beebe.
74139
74140 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74141
74142         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74143         program_invocation_name and program_invocation_short_name are
74144         initialized.
74145         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74146         and program_invocation_short_name to argp.h, so they are visible
74147         to user programs.
74148         * lib/argp.h: Likewise
74149
74150 2006-09-10  Bruno Haible  <bruno@clisp.org>
74151
74152         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74153         m4/inttypes_h.m4, m4/uintmax_t.m4.
74154
74155 2006-09-10  Bruno Haible  <bruno@clisp.org>
74156
74157         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74158         gl_AC_TYPE_UINTMAX_T.
74159
74160 2006-09-10  Bruno Haible  <bruno@clisp.org>
74161
74162         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74163
74164 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74165
74166         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74167         convention.  Text proposed by Bruno Haible.
74168         (struct argp_option): Document the use of N_() wrappers.
74169
74170         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74171         '\v', and translate the two parts separately, instead of feeding
74172         the whole string to gettext.  This allows to exclude
74173         '\v' from the strings visible to the translator by writing doc
74174         strings as N_("..") "\v" N_("..").
74175
74176 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74177
74178         * config/srclist.txt: Undo latest change; the bug was fixed.
74179
74180 2006-09-09  Bruno Haible  <bruno@clisp.org>
74181
74182         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74183         assignments if building a library without libtool.
74184         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74185         in func_emit_lib_Makefile_am.
74186         (func_import): When building a static library libfoo.a, arrange to
74187         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74188         (func_create_testdir): Likewise.
74189         * modules/gc (configure.ac, Makefile.am): If building statically,
74190         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74191         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74192         * modules/striconv (configure.ac, Makefile.am): Likewise.
74193         Based on a suggestion by Ralf Wildenhues.
74194
74195 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74196
74197         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74198         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74199         Also:
74200
74201         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74202         Add year_2050_test to catch glibc bug 2821
74203         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74204
74205         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74206         Prefer #ifdef to #if.
74207
74208         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74209         Return from 'main' instead of calling 'exit'.
74210
74211 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74212
74213         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74214         returned the maximum time_t value rather than (time_t) -1.
74215         Problem originally reported by William Bardwell
74216         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74217
74218         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74219         Moved to here ...
74220         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74221         ... from here.
74222
74223 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74224
74225         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74226         2821 is fixed.
74227
74228 2006-09-08  Jim Meyering  <jim@meyering.net>
74229
74230         Don't make generated files read-only.  That would bother too many
74231         people.  However, do retain the ability to work when targets are
74232         read-only: remove the destination and temporary files before writing
74233         them (when generated via sed or echo), or by using the -f option for
74234         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74235         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74236         * modules/byteswap, modules/configmake, modules/fcntl:
74237         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74238         * modules/localcharset, modules/netinet_in, modules/poll:
74239         * modules/stdbool, modules/stdint, modules/sys_select:
74240         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74241
74242 2006-09-08  Jim Meyering  <jim@meyering.net>
74243
74244         Avoid new build failure on FreeBSD 6.0.
74245         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74246         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74247         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74248
74249 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74250
74251         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74252
74253 2006-09-07  Jim Meyering  <jim@meyering.net>
74254
74255         Fix global typo in last change: use chmod u-w, not chmod u-x.
74256         Spotted by Paul Eggert and Bruce Korb.
74257         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74258         * modules/byteswap, modules/configmake, modules/fcntl:
74259         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74260         * modules/localcharset, modules/netinet_in, modules/poll:
74261         * modules/stdbool, modules/stdint, modules/sys_select:
74262         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74263
74264 2006-09-06  Jim Meyering  <jim@meyering.net>
74265
74266         Make generated files be read-only.
74267         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74268         Ensure that each generated file is now read-only.
74269         * modules/argz: Likewise.
74270         * modules/arpa_inet: Likewise.
74271         * modules/byteswap: Likewise.
74272         * modules/configmake: Likewise.
74273         * modules/fcntl: Likewise.
74274         * modules/fnmatch: Likewise.
74275         * modules/getopt: Likewise.
74276         * modules/glob: Likewise.
74277         * modules/inttypes: Likewise.
74278         * modules/netinet_in: Likewise.
74279         * modules/poll: Likewise.
74280         * modules/stdbool: Likewise.
74281         * modules/stdint: Likewise.
74282         * modules/sys_select: Likewise.
74283         * modules/sys_socket: Likewise.
74284         * modules/sys_stat: Likewise.
74285         * modules/sysexits: Likewise.
74286         * modules/localcharset: Same as above, but continue using temporary
74287         file named "t-$@" (why different?) rather than the "$@-t" used
74288         everywhere else.
74289
74290         * modules/sysexits (Makefile.am): Replace literal occurrences
74291         of "sysexit.h" more readable, and more consistent, "$@".
74292
74293 2006-09-06  Bruno Haible  <bruno@clisp.org>
74294
74295         * modules/striconv: New file.
74296         * modules/xstriconv: New file.
74297         * MODULES.html.sh (Internationalization functions): Add striconv,
74298         xstriconv.
74299
74300 2006-09-06  Bruno Haible  <bruno@clisp.org>
74301
74302         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74303         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74304         not using libtool correctly.
74305
74306 2006-09-06  Bruno Haible  <bruno@clisp.org>
74307
74308         * lib/striconv.h: New file.
74309         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74310         iconvstring.c.
74311         * lib/xstriconv.h: New file.
74312         * lib/xstriconv.c: New file.
74313
74314 2006-09-06  Bruno Haible  <bruno@clisp.org>
74315
74316         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74317         lib_..._LDFLAGS.
74318
74319 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74320
74321         * lib/argz_.h: Sync from Libtool.
74322
74323         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74324                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74325
74326         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74327
74328 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74329
74330         * modules/trim: New file.
74331
74332 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74333
74334         * lib/trim.h: New file.
74335         * lib/trim.c: New file.
74336
74337 2006-09-05  Bruno Haible  <bruno@clisp.org>
74338
74339         * MODULES.html.sh (String handling): Add trim.
74340
74341 2006-09-04  Karl Berry  <karl@gnu.org>
74342
74343         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74344         until next release.
74345
74346 2006-09-03  Bruno Haible  <bruno@clisp.org>
74347
74348         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74349         correctly.
74350
74351 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74354         not gl_GETLOADAVG.  Omit unneeded semicolons.
74355         Problems reported by Ralf Wildenhues in
74356         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74357         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74358         at the end, which is the usual gnulib style.
74359
74360         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74361         of doing all the work ourselves.
74362         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74363         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74364
74365 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74366
74367         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74368         Problem reported by Ralf Wildenhues in
74369         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74370
74371         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74372         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74373
74374 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74375
74376         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74377         yesterday's patch by changing test -n to test -z.
74378
74379 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74380
74381         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74382         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74383         the former is now obsolescent.
74384
74385         * modules/chdir-long (Depends-on): Add fcntl.
74386
74387 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74388
74389         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74390         obsolescent, and programs should use gnulib instead.
74391         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74392         but with prefixes changed.
74393
74394 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74395
74396         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
74397         or stdbool.h, because they might not exist while configuring.
74398
74399         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
74400         Don't include unistd.h or limits.h; not needed, since chdir-long.h
74401         does that for us.
74402         (O_DIRECTORY): Remove.
74403
74404 2006-08-31  Eric Blake  <ebb9@byu.net>
74405
74406         * gnulib-tool: Don't let emacs change spaces to TAB.
74407
74408 2006-08-31  Bruno Haible  <bruno@clisp.org>
74409
74410         * gnulib-tool: When calling func_import more than once, do it in a
74411         subshell.
74412         Reported by Eric Blake <ebb9@byu.net>.
74413
74414 2006-08-31  Bruno Haible  <bruno@clisp.org>
74415
74416         * gnulib-tool (nl): Remove variable.
74417         (sed_transform_lib_file): Use more robust test for config-h module.
74418         (func_import): Fix typo in 2006-08-25 patch.
74419
74420 2006-08-31  Bruno Haible  <bruno@clisp.org>
74421
74422         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
74423         specified, augment Makefile.am variables instead of assigning them.
74424
74425 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74426
74427         Work around a bug in both the Linux and SunOS 64-bit kernels:
74428         nanosleep mishandles sleeps for longer than 2**31 seconds.
74429         Problem reported by Frank v Waveren in
74430         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
74432         Check for nanosleep bug.
74433         (LIB_NANOSLEEP): Append clock_gettime library if needed.
74434
74435 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74436
74437         Work around a bug in both the Linux and SunOS 64-bit kernels:
74438         nanosleep mishandles sleeps for longer than 2**31 seconds.
74439         Problem reported by Frank v Waveren in
74440         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74441         * lib/nanosleep.c (BILLION): New constant.
74442         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
74443         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
74444         implementation.
74445
74446 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74447
74448         * modules/nanosleep (Depends-on): Add gettime.
74449
74450 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74451         and Simon Josefsson  <jas@extundo.com>
74452         and Oskar Liljeblad  <oskar@osk.mine.nu>
74453
74454         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
74455         * gnulib-tool (func_import): New license type 'unmodifiable license
74456         text'.
74457         * modules/fdl: Use it.  Longer description.
74458         * module/gpl, module/lgpl: New files.
74459
74460 2006-08-30  Jim Meyering  <jim@meyering.net>
74461
74462         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
74463         shadowing the parameter.
74464
74465 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74466
74467         Sync from Libtool:
74468
74469         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74470
74471         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
74472         sharing with gnulib.  Report by Eric Blake.
74473
74474 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74475
74476         * modules/isapipe: New file.
74477         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
74478
74479 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74480
74481         * modules/configmake (Makefile.am): Add a comment, and omit
74482         the CONFIGMAKE_ prefix from generated macro names.  Suggested
74483         by Bruno Haible.
74484
74485 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74486
74487         * m4/isapipe.m4: New file.
74488
74489 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74490
74491         * lib/isapipe.c, lib/isapipe.h: New files.
74492
74493 2006-08-29  Jim Meyering  <jim@meyering.net>
74494
74495         * modules/configmake (Makefile.am): Make configmake.h depend on
74496         Makefile.  Otherwise, a stale configmake.h could hang around.
74497
74498 2006-08-29  Eric Blake  <ebb9@byu.net>
74499
74500         * lib/error.c (error_at_line, print_errno_message): Match libc, after
74501         resolution of upstream bug 3044.
74502
74503 2006-08-29  Bruno Haible  <bruno@clisp.org>
74504
74505         * modules/localcharset (Depends-on): Add configmake.
74506         (Makefile.am): Remove setting of LIBDIR through DEFS.
74507
74508 2006-08-29  Bruno Haible  <bruno@clisp.org>
74509
74510         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
74511         defined.
74512
74513 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74514
74515         * modules/fcntl: New file.
74516         * modules/chdir-safer (Depends-on): Add fcntl.
74517         * modules/fts: Likewise.
74518         * modules/mkdir-p: Likewise.
74519
74520         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
74521         This undoes the most recent change, since we're now addressing the
74522         problem in a different way.
74523
74524         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
74525         into output, since the output might be called Makefile.am even
74526         if $makefile_name is something different.
74527         (func_import): Use $makefile_am rather than
74528         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
74529         empty.
74530
74531         * modules/inttypes (Files): Add m4/inttypes-h.m4.
74532
74533 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74534
74535         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74536         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74537         recent change to stdint.m4, since we're now addressing the problem in a
74538         different way.
74539
74540 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74541
74542         * m4/fcntl_h.m4: New file.
74543
74544 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74545
74546         * lib/fcntl_.h: New file.
74547         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74548         the fcntl module.
74549         * lib/dirchownmod.c: Likewise.
74550         * lib/fts.c: Likewise.
74551
74552         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74553         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74554         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74555         just before including <inttypes.h>, to avoid circular inclusion.
74556
74557 2006-08-28  Jim Meyering  <jim@meyering.net>
74558
74559         * doc/visibility.texi: Actually read and correct the grammar of the
74560         sentence affected by yesterday's change.
74561
74562 2006-08-28  Eric Blake  <ebb9@byu.net>
74563
74564         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74565         needs wrapper.
74566
74567 2006-08-28  Eric Blake  <ebb9@byu.net>
74568
74569         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74570
74571 2006-08-28  Eric Blake  <ebb9@byu.net>
74572
74573         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74574
74575 2006-08-28  Bruno Haible  <bruno@clisp.org>
74576
74577         * modules/c-strstr: New file, from GNU gettext.
74578         * MODULES.html.sh (String handling): Add c-strstr.
74579
74580 2006-08-28  Bruno Haible  <bruno@clisp.org>
74581
74582         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74583         macros.
74584         Reported by Eric Blake.
74585
74586 2006-08-28  Bruno Haible  <bruno@clisp.org>
74587
74588         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74589         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74590         * lib/vasprintf.c: Include errno.h, limits.h.
74591         (EOVERFLOW): New fallback definition.
74592         (vasprintf): Test here whether the string length is > INT_MAX.
74593         * lib/vsnprintf.c: Include errno.h, limits.h.
74594         (EOVERFLOW): New fallback definition.
74595         (vsnprintf): Fix bug when generated string was too long for the buffer.
74596         Test here whether the string length is > INT_MAX.
74597
74598 2006-08-28  Bruno Haible  <bruno@clisp.org>
74599
74600         * lib/inttypes_.h (SCNX*): Remove definitions.
74601         Reported by Eric Blake.
74602
74603 2006-08-28  Bruno Haible  <bruno@clisp.org>
74604
74605         * lib/c-strstr.h: New file, from GNU gettext.
74606         * lib/c-strstr.c: New file, from GNU gettext.
74607
74608 2006-08-28  Bruno Haible  <bruno@clisp.org>
74609
74610         * gnulib-tool: Reorder some statements.
74611
74612 2006-08-28  Bruno Haible  <bruno@clisp.org>
74613
74614         * gnulib-tool: New option --makefile-name.
74615         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74616         $makefile_name.
74617         (func_import): Write $makefile_name to the cache file, and read it from
74618         there unless explicitly specified. Use $makefile_name as file name
74619         instead of Makefile.am. Adjust the recommendations accordingly.
74620
74621 2006-08-28  Bruno Haible  <bruno@clisp.org>
74622
74623         * gnulib-tool (func_verify_module): Check against misapplying patch.
74624
74625 2006-08-28  Bruno Haible  <bruno@clisp.org>
74626
74627         * gnulib-tool (func_relativize, func_relconcat): New functions.
74628         Give an error if --local-dir is given with --update.
74629         Remove trailing slashes from $local_gnulib_dir.
74630         (func_import): Store the relativized $local_gnulib_dir in
74631         gnulib-cache.m4, and read it from there if not specified explicitly.
74632
74633 2006-08-28  Bruno Haible  <bruno@clisp.org>
74634
74635         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74636         is the current directory. Respect also $local_gnulib_dir.
74637
74638 2006-08-28  Bruno Haible  <bruno@clisp.org>
74639             Simon Josefsson  <jas@extundo.com>
74640
74641         BeOS portability.
74642         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74643
74644 2006-08-27  Jim Meyering  <jim@meyering.net>
74645
74646         * doc/visibility.texi: Remove duplicate word: "pointer".
74647
74648 2006-08-26  Bruno Haible  <bruno@clisp.org>
74649
74650         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74651         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74652         (Makefile.am): Create inttypes.h from inttypes_.h.
74653         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74654
74655         * modules/imaxabs: New file.
74656
74657         * modules/imaxdiv: New file.
74658
74659 2006-08-26  Bruno Haible  <bruno@clisp.org>
74660
74661         * m4/inttypes.m4: New file.
74662         * m4/_inttypes_h.m4: Remove file.
74663         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74664         PRI_MACROS_BROKEN.
74665         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74666
74667         * m4/imaxabs.m4: New file.
74668
74669         * m4/imaxdiv.m4: New file.
74670
74671 2006-08-26  Bruno Haible  <bruno@clisp.org>
74672
74673         * lib/inttypes_.h: New file.
74674         * lib/inttypes.h: Remove file.
74675         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74676
74677         * lib/imaxabs.c: New file.
74678
74679         * lib/imaxdiv.c: New file.
74680
74681 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74682
74683         New config-h module, so that "make" output needn't be cluttered
74684         by -DHAVE_CONFIG_H.
74685         * MODULES.html.sh (Support for building libraries and executables):
74686         Add config-h.
74687         * modules/config-h: New file.
74688         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74689         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74690         the config-h module is used.
74691
74692         New configmake module, so that "make" output needn't be cluttered
74693         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74694         * MODULES.html.sh (Support for building libraries and executables):
74695         Add configmake.
74696         * modules/configmake: New file.
74697
74698 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74699
74700         * m4/config-h.m4: New file.
74701
74702 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74703
74704         * config/srclist.txt: Add elisp-comp.
74705
74706 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74707
74708         * MODULES.html.sh (Support for building libraries and executables):
74709         Add elisp-comp.
74710         * build-aux/elisp-comp: New file.
74711         * modules/elisp-comp: New file.
74712
74713 2006-08-24  Bruno Haible  <bruno@clisp.org>
74714
74715         * gnulib-tool (func_create_testdir): Use non-default values of
74716         sourcebase and m4base.
74717
74718 2006-08-24  Bruno Haible  <bruno@clisp.org>
74719
74720         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74721         HTML structure.
74722
74723 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74724
74725         * modules/openat (Depends-on): Add lchown.
74726
74727 2006-08-23  Bruno Haible  <bruno@clisp.org>
74728
74729         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74730         of gl_LOCK_EARLY instead of gl_LOCK.
74731
74732 2006-08-23  Bruno Haible  <bruno@clisp.org>
74733
74734         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74735         on OSF/1 to no.
74736         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74737
74738 2006-08-23  Bruno Haible  <bruno@clisp.org>
74739
74740         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74741         as unusable.
74742
74743         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74744         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74745         (gl_LOCK): New macro.
74746
74747 2006-08-22  Simon Josefsson  <jas@extundo.com>
74748
74749         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74750         to md5 module.
74751
74752 2006-08-22  Simon Josefsson  <jas@extundo.com>
74753
74754         * MODULES.html.sh: Add "Support for maintaining and release
74755         projects".
74756
74757         * build-aux/gnupload: New file, from coreutils.
74758
74759 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74760
74761         Avoid the need for AC_LIBSOURCES in m4 macros.
74762         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74763         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74764         * modules/check-version (EXTRA_DIST): Add check-version.h.
74765         * modules/crc (EXTRA_DIST): Add crc.h.
74766         * modules/des (EXTRA_DIST): Add des.h.
74767         * modules/gc (EXTRA_DIST): Add gc.h.
74768         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74769         * modules/getline (EXTRA_DIST): Add getline.h.
74770         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74771         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74772         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74773         * modules/md2 (EXTRA_DIST): Add md2.h.
74774         * modules/md4 (EXTRA_DIST): Add md4.h.
74775         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74776         * modules/read-file (EXTRA_DIST): Add read-file.h.
74777         * modules/readline (EXTRA_DIST): Add readline.h.
74778         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74779         rijndael-api-fst.h.
74780
74781 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74782
74783         * m4/rijndael.m4 (gl_ARCFOUR):
74784         * m4/arctwo.m4 (gl_ARCTWO):
74785         * m4/check-version.m4 (gl_CHECK_VERSION):
74786         * m4/crc.m4 (gl_CRC):
74787         * m4/des.m4 (gl_DES):
74788         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74789         * m4/gc.m4 (gl_GC):
74790         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74791         * m4/getline.m4 (gl_FUNC_GETLINE):
74792         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74793         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74794         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74795         * m4/md2.m4 (gl_MD2):
74796         * m4/md4.m4 (gl_MD4):
74797         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74798         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74799         * m4/readline.m4 (gl_FUNC_READLINE):
74800         * m4/rijndael.m4 (gl_RIJNDAEL):
74801         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74802         to get the necessary .h files and whatnot.
74803
74804 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74805
74806         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74807         gnulib rather than the other way around.
74808         * config/srclistvars.sh (COREUTILS): Remove.
74809
74810 2006-08-22  Jim Meyering  <jim@meyering.net>
74811
74812         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74813
74814         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74815
74816 2006-08-22  Eric Blake  <ebb9@byu.net>
74817
74818         * modules/regexprops-generic: New file.
74819         * MODULES.html.sh (Support for building documentation): List it.
74820
74821 2006-08-22  Eric Blake  <ebb9@byu.net>
74822
74823         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74824         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74825         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74826         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74827
74828 2006-08-22  Bruno Haible  <bruno@clisp.org>
74829
74830         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74831         and lib_LTLIBRARIES like the other lib_* variables.
74832
74833 2006-08-22  Bruno Haible  <bruno@clisp.org>
74834
74835         * build-aux/x-to-1.in: New file, from GNU gettext.
74836
74837 2006-08-22  Bruno Haible  <bruno@clisp.org>
74838
74839         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74840         <utmpx.h> exists.
74841
74842 2006-08-22  Bruno Haible  <bruno@clisp.org>
74843
74844         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74845         <utmpx.h> exists.
74846
74847 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74848
74849         BeOS portability.
74850         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74851         exist.
74852         Problem reported by Bruno Haible.
74853
74854 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74855
74856         Avoid the need for AC_LIBSOURCES in m4 macros.
74857         * modules/acl (EXTRA_DIST): Add acl.h.
74858         * modules/argmatch (Files): Add m4/argmatch.m4.
74859         (configure.ac): Add gl_ARGMATCH.
74860         (EXTRA_DIST): Renamed from lib_SOURCES, for
74861         consistency with the other modules.  Remove argmatch.c.
74862         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74863         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74864         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74865         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74866         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74867         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74868         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74869         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74870         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74871         * modules/closeout (EXTRA_DIST): Add closeout.h.
74872         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74873         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74874         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74875         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74876         dirname.h; remove basename.c and stripslash.c.
74877         * modules/exclude (EXTRA_DIST): Add exclude.h.
74878         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74879         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74880         * modules/file-type (EXTRA_DIST): Add file-type.h.
74881         * modules/filemode (EXTRA_DIST): Add filemode.h.
74882         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74883         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74884         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74885         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74886         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74887         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74888         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74889         * modules/getdate (EXTRA_DIST): Add getdate.c.
74890         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74891         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74892         * modules/getpass (EXTRA_DIST): Add getpass.h.
74893         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74894         * modules/group-member (EXTRA_DIST): Add group-member.h.
74895         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74896         * modules/hash (EXTRA_DIST): Add hash.h.
74897         * modules/human (EXTRA_DIST): Add human.h.
74898         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74899         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74900         * modules/lchown (EXTRA_DIST): Add lchown.h.
74901         * modules/long-options (EXTRA_DIST): Add long-options.h.
74902         * modules/lstat (EXTRA_DIST): Add lstat.h.
74903         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
74904         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
74905         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
74906         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
74907         * modules/memxor (EXTRA_DIST): Add memxor.h.
74908         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
74909         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
74910         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
74911         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
74912         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
74913         * modules/physmem (EXTRA_DIST): Add physmem.h.
74914         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
74915         * modules/posixver (EXTRA_DIST): Add posixver.h.
74916         * modules/quote (EXTRA_DIST): Add quote.h.
74917         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
74918         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
74919         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
74920         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
74921         regex_internal.h regexec.c.
74922         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
74923         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
74924         * modules/same (EXTRA_DIST): Add same.h.
74925         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
74926         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
74927         * modules/savedir (EXTRA_DIST): Add savedir.h.
74928         * modules/sha1 (EXTRA_DIST): Add sha1.h.
74929         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
74930         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
74931         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
74932         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
74933         * modules/strdup (EXTRA_DIST): Add strdup.h.
74934         * modules/strftime (EXTRA_DIST): Add strftime.h.
74935         * modules/strndup (EXTRA_DIST): Add strndup.h.
74936         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
74937         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
74938         * modules/time_r (EXTRA_DIST): Add time_r.h.
74939         * modules/timespec (EXTRA_DIST): Add timespec.h.
74940         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74941         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
74942         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
74943         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
74944         * modules/userspec (EXTRA_DIST): Add userspec.h.
74945         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
74946         * modules/utimens (EXTRA_DIST): Add utimens.h.
74947         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
74948         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
74949         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
74950         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
74951         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
74952         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
74953         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
74954         * modules/yesno (EXTRA_DIST): Add yesno.h.
74955
74956 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74957
74958         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
74959
74960         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
74961         * m4/dev-ino.m4, same-inode.m4: Remove.
74962
74963         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
74964         * m4/acl.m4 (AC_FUNC_ACL):
74965         * m4/backupfile.m4 (gl_BACKUPFILE):
74966         * m4/c-strtod.m4 (gl_C99_STRTOLD):
74967         * m4/canon-host.m4 (gl_CANON_HOST):
74968         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74969         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
74970         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
74971         * m4/cloexec.m4 (gl_CLOEXEC):
74972         * m4/close-stream.m4 (gl_CLOSE_STREAM):
74973         * m4/closeout.m4 (gl_CLOSEOUT):
74974         * m4/dirfd.m4 (gl_FUNC_DIRFD):
74975         * m4/dirname.m4 (gl_DIRNAME):
74976         * m4/exclude.m4 (gl_EXCLUDE):
74977         * m4/exitfail.m4 (gl_EXITFAIL):
74978         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
74979         * m4/file-type.m4 (gl_FILE_TYPE):
74980         * m4/filemode.m4 (gl_FILEMODE):
74981         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
74982         * m4/fpending.m4 (gl_FUNC_FPENDING):
74983         * m4/fprintftime.m4 (gl_FPRINTFTIME):
74984         * m4/fts.m4 (gl_FUNC_FTS):
74985         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
74986         * m4/getdate.m4 (gl_GETDATE):
74987         * m4/gethrxtime.m4 (gl_GETHRXTIME):
74988         * m4/getpagesize.m4 (gl_GETPAGESIZE):
74989         * m4/getpass.m4 (gl_FUNC_GETPASS):
74990         * m4/gettime.m4 (gl_GETTIME):
74991         * m4/getugroups.m4 (gl_GETUGROUPS):
74992         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
74993         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
74994         * m4/hard-locale.m4 (gl_HARD_LOCALE):
74995         * m4/hash.m4 (gl_HASH):
74996         * m4/idcache.m4 (gl_IDCACHE):
74997         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
74998         * m4/lchown.m4 (gl_FUNC_LCHOWN):
74999         * m4/long-options.m4 (gl_LONG_OPTIONS):
75000         * m4/lstat.m4 (gl_FUNC_LSTAT):
75001         * m4/md5.m4 (gl_MD5):
75002         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75003         * m4/memcoll.m4 (gl_MEMCOLL):
75004         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75005         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75006         * m4/memxor.m4 (gl_MEMXOR):
75007         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75008         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75009         * m4/modechange.m4 (gl_MODECHANGE):
75010         * m4/mountlist.m4 (gl_MOUNTLIST):
75011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75012         * m4/openat.m4 (gl_FUNC_OPENAT):
75013         * m4/pathmax.m4 (gl_PATHMAX):
75014         * m4/physmem.m4 (gl_PHYSMEM):
75015         * m4/posixtm.m4 (gl_POSIXTM):
75016         * m4/posixver.m4 (gl_POSIXVER):
75017         * m4/quote.m4 (gl_QUOTE):
75018         * m4/quotearg.m4 (gl_QUOTEARG):
75019         * m4/readtokens.m4 (gl_READTOKENS):
75020         * m4/readutmp.m4 (gl_READUTMP):
75021         * m4/regex.m4 (gl_REGEX):
75022         * m4/safe-read.m4 (gl_SAFE_READ):
75023         * m4/safe-write.m4 (gl_SAFE_WRITE):
75024         * m4/same.m4 (gl_SAME):
75025         * m4/save-cwd.m4 (gl_SAVE_CWD):
75026         * m4/savedir.m4 (gl_SAVEDIR):
75027         * m4/settime.m4 (gl_SETTIME):
75028         * m4/sha1.m4 (gl_SHA1):
75029         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75030         * m4/stat-macros.m4 (gl_STAT_MACROS):
75031         * m4/stat-time.m4 (gl_STAT_TIME):
75032         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75033         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75034         * m4/strdup.m4 (gl_FUNC_STRDUP):
75035         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75036         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75037         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75038         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75039         * m4/time_r.m4 (gl_TIME_R):
75040         * m4/timespec.m4 (gl_TIMESPEC):
75041         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75042         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75043         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75044         * m4/userspec.m4 (gl_USERSPEC):
75045         * m4/utimecmp.m4 (gl_UTIMECMP):
75046         * m4/utimens.m4 (gl_UTIMENS):
75047         * m4/xalloc.m4 (gl_XALLOC):
75048         * m4/xgetcwd.m4 (gl_XGETCWD):
75049         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75050         * m4/xreadlink.m4 (gl_XREADLINK):
75051         * m4/xstrtod.m4 (gl_XSTRTOD):
75052         * m4/yesno.m4 (gl_YESNO):
75053         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75054         to get the necessary .h files and whatnot.
75055
75056 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75057             Bruno Haible  <bruno@clisp.org>
75058
75059         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75060         /bin/sh understanding of '!' conditional negation.
75061
75062 2006-08-21  Jim Meyering  <jim@meyering.net>
75063
75064         * modules/openat (Depends-on): Really alphabetize.
75065
75066         * modules/acl (Depends-on): Add error and quote.
75067
75068         * check-module (find_included_lib_files): Add at-func.c to the
75069         ok-to-include-more-than-once white list.
75070
75071         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75072
75073 2006-08-21  Bruno Haible  <bruno@clisp.org>
75074
75075         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75076         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75077         Reported by Martin Lambers <marlam@marlam.de>.
75078
75079 2006-08-21  Bruno Haible  <bruno@clisp.org>
75080
75081         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75082         specify an installation location, don't emit a noinst_LIBRARIES or
75083         noinst_LTLIBRARIES assignment.
75084
75085 2006-08-21  Bruno Haible  <bruno@clisp.org>
75086
75087         BeOS portability.
75088         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75089         BeOS has mbrtowc() but no <wctype.h>.
75090
75091 2006-08-21  Bruno Haible  <bruno@clisp.org>
75092
75093         BeOS portability.
75094         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75095         exist.
75096
75097 2006-08-21  Bruno Haible  <bruno@clisp.org>
75098
75099         BeOS portability.
75100         * lib/mbchar.h: Include <wctype.h> only if it exists.
75101
75102 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75103
75104         Remove files that are no longer needed by their respective modules.
75105         * m4/obstack.m4: Remove.
75106         * m4/strerror_r.m4: Remove.
75107         * m4/uint32_t.m4: Remove.
75108         * m4/uintptr_t.m4: Remove.
75109         * m4/ullong_max.m4: Remove.
75110         * m4/xstrtoimax.m4: Remove.
75111         * m4/xstrtoumax.m4: Remove.
75112
75113         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75114         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75115         dependencies now capture this.
75116
75117         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75118         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75119         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75120         * m4/human.m4 (gl_HUMAN): Likewise.
75121         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75122         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75123
75124         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75125
75126         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75127         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75128         stdint.
75129         * m4/human.m4 (gl_HUMAN): Likewise.
75130         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75131         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75132         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75133         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75134         * m4/xstrtol (gl_XSTRTOL): Likewise.
75135
75136         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75137         AC_TYPE_LONG_LONG_INT.
75138         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75139         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75140         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75141         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75142
75143         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75144         on stdbool.
75145
75146         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75147         (gl_PREREQ_XSTRTOUL): Remove.
75148
75149         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75150
75151         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75152         mode.
75153
75154 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75155
75156         Add and change modules to make it easier for coreutils to use
75157         gnulib-tool.
75158         * modules/backupfile (Files): Remove m4/d-ino.m4.
75159         (Depends-on): Add d-ino.
75160         * modules/cycle-check (Depends-on): Add stdint.
75161         (lib_SOURCES): Add cycle-check.h.
75162         * modules/d-ino: New module.
75163         * modules/d-type: New module.
75164         * modules/error (Files): Remove m4/strerror_r.m4.
75165         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75166         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75167         m4/inttypes_h.m4, m4/uintmax_t.m4.
75168         (Depends-on): Add stdint.
75169         (lib_SOURCES): Add fsusage.h.
75170         * modules/getcwd (Files): Remove d-ino.m4.
75171         (Depends-on): Add d-ino.
75172         * modules/getndelim2 (Depends-on): Add stdint.
75173         * modules/glob (Files): Remove m4/d-type.m4.
75174         (Depends-on): Add d-type.
75175         * modules/host-os: New module.
75176         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75177         m4/inttypes_h.m4, m4/uintmax_t.m4.
75178         * Depends-on: Add stdint.
75179         (lib_SOURCES): Add human.h.
75180         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75181         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75182         m4/uintmax_t.m4, m4/ulonglong.m4.
75183         (Depends-on): Add stdint.
75184         (EXTRA_DIST): Add inttostr.h.
75185         * modules/lchmod: New module.
75186         * modules/link-follow: New module.
75187         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75188         (Depends-on): Add lchmod.
75189         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75190         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75191         (Depends-on): Add stdint.
75192         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75193         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75194         (Depends-on): Add stdint.
75195         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75196         * modules/perl: New module.
75197         * modules/regex (Depends-on): Add stdint.
75198         * modules/rmdir-errno: New module.
75199         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75200         m4/intmax_t.m4.
75201         (Depends-on): Add stdint.
75202         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75203         m4/uintmax_t.m4.
75204         (Depends-on): Add stdint.
75205         * modules/unlink-busy: New module.
75206         * modules/utimecmp (Depends-on): Add stdint.
75207         * modules/uptime: New module.
75208         * modules/winsz-ioctl: New module.
75209         * modules/winsz-termios: New module.
75210         * modules/xnanosleep (Depends-on): Add nanosleep.
75211         * modules/ullong_max: Remove.
75212         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75213         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75214         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75215         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75216         (Depends-on): Add inttypes.
75217         (lib_SOURCES): Add xstrtol.h.
75218         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75219         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75220         * MODULES.html.sh: Move 'assert' into the assert section.
75221         Move 'dummy' into the linking section.
75222         Remove ullong_max.
75223         Add section for compatibility checks for POSIX:2001 functions,
75224         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75225         winsz-ioctl, and winsz-termios into it.
75226         Add lchmod.
75227         Add top-level Misc section and put host-os, perl, and uptime
75228         into it.
75229
75230 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75231
75232         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75233         now assume the stdint module.  Do not include inttypes.h.
75234         * lib/fsusage.h: Likewise.
75235         * lib/getndelim2.c: Likewise.
75236         * lib/human.h: Likewise.
75237         * lib/inttostr.h: Likewise.
75238         * lib/obstack.c: Likewise.
75239         * lib/regex_internal.h: Likewise.
75240         * lib/tempname.c: Likewise.
75241         * lib/utimecmp.c: Likewise.
75242         * lib/xstrtol.h: Likewise.
75243
75244         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75245
75246         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75247         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75248         * lib/xtime.h: Likewise.
75249
75250 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75251
75252         * modules/openat (Files): Add lib/fchmodat.c.
75253         Fixes problem reported by Jay Youngman.
75254
75255 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75256
75257         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75258         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75259
75260 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75261             Bruno Haible  <bruno@clisp.org>
75262
75263         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75264         and is a script that invokes bison. Tighten the code. Add comments.
75265
75266 2006-08-18  Jim Meyering  <jim@meyering.net>
75267
75268         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75269         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75270         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75271         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75272
75273 2006-08-18  Bruno Haible  <bruno@clisp.org>
75274
75275         * modules/bison-i18n: New file.
75276         * MODULES.html.sh (Internationalization functions): Add it.
75277
75278 2006-08-18  Bruno Haible  <bruno@clisp.org>
75279
75280         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75281         sys/statvfs.h. When getmntinfo was found, check its declaration and
75282         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75283
75284 2006-08-18  Bruno Haible  <bruno@clisp.org>
75285
75286         * m4/bison-i18n.m4: New file, from bison.
75287
75288 2006-08-18  Bruno Haible  <bruno@clisp.org>
75289
75290         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75291         (ME_DUMMY): Treat "kernfs" as a dummy.
75292         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75293
75294 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75295
75296         Update from coreutils.
75297
75298         2006-08-15  Jim Meyering  <jim@meyering.net>
75299
75300         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75301
75302         2006-01-17  Jim Meyering  <jim@meyering.net>
75303
75304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75305
75306         2006-01-11  Jim Meyering  <jim@meyering.net>
75307
75308         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75309         Check for the lchmod function.
75310
75311 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75312
75313         Update from coreutils.
75314
75315         * lib/__fpending.h: Add copyright notice.
75316         * lib/fprintftime.h: Likewise.
75317         * lib/savedir.c: Use (C) in copyright notice.
75318         * lib/savedir.h: Likewise.
75319
75320         2006-08-15  Jim Meyering  <jim@meyering.net>
75321
75322         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75323         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75324         in support of the EXPECTED_ERRNO macro.
75325         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75326         definitions.  Instead, define the appropriate symbols and include
75327         "at-func.c".
75328         * lib/mkdirat.c (mkdirat): Likewise.
75329         * lib/fchmodat.c (fchmodat): Likewise.
75330         (ENOSYS): Remove definition.
75331         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75332         it.  Don't include "unistd--.h" -- it wasn't ever used.
75333
75334         2006-01-17  Jim Meyering  <jim@meyering.net>
75335
75336         Rewrite fts.c not to change the current working directory,
75337         by using openat, fstatat, fdopendir, etc..
75338
75339         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75340         (HAVE_OPENAT_SUPPORT): Define.
75341         [_LIBC] (fchdir): Don't undef or define; no longer used.
75342         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75343         Now, this `function' always succeeds, and consumes its file descriptor
75344         parameter -- so callers must not close such FDs.  Update callers.
75345         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75346         (diropen): Add parameter, SP.  Adjust all callers.
75347         Implement using diropen_fd, rather than open.
75348         (fts_open): Initialize new member, fts_cwd_fd.
75349         Remove fts_rft-setting code.
75350         (fts_close): Close fts_cwd_fd, if necessary.
75351         (__opendir2): Define in terms of opendir or opendirat,
75352         depending on whether the FST_NOCHDIR flag is set.
75353         (fts_build): Since fts_safe_changedir consumes its FD, and since
75354         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75355         and close the dup'd file descriptor upon failure.
75356         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75357         (fts_safe_changedir): Tweak semantics to reflect that this function
75358         now calls cwd_advance_fd and hence consumes its FD argument.
75359         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75360         [struct FTS] (fts_rft): Remove now-unused member.
75361         [struct FTS] (fts_cycle.state): Improve comment.
75362
75363         * lib/openat.c (openat_needs_fchdir): New function.
75364         * lib/openat.h (openat_needs_fchdir): Declare it.
75365
75366 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75367
75368         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75369         Problem and fix reported by Pádraig Brady in
75370         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75371
75372 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75373
75374         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75375
75376 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75377
75378         * lib/memcoll.c (memcoll): Optimize for the common case where the
75379         arguments are bytewise equal.
75380
75381 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         * doc/regexprops-generic.texi: Add a copyright notice.
75384
75385 2006-08-15  Bruno Haible  <bruno@clisp.org>
75386
75387         * modules/tmpdir (License): Change to LGPL.
75388
75389 2006-08-15  Bruno Haible  <bruno@clisp.org>
75390
75391         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75392         module.
75393
75394 2006-08-14  Simon Josefsson  <jas@extundo.com>
75395
75396         * config/srclist.txt: Add gnupload.
75397
75398 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75399
75400         Change copyright notice from LGPL 2 to GPL 2, since that's the
75401         standard form used in the gnulib repository.
75402         * tests/test-lock.c: Likewise.
75403         * tests/test-stdint.c: Likewise.
75404         * tests/test-tls.c: Likewise.
75405
75406         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
75407         prelude-manager.  User shorter URLs for GNU projects, without '?'.
75408         Add copyright notice.
75409
75410         * check-module: Add copyright notice.  Output a copyright
75411         notice if "--version" is specified.
75412         * modules/COPYING: New file.
75413         * tests/test-getaddrinfo.c: Add copyright notice.
75414         * tests/test-verify.c: Likewise.
75415
75416 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75417
75418         Change copyright notice from LGPL 2 to GPL 2, since that's the
75419         standard form used in the gnulib repository.
75420         * lib/lock.c: LGPL -> GPL.
75421         * lib/lock.h: Likewise.
75422         * lib/strnlen1.c: Likewise.
75423         * lib/strnlen1.h: Likewise.
75424         * lib/tls.c: Likewise.
75425         * lib/tls.h: Likewise.
75426         * lib/tmpdir.c: Likewise.
75427
75428         * lib/TODO: Remove; this belongs only in coreutils.
75429
75430 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75431
75432         Add copyright notices to long-enough files that lack them, since
75433         otherwise the files aren't clearly free.  Use the same notice that
75434         getdate.texi already uses.
75435         * doc/alloca-opt.texi: Add copyright notice.
75436         * doc/alloca.texi: Likewise.
75437         * doc/ctime.texi: Likewise.
75438         * doc/functions.texi: Likewise.
75439         * doc/gcd.texi: Likewise.
75440         * doc/gnulib-tool.texi: Likewise.
75441         * doc/inet_ntoa.texi: Likewise.
75442         * doc/visibility.texi: Likewise.
75443
75444         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
75445         * doc/quote.texi: Add copyright notice.
75446
75447         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
75448         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
75449         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
75450         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
75451         is now obsolete, and give a pointer to the Sun list.
75452         Add copyright notice.
75453
75454 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75455
75456         * config/srclistvars.sh: Add copyright notice.
75457
75458 2006-08-14  Eric Blake  <ebb9@byu.net>
75459
75460         Import the following change from libc:
75461
75462         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
75463
75464         Upstream bug 2997.
75465         * lib/misc/error.c: Add space between program name and message if file
75466         name is missing.
75467
75468 2006-08-12  Karl Berry  <karl@gnu.org>
75469
75470         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
75471         remove, these originate in gnulib now.
75472
75473 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75474
75475         * doc/Makefile (standards.info standards.html standards.dvi):
75476         Also depend on make-stds.texi.
75477
75478 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75479
75480         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
75481         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
75482
75483         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
75484         in wchar_t.  Problem reported by Eric Blake.
75485
75486         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
75487         LEN is smaller than SIZE.  Suggested by Bruno Haible.
75488         Also, help the compiler to keep LEN in a register.
75489
75490 2006-08-11  Eric Blake  <ebb9@byu.net>
75491
75492         * users.txt: Sort.  Add tar.
75493
75494 2006-08-11  Bruno Haible  <bruno@clisp.org>
75495
75496         * users.txt: New file.
75497
75498 2006-08-11  Bruno Haible  <bruno@clisp.org>
75499
75500         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
75501         before <wchar.h>. Needed for OSF/1 and BSD/OS.
75502
75503 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75504
75505         * modules/snprintf (Depends-on): Remove minmax.
75506         (Maintainer): Add self and Bruno.
75507
75508 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75509
75510         * lib/.cppi-disable: Add snprintf.h, socket_.h.
75511         * lib/snprintf.c: Include <errno.h> and <limits.h>.
75512         (EOVERFLOW): Define if the system does not.
75513         Do not include "minmax.h"; it wasn't used.
75514         (snprintf): Don't assume size_t promotes to an unsigned type.
75515         Fix bug when generated string was too long for the buffer: the
75516         buffer's contents are supposed to be the initial prefix of the
75517         output.  Don't assume vasnprintf returns EOVERFLOW if the size
75518         exceeds INT_MAX; do the check ourselves.
75519
75520         Import the following changes from libc:
75521
75522         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
75523
75524         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
75525         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
75526         set wc to the byte which couldn't be converted.
75527         (re_string_reconstruct): Don't clear valid_raw_len before calling
75528         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
75529         tip_context using re_string_context_at.
75530
75531         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
75532
75533         * lib/posix/regex.h: g++ still cannot handled [restrict].
75534
75535         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75536
75537         * lib/posix/regex.h: Remove special handling for VMS.
75538
75539 2006-08-10  Jim Meyering  <jim@meyering.net>
75540
75541         * modules/same-inode: New module.
75542         * modules/dev-ino: New module.
75543         * modules/cycle-check: Depend on these modules, rather than simply
75544         including their .h files.
75545         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75546         required via m4/cycle-check.m4.
75547         * modules/same: Depend on new same-inode module, rather than
75548         including same-inode.h.
75549         * modules/chdir-safer: New file.
75550
75551         * modules/chown (Depends-on): Add stat-macros.
75552
75553 2006-08-10  Jim Meyering  <jim@meyering.net>
75554
75555         * m4/cycle-check.m4: New file.
75556         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75557         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75558
75559 2006-08-10  Eric Blake  <ebb9@byu.net>
75560
75561         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75562         in from original proposal.
75563
75564 2006-08-10  Eric Blake  <ebb9@byu.net>
75565         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75566
75567         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75568         namespace.
75569
75570 2006-08-10  Bruno Haible  <bruno@clisp.org>
75571
75572         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75573         as well.
75574
75575 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75576
75577         Sync from coreutils.
75578
75579         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75580
75581         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75582         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75583
75584 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75585
75586         * modules/restrict: Remove; no longer needed now that we assume
75587         Autoconf 2.59 or later.
75588         * MODULES.html.sh: Remove 'restrict'.
75589         * modules/argp (Depends-on): Remove 'restrict'.
75590         * modules/base64 (Depends-on): Likewise.
75591         * modules/gc (Depends-on): Likewise.
75592         * modules/getaddrinfo (Depends-on): Likewise.
75593         * modules/glob (Depends-on): Likewise.
75594         * modules/inet_ntop (Depends-on): Likewise.
75595         * modules/inet_pton (Depends-on): Likewise.
75596         * modules/memxor (Depends-on): Likewise.
75597         * modules/regex (Depends-on): Likewise.
75598         * modules/strtok_r (Depends-on): Likewise.
75599         * modules/time_r (Depends-on): Likewise.
75600
75601 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75602
75603         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75604         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75605         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75606         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75607         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75608         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75609         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75610         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75611
75612         Merge from coreutils.
75613         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75614         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75615         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75616         * m4/time_r.m4 (gl_TIME_R): Likewise.
75617
75618 2006-08-09  Karl Berry  <karl@gnu.org>
75619
75620         * config/srclist.txt: no more gettext-tools, per Bruno.
75621
75622 2006-08-08  Eric Blake  <ebb9@byu.net>
75623
75624         * modules/verror: New module.
75625         * MODULES.html.sh: Document it.
75626
75627 2006-08-08  Eric Blake  <ebb9@byu.net>
75628
75629         * lib/verror.h, lib/verror.c: New files.
75630
75631 2006-08-08  Eric Blake  <ebb9@byu.net>
75632
75633         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75634         verror_at_line output complies with GNU Coding Standards even when
75635         file is NULL.
75636
75637 2006-08-07  Bruno Haible  <bruno@clisp.org>
75638
75639         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75640         versions of AIX.
75641         Reported by Ralf Wildenhues.
75642
75643 2006-08-07  Bruno Haible  <bruno@clisp.org>
75644
75645         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75646         in an AC_DEFUN. Needed so that the autoconf snippets can use
75647         AC_REQUIRE.
75648
75649 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75650
75651         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75652         Initialize pkgdata_DATA.
75653         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75654         overriding it.
75655
75656 2006-08-06  Eric Blake  <ebb9@byu.net>
75657
75658         * lib/error.h: Fold in some upstream changes from glibc.
75659         * lib/error.c: Likewise.
75660
75661 2006-08-04  Bruno Haible  <bruno@clisp.org>
75662
75663         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75664         Make the mostlyclean-local rule depend on mostlyclean-generic.
75665         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75666
75667 2006-07-31  Bruno Haible  <bruno@clisp.org>
75668
75669         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75670         <stdlib.h>, <string.h>.
75671
75672 2006-07-30  Bruno Haible  <bruno@clisp.org>
75673
75674         * modules/readlink (License): Change to LGPL.
75675
75676 2006-07-30  Bruno Haible  <bruno@clisp.org>
75677
75678         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75679         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75680         set PKGDATADIR to point to it.
75681
75682 2006-07-30  Bruno Haible  <bruno@clisp.org>
75683
75684         * modules/csharpexec (configure.ac): Comment out macro invocation.
75685         * modules/javaexec (configure.ac): Likewise.
75686         * modules/javacomp-script (configure.ac): Likewise.
75687
75688         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75689
75690 2006-07-30  Bruno Haible  <bruno@clisp.org>
75691
75692         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75693         linked-list.
75694
75695 2006-07-30  Bruno Haible  <bruno@clisp.org>
75696
75697         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75698
75699 2006-07-30  Bruno Haible  <bruno@clisp.org>
75700
75701         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75702         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75703         get removed.
75704
75705 2006-07-29  Bruno Haible  <bruno@clisp.org>
75706
75707         Make it possible for gnulib-tool to work with locally modified or
75708         augmented gnulib repositories.
75709         * gnulib-tool (func_usage): Document --local-dir option.
75710         (local_gnulib_dir): New variable.
75711         Handle --local-dir option.
75712         (func_lookup_file): New function.
75713         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75714         (func_get_description, func_get_filelist, func_get_description,
75715         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75716         func_get_automake_snippet, func_get_include_directive,
75717         func_get_license, func_get_maintainer): Use func_lookup_file.
75718         (func_import, func_create_testdir): Use func_lookup_file.
75719
75720 2006-07-29  Bruno Haible  <bruno@clisp.org>
75721
75722         * modules/setenv (Depends-on): Add unistd.
75723
75724 2006-07-29  Bruno Haible  <bruno@clisp.org>
75725
75726         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75727
75728 2006-07-29  Bruno Haible  <bruno@clisp.org>
75729
75730         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75731
75732 2006-07-29  Bruno Haible  <bruno@clisp.org>
75733
75734         * gnulib-tool (import, update): If there is no Makefile.am, look at
75735         aclocal.m4, instead of bailing out.
75736
75737 2006-07-29  Bruno Haible  <bruno@clisp.org>
75738
75739         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75740         Categorize the options by when they are useful.
75741
75742 2006-07-29  Bruno Haible  <bruno@clisp.org>
75743
75744         * gnulib-tool (func_usage): Document option --no-libtool.
75745         Handle option --no-libtool.
75746         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75747         for changed semantics of $libtool variable.
75748         (func_import): Likewise. If libtool is not used, show this through
75749         an option --no-libtool.
75750         (func_create_testdir): Update.
75751
75752 2006-07-29  Bruno Haible  <bruno@clisp.org>
75753
75754         * gnulib-tool (func_import): Extend error message about missing
75755         --doc-base.
75756
75757 2006-07-29  Bruno Haible  <bruno@clisp.org>
75758
75759         * gnulib-tool (func_import): Don't create the $docbase directory if
75760         there is no file to store there.
75761
75762 2006-07-29  Bruno Haible  <bruno@clisp.org>
75763
75764         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75765         relevant, look for configure.ac there, not in the current directory.
75766         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75767
75768 2006-07-29  Bruno Haible  <bruno@clisp.org>
75769
75770         * gnulib-tool (SORT): New variable.
75771         (func_usage): Undocument --assume-autoconf option.
75772         Remove --assume-autoconf option handling.
75773         (autoconf_minversion): Determine from the contents of configure.ac.
75774         (func_import): Remove autoconf_minversion handling.
75775         Suggested by Eric Blake.
75776
75777 2006-07-29  Bruno Haible  <bruno@clisp.org>
75778
75779         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75780
75781 2006-07-29  Bruno Haible  <bruno@clisp.org>
75782
75783         * config/srclist.txt (*setenv.[ch]): Remove rules.
75784
75785 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75786
75787         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75788
75789 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75790
75791         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75792         arpa/inet.h.
75793
75794 2006-07-28  Simon Josefsson  <jas@extundo.com>
75795
75796         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75797         * modules/inet_pton (Depends-on): Likewise.
75798
75799 2006-07-28  Simon Josefsson  <jas@extundo.com>
75800
75801         * m4/netinet_in_h.m4: New file.
75802
75803 2006-07-28  Simon Josefsson  <jas@extundo.com>
75804
75805         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75806         #include's.
75807
75808 2006-07-28  Simon Josefsson  <jas@extundo.com>
75809
75810         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75811         #include's.
75812
75813 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75814
75815         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75816         setgid on directories only if they set these bits.
75817         * lib/modechange.h: Remove obsolete comment about masks.
75818
75819 2006-07-28  Eric Blake  <ebb9@byu.net>
75820
75821         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75822         macro expansion.
75823
75824 2006-07-28  Bruno Haible  <bruno@clisp.org>
75825
75826         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75827
75828 2006-07-28  Bruno Haible  <bruno@clisp.org>
75829
75830         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75831
75832 2006-07-28  Bruno Haible  <bruno@clisp.org>
75833
75834         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75835         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75836         Define fallbacks.
75837         Avoids link error on FreeBSD 4.x.
75838         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75839
75840         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75841         encoding.
75842         * lib/mbswidth.c (iswcntrl): Likewise.
75843
75844 2006-07-27  Bruno Haible  <bruno@clisp.org>
75845
75846         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75847         test.
75848
75849 2006-07-27  Bruno Haible  <bruno@clisp.org>
75850
75851         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75852         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75853         defined.
75854
75855 2006-07-26  Eric Blake  <ebb9@byu.net>
75856
75857         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75858
75859 2006-07-26  Eric Blake  <ebb9@byu.net>
75860
75861         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75862         like mingw that lack mkstemp.
75863         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75864         avoid compilation warning on mingw.
75865
75866 2006-07-26  Bruno Haible  <bruno@clisp.org>
75867
75868         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75869         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75870         INT_FAST*_MIN, INTPTR_MIN.
75871
75872 2006-07-25  Bruno Haible  <bruno@clisp.org>
75873
75874         * modules/version-etc (Depends-on): Add stdarg.
75875
75876 2006-07-25  Bruno Haible  <bruno@clisp.org>
75877
75878         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75879         complex commands.
75880
75881 2006-07-25  Bruno Haible  <bruno@clisp.org>
75882
75883         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75884         defined in <stdarg.h> or config.h.
75885
75886 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75887
75888         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75889         (gl_STDIO_SAFER): Remove.
75890
75891 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75892
75893         * MODULES.html.sh (File stream based Input/Output):
75894         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75895         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75896         * modules/fopen-safer, modules/tmpfile-safer: New files.
75897         * modules/stdio-safer: Remove.
75898
75899 2006-07-24  Bruno Haible  <bruno@clisp.org>
75900
75901         * modules/tmpdir: New file.
75902         * MODULES.html.sh (File system functions): Add it.
75903
75904 2006-07-24  Bruno Haible  <bruno@clisp.org>
75905
75906         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
75907         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
75908
75909 2006-07-24  Bruno Haible  <bruno@clisp.org>
75910
75911         * modules/clean-temp: New file.
75912
75913 2006-07-24  Bruno Haible  <bruno@clisp.org>
75914
75915         * m4/tmpdir.m4: New file, from GNU gettext.
75916
75917 2006-07-24  Bruno Haible  <bruno@clisp.org>
75918
75919         * lib/tmpdir.h: New file, from GNU gettext.
75920         * lib/tmpdir.c: New file, from GNU gettext.
75921
75922 2006-07-24  Bruno Haible  <bruno@clisp.org>
75923
75924         * lib/clean-temp.h: New file, from GNU gettext.
75925         * lib/clean-temp.c: New file, from GNU gettext.
75926
75927 2006-07-23  Eric Blake  <ebb9@byu.net>
75928
75929         * modules/stdio-safer (Files): Add tmpfile-safer.c.
75930         (Depends-on): Add binary-io.
75931
75932 2006-07-23  Eric Blake  <ebb9@byu.net>
75933
75934         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
75935
75936 2006-07-23  Eric Blake  <ebb9@byu.net>
75937
75938         * lib/tmpfile-safer.c: New file.
75939         * lib/stdio-safer.h (fopen_safer): Add prototype.
75940         * lib/stdio--.h (tmpfile): Make safer.
75941
75942 2006-07-23  Bruno Haible  <bruno@clisp.org>
75943
75944         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
75945         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
75946         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
75947         gl_linked_remove_at): Use it.
75948
75949 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75950         and Simon Josefsson <jas@extundo.com>
75951
75952         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
75953
75954         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
75955
75956 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75957
75958         * modules/close-stream: New file.
75959         * modules/closeout (Description): Make it clear that it exits
75960         with a diagnostic on error.
75961         (Depends-on): Add close-stream.  Remove fpending, stdbool.
75962         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
75963
75964 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75965
75966         * m4/close-stream.m4: New file.
75967
75968 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * lib/close-stream.c, lib/close-stream.h: New files.
75971
75972 2006-07-22  Bruno Haible  <bruno@clisp.org>
75973
75974         Merge from GNU gettext 0.15.
75975
75976         2006-05-01  Bruno Haible  <bruno@clisp.org>
75977
75978                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
75979
75980         2006-07-22  Bruno Haible  <bruno@clisp.org>
75981
75982                 * modules/javaversion: New file.
75983                 * MODULES.html.sh (Java): Add javaversion.
75984
75985         2006-03-12  Bruno Haible  <bruno@clisp.org>
75986
75987                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
75988
75989         2005-12-04  Bruno Haible  <bruno@clisp.org>
75990
75991                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
75992                 (untested).
75993
75994         2006-06-21  Bruno Haible  <bruno@clisp.org>
75995
75996                 Avoid warnings from recent versions of mcs.
75997                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
75998                 -o, -L, -r any more. Use options documented since mcs-1.0
75999                 instead. Similarly for -g.
76000
76001         2005-12-04  Bruno Haible  <bruno@clisp.org>
76002
76003                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76004                 .resources, not .resource.
76005
76006         2005-07-09  Bruno Haible  <bruno@clisp.org>
76007
76008                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76009                 add a .dll suffix.
76010                 Reported by Mark Junker <mjscod@gmx.de>.
76011
76012         2006-07-22  Bruno Haible  <bruno@clisp.org>
76013
76014                 * modules/gettext: Upgrade to gettext-0.15.
76015                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76016                 m4/visibility.m4.
76017                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76018
76019 2006-07-22  Bruno Haible  <bruno@clisp.org>
76020
76021         Merge from GNU gettext 0.15.
76022
76023         2006-03-25  Bruno Haible  <bruno@clisp.org>
76024
76025                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76026
76027         2006-07-21  Bruno Haible  <bruno@clisp.org>
76028
76029                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76030                 "1.1".
76031
76032         2006-05-09  Bruno Haible  <bruno@clisp.org>
76033
76034                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76035                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76036                 for the conftestver execution.
76037
76038         2006-05-01  Bruno Haible  <bruno@clisp.org>
76039
76040                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76041                 optional target-version argument. Verify that the compiler
76042                 groks source of the specified source-version, or add -source
76043                 option as necessary. Verify that the compiler produces
76044                 bytecode in the specified target-version, or add -target and
76045                 -source options as necessary. Make the result of the test
76046                 available as variable CONF_JAVAC. Also log error output in
76047                 config.log.
76048
76049         2006-03-11  Bruno Haible  <bruno@clisp.org>
76050
76051                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76052
76053         2006-05-09  Bruno Haible  <bruno@clisp.org>
76054
76055                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76056                 CLASSPATH_SEPARATOR to a semicolon.
76057
76058         2006-03-12  Bruno Haible  <bruno@clisp.org>
76059
76060                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76061                 available as variable CONF_JAVA, for subsequent autoconf
76062                 tests. Also log error output in config.log.
76063
76064         2006-07-19  Bruno Haible  <bruno@clisp.org>
76065
76066                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76067                 that getline works on glibc2 systems. Needed to avoid trouble
76068                 in relocatable.c.
76069                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76070
76071         2005-12-04  Bruno Haible  <bruno@clisp.org>
76072
76073                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76074                 launcher (untested).
76075
76076         2005-12-04  Bruno Haible  <bruno@clisp.org>
76077
76078                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76079
76080         2006-07-22  Bruno Haible  <bruno@clisp.org>
76081
76082                 * gettext.m4: Update from GNU gettext-0.15.
76083                 * nls.m4: Likewise.
76084                 * po.m4: Likewise.
76085                 * inttypes-pri.m4: Likewise.
76086                 * inttypes-h.m4: Renamed from inttypes.m4.
76087                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76088
76089 2006-07-22  Bruno Haible  <bruno@clisp.org>
76090
76091         Merge from GNU gettext 0.15.
76092
76093         2005-07-05  Bruno Haible  <bruno@clisp.org>
76094
76095                 * printf-args.c (printf_fetchargs): Work around broken
76096                 definition of wint_t on mingw.
76097
76098         2005-02-12  Bruno Haible  <bruno@clisp.org>
76099
76100                 * xallocsa.h: Add extern "C" for C++.
76101
76102         2006-05-17  Bruno Haible  <bruno@clisp.org>
76103
76104                 Cygwin portability.
76105                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76106
76107         2006-04-30  Bruno Haible  <bruno@clisp.org>
76108
76109                 * progreloc.c: Include <mach-o/dyld.h> if available.
76110                 (find_executable): Use _NSGetExecutablePath when possible.
76111
76112         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76113
76114                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76115                 function.
76116
76117         2005-12-29  Bruno Haible  <bruno@clisp.org>
76118
76119                 * progreloc.c (set_program_name_and_installdir): Fix
76120                 compilation error.
76121
76122         2005-12-04  Bruno Haible  <bruno@clisp.org>
76123
76124                 Cygwin portability.
76125                 * progreloc.c: Include <windows.h> also on Cygwin.
76126                 (find_executable): Add support for Cygwin.
76127                 (set_program_name_and_installdir): Handle also platforms with
76128                 nonempty EXEEXT.
76129
76130         2006-07-11  Bruno Haible  <bruno@clisp.org>
76131
76132                 * javacomp.c: Fix a comment.
76133                 Reported by Jim Meyering.
76134
76135         2006-04-30  Bruno Haible  <bruno@clisp.org>
76136
76137                 * javacomp.h (compile_java_class): Add source_version,
76138                 target_version arguments.
76139                 * javacomp.c: Rewritten to choose only a compiler that
76140                 respects the specified source_version and target_version.
76141
76142         2006-06-27  Bruno Haible  <bruno@clisp.org>
76143
76144                 Assume correct S_ISDIR macro.
76145                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76146
76147         2006-07-22  Bruno Haible  <bruno@clisp.org>
76148
76149                 * javaversion.h: New file, from GNU gettext.
76150                 * javaversion.c: New file, from GNU gettext.
76151                 * javaversion.java: New file, from GNU gettext.
76152                 * javaversion.class: New file, from GNU gettext.
76153
76154         2006-05-17  Bruno Haible  <bruno@clisp.org>
76155
76156                 Cygwin portability.
76157                 * javaexec.c (execute_java_class): Test for jview program
76158                 also on Cygwin.
76159
76160         2006-04-09  Bruno Haible  <bruno@clisp.org>
76161
76162                 * fatal-signal.c: Don't include string.h.
76163                 (at_fatal_signal): Use a copying loop instead of memcpy.
76164
76165         2005-12-04  Bruno Haible  <bruno@clisp.org>
76166
76167                 * csharpexec.c: Add support for 'clix' launcher (untested).
76168                 (execute_csharp_using_sscli): New function.
76169                 (execute_csharp_program): Call it.
76170
76171         2006-06-21  Bruno Haible  <bruno@clisp.org>
76172
76173                 Avoid warnings from recent versions of mcs.
76174                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76175                 -o, -L, -r any more. Use options documented since mcs-1.0
76176                 instead. Similarly for -g.
76177
76178         2005-07-09  Bruno Haible  <bruno@clisp.org>
76179
76180                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76181                 add a .dll suffix.
76182                 Reported by Mark Junker <mjscod@gmx.de>.
76183
76184         2006-06-17  Bruno Haible  <bruno@clisp.org>
76185
76186                 * config.charset: Update for NetBSD 3.0.
76187
76188         2006-05-17  Bruno Haible  <bruno@clisp.org>
76189
76190                 Cygwin portability.
76191                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76192
76193         2006-05-16  Bruno Haible  <bruno@clisp.org>
76194
76195                 * localcharset.c [CYGWIN]: Include <windows.h>.
76196                 (get_charset_aliases): For Cygwin, return the same CPxxx
76197                 aliases list as under WIN32.
76198                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76199                 the environment variables. Fall back to GetACP().
76200
76201         2006-04-05  Bruno Haible  <bruno@clisp.org>
76202
76203                 * config.charset: Update Juan Manuel Guerrero's address.
76204
76205         2005-02-12  Bruno Haible  <bruno@clisp.org>
76206
76207                 * allocsa.h: Add extern "C" for C++.
76208
76209         2005-02-10  Bruno Haible  <bruno@clisp.org>
76210
76211                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76212                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76213
76214         2006-07-22  Bruno Haible  <bruno@clisp.org>
76215
76216                 * gettext.h: Update to GNU gettext-0.15.
76217
76218 2006-07-22  Bruno Haible  <bruno@clisp.org>
76219
76220         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76221         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76222         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76223
76224 2006-07-21  Eric Blake  <ebb9@byu.net>
76225
76226         * modules/stdlib-safer: New file.
76227         * MODULES.html.sh (File stream based Input/Output): Add
76228         stdlib-safer.
76229
76230 2006-07-21  Eric Blake  <ebb9@byu.net>
76231
76232         * lib/stdlib-safer.h: New file from coreutils, required by
76233         stdlib--.h.
76234
76235 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76236
76237         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76238
76239 2006-07-20  Bruno Haible  <bruno@clisp.org>
76240
76241         * gnulib-tool: Recognize new option --assume-autoconf.
76242         (autoconf_minversion): New variable.
76243         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76244
76245 2006-07-20  Bruno Haible  <bruno@clisp.org>
76246
76247         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76248
76249 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76250
76251         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76252         Reindent and repaginate.
76253
76254 2006-07-19  Derek Price  <derek@ximbiot.com>
76255
76256         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76257         Correct grammar.
76258
76259 2006-07-17  Bruno Haible  <bruno@clisp.org>
76260
76261         * modules/list: New file.
76262         * modules/array-list: New file.
76263         * modules/carray-list, modules/carray-list-tests: New files.
76264         * modules/linked-list, modules/linked-list-tests: New files.
76265         * modules/avltree-list, modules/avltree-list-tests: New files.
76266         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76267         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76268         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76269         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76270         * modules/oset: New file.
76271         * modules/array-oset: New file.
76272         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76273         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76274         * tests/test-carray_list.c: New file.
76275         * tests/test-linked_list.c: New file.
76276         * tests/test-avltree_list.c: New file.
76277         * tests/test-rbtree_list.c: New file.
76278         * tests/test-linkedhash_list.c: New file.
76279         * tests/test-avltreehash_list.c: New file.
76280         * tests/test-rbtreehash_list.c: New file.
76281         * tests/test-avltree_oset.c: New file.
76282         * tests/test-rbtree_oset.c: New file.
76283         * MODULES.html.sh (Container data structures): New section.
76284
76285 2006-07-17  Bruno Haible  <bruno@clisp.org>
76286
76287         * m4/gl_list.m4: New file.
76288
76289 2006-07-17  Bruno Haible  <bruno@clisp.org>
76290
76291         * lib/gl_list.h: New file.
76292         * lib/gl_list.c: New file.
76293         * lib/gl_array_list.h: New file.
76294         * lib/gl_array_list.c: New file.
76295         * lib/gl_carray_list.h: New file.
76296         * lib/gl_carray_list.c: New file.
76297         * lib/gl_linked_list.h: New file.
76298         * lib/gl_linked_list.c: New file.
76299         * lib/gl_anylinked_list1.h: New file.
76300         * lib/gl_anylinked_list2.h: New file.
76301         * lib/gl_avltree_list.h: New file.
76302         * lib/gl_avltree_list.c: New file.
76303         * lib/gl_anyavltree_list1.h: New file.
76304         * lib/gl_anyavltree_list2.h: New file.
76305         * lib/gl_rbtree_list.h: New file.
76306         * lib/gl_rbtree_list.c: New file.
76307         * lib/gl_anyrbtree_list1.h: New file.
76308         * lib/gl_anyrbtree_list2.h: New file.
76309         * lib/gl_anytree_list1.h: New file.
76310         * lib/gl_anytree_list2.h: New file.
76311         * lib/gl_linkedhash_list.h: New file.
76312         * lib/gl_linkedhash_list.c: New file.
76313         * lib/gl_anyhash_list1.h: New file.
76314         * lib/gl_anyhash_list2.h: New file.
76315         * lib/gl_avltreehash_list.h: New file.
76316         * lib/gl_avltreehash_list.c: New file.
76317         * lib/gl_rbtreehash_list.h: New file.
76318         * lib/gl_rbtreehash_list.c: New file.
76319         * lib/gl_anytreehash_list1.h: New file.
76320         * lib/gl_anytreehash_list2.h: New file.
76321
76322         * lib/gl_oset.h: New file.
76323         * lib/gl_oset.c: New file.
76324         * lib/gl_array_oset.h: New file.
76325         * lib/gl_array_oset.c: New file.
76326         * lib/gl_avltree_oset.h: New file.
76327         * lib/gl_avltree_oset.c: New file.
76328         * lib/gl_rbtree_oset.h: New file.
76329         * lib/gl_rbtree_oset.c: New file.
76330         * lib/gl_anytree_oset.h: New file.
76331
76332 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76333
76334         * m4/mkancesdirs.m4: New file.
76335         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76336         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76337         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76338         it.
76339
76340 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76341
76342         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76343         * lib/mkancesdirs.h: New files.
76344         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76345         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76346         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76347         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76348         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76349         callers changed.  Revamp internals significantly, by not
76350         attempting to create directories that are temporarily more
76351         permissive than the final results.  Do not attempt to use
76352         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76353         This removes some race conditions, fixes some bugs, and simplifies
76354         things.  Use new dirchownmod function to do owner and mode changes.
76355         * lib/mkdir-p.h: Likewise.
76356         * lib/modechange.c (octal_to_mode): New function.
76357         (struct mode_change): New member mentioned.
76358         (make_node_op_equals): New arg mentioned.  All callers changed.
76359         (mode_compile): Keep track of which mode bits the user has explicitly
76360         mentioned.
76361         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76362         New arg PMODE_BITS, to keep track of which mode bits the user
76363         mentioned; it treats S_ISUID and S_ISGID speciall.
76364         All callers changed.
76365         * lib/modechange.h: Likewise.
76366
76367 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76368
76369         * MODULES.html.sh: Add mkancestors.
76370         * modules/mkancesdirs: New module.
76371         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76372         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76373         The chdir-safer and afs files are now orphans; I'll remove them
76374         unless someone speaks up.
76375         Add lib/dirchownmod.c, lib/dirchownmod.h.
76376         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76377         Add lchown, mkancesdirs.
76378         (Maintainer): Add self.
76379
76380 2006-07-15  Karl Berry  <karl@gnu.org>
76381
76382         * gnulib-tool: help message wording/arrangement.
76383
76384 2006-07-14  Simon Josefsson  <jas@extundo.com>
76385
76386         * doc/gnulib.texi (Libtool and Windows): New section.
76387
76388 2006-07-12  Simon Josefsson  <jas@extundo.com>
76389
76390         * modules/gendocs (License): Fix license, approved by Karl.
76391
76392 2006-07-12  Eric Blake  <ebb9@byu.net>
76393
76394         * MODULES.html.sh: Add gendocs.
76395
76396 2006-07-11  Eric Blake  <ebb9@byu.net>
76397
76398         * modules/fdl: New module, to install doc/fdl.texi.
76399         * MODULES.html.sh: Add new section for documentation modules.
76400         * gnulib-tool: Avoid space-tab.
76401         (--doc-base): New option, to manage files from doc.
76402
76403 2006-07-11  Eric Blake  <ebb9@byu.net>
76404
76405         * m4/absolute-header.m4: Fix comments to match recent change.
76406
76407 2006-07-11  Eric Blake  <ebb9@byu.net>
76408
76409         * gnulib-tool: List --doc-base before --tests-base.
76410
76411 2006-07-11  Derek R. Price  <derek@ximbiot.com>
76412
76413         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
76414
76415 2006-07-11  Bruno Haible  <bruno@clisp.org>
76416
76417         * README: Mention where to put documentation.
76418
76419 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76420
76421         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
76422
76423 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76424
76425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
76426         to stdint.m4.
76427
76428 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76429
76430         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
76431         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
76432         "no/such/file/stdint.h" when there is no such file, so that
76433         the resulting C code can be parsed by dodgy compilers.
76434         Problems reported by Bob Proulx.
76435
76436 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76437
76438         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
76439         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76440         macros into the GNU _D_EXACT_NAMLEN.
76441         * lib/savedir.c:  Likewise.
76442         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
76443
76444 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76445         and Paul Eggert  <eggert@cs.ucla.edu>
76446
76447         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
76448         * m4/savedir.m4:
76449         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76450         macros into the GNU _D_EXACT_NAMLEN.
76451
76452 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76453
76454         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
76455         around the absolute name, to work around a problem with the HP-UX
76456         11.23 native C compiler, reported by Bob Proulx.
76457
76458 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76459
76460         * doc/maintain.texi, make-stds.texi: Sync from
76461         <http://savannah.gnu.org/projects/gnustandards>.
76462
76463 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76464
76465         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
76466
76467 2006-07-09  Jim Meyering  <jim@meyering.net>
76468
76469         * m4/glob.m4: Remove a doubled word in a comment.
76470
76471 2006-07-09  Jim Meyering  <jim@meyering.net>
76472
76473         * lib/argp-pv.c: Remove a doubled word in a comment.
76474         * lib/check-version.c (check_version): Likewise.
76475         * lib/javacomp.c (compile_java_class): Likewise.
76476
76477 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76478
76479         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
76480         for the benefit of people using Autoconf 2.60.  If you want to
76481         support older Autoconf versions you can copy m4/onceonly_2_57.m4
76482         (or m4/onceonly.m4, if pre-2.57) manually.
76483
76484 2006-07-08  Jim Meyering  <jim@meyering.net>
76485
76486         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
76487         comment.
76488         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
76489         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
76490         comment.
76491
76492 2006-07-08  Jim Meyering  <jim@meyering.net>
76493
76494         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
76495
76496 2006-07-07  Simon Josefsson  <jas@extundo.com>
76497
76498         * tests/test-crc.c: Change expected crc value, the test vector
76499         were probably computed using the old broken crc.c?
76500
76501 2006-07-06  Simon Josefsson  <jas@extundo.com>
76502
76503         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
76504         now the canonical place for the M4 file).
76505
76506         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
76507         from the sys_socket dependency now.
76508
76509         * modules/inet_pton (Files): Ditto.
76510
76511         * modules/inet_ntop (Files): Ditto.
76512
76513 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76514
76515         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
76516         not gl_PREREQ_GETUSERSHELL.
76517
76518 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76519
76520         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
76521         with only one argument, for Autoconf 2.60.
76522         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
76523         expand to nothing, so add a shell command to avoid syntax error.
76524         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76525
76526 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76527
76528         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
76529
76530 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76531
76532         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76533         no longer needed.  Check for isblank decl.
76534         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76535         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76536         of existence.
76537
76538 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76539
76540         * lib/getloadavg.c: Use __VMS, not VMS.
76541         * lib/getopt.c: Likewise.
76542         * lib/getpagesize.h: Likewise.
76543         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76544         and probably does not work.
76545
76546 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76547
76548         * lib/.cppi-disable: Add wcwidth.
76549         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76550         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76551         (ISGRAPH): Remove.  All uses changed to isgraph.
76552         (FOLD) [!defined _LIBC]: Remove special case.
76553         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76554         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76555         HAVE_ISBLANK.
76556         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76557         case.
76558
76559 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76560
76561         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76562         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76563         brackets.  Other minor changes to suppress some compiler
76564         warnings.
76565
76566 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76567         and Paul Eggert  <eggert@cs.ucla.edu>
76568
76569         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76570         of invoking obsolescent AC_HEADER_DIRENT macro.
76571         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76572         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76573         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76574         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76575         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76576         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76577         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76578         * m4/readdir.m4: Remove; no longer needed.
76579
76580 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76581         and Paul Eggert  <eggert@cs.ucla.edu>
76582
76583         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76584         Don't worry about this obsolete case any more.
76585         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76586         directories.
76587         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76588         worry about this obsolete case any more.
76589         * lib/fts.c: Likewise.
76590         * lib/getcwd.c: Likewise.
76591         * lib/glob.h: Likewise.
76592         * lib/savedir.c: Likewise.
76593
76594 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76595
76596         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76597         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76598         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76599         needed.
76600         All uses removed.
76601         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76602         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76603         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76604         needed.
76605         * m4/getdate.m4 (gl_GETDATE): Likewise.
76606         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76607         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76608         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76609         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76610         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76611         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76612         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76613         needed.
76614
76615 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76616
76617         * lib/memcasecmp.c: Include <limits.h>.
76618         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76619         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76620         Don't assume isdigit succeeds only on '0' through '9'.
76621
76622 2006-07-05  Eric Blake  <ebb9@byu.net>
76623
76624         * modules/getaddrinfo (Depends-on): Add snprintf.
76625
76626 2006-07-05  Eric Blake  <ebb9@byu.net>
76627
76628         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76629         to avoid 'header present but could not be compiled' on cygwin.
76630
76631 2006-07-05  Eric Blake  <ebb9@byu.net>
76632
76633         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76634         missing from netdb.h.
76635         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76636
76637 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76638
76639         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76640         no longer needed.
76641         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76642         * m4/getdate.m4 (gl_GETDATE): Likewise.
76643         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76644         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76645         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76646         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76647         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76648
76649 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76650
76651         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76652         All uses of is_space replaced by isspace.
76653         * lib/exit.h: Don't talk about STDC_HEADERS.
76654         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76655         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76656         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76657         replaced by isprint etc.
76658         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76659         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76660         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76661         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76662         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76663         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76664
76665 2006-07-05  Bruno Haible  <bruno@clisp.org>
76666
76667         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76668         the function exists, before testing against AIX.
76669         Reported by Martin Lambers <marlam@marlam.de>.
76670
76671 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76672
76673         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76674         From Mark D. Baushke.
76675
76676 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76677
76678         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76679         to the absolute name, not just one, to bypass Sun C 5.8's
76680         "warning: #include of /usr/include/... may be non-portable".
76681
76682 2006-07-04  Eric Blake  <ebb9@byu.net>
76683
76684         * modules/dirname-tests: New test module.
76685         * tests/test-dirname.c: New file, replacing dirname.c
76686         TEST_DIRNAME section that was recently deleted.
76687
76688 2006-07-04  Bruno Haible  <bruno@clisp.org>
76689
76690         Assume ANSI C header files and <ctype.h> functions.
76691         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76692         (mbsnwidth): Use isprint, iscntrl instead.
76693
76694 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76695
76696         Merge from coreutils.
76697         * MODULES.html.sh: Add xstrtold.
76698         * modules/xstrtold: New file.
76699         * modules/cycle-check (Files): Add lib/same-inode.h.
76700         * modules/dirname (Files): Add m4/double-slash-root.m4.
76701         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76702         * modules/mkdir-p (Files): Add lib/same-inode.h.
76703         * modules/same (Files): Add lib/same-inode.h.
76704
76705 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76706
76707         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76708         This is to keep the terminology clean; POSIX talks about
76709         "absolute pathnames", not "full pathnames", but the GNU
76710         Coding Standards say to use "path" for something else;
76711         so use "absolute" to keep both sides happy.
76712         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76713         Set gl_absolute_header, not gl_full_header_path.
76714         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76715         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76716         All uses changed.
76717
76718         Merge from coreutils.
76719
76720         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76721
76722         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76723         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76724         want to require the building of c-strtod.o.
76725         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76726         needs -lm directly.
76727         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76728
76729         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76730
76731         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76732         --as-needed option if available.  Problem reported by Albert Chin in
76733         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76734         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76735         cc merely issues a bunch of annoying warnings for --as-needed
76736         (this problem was reported by Bob Proulx).  Also, try linking with
76737         -lm to detect a bug in binutils 2.16 (this problem was reported
76738         by Ralf Wildenhues).
76739
76740         2006-06-18  Jim Meyering  <jim@meyering.net>
76741
76742         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76743         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76744         macro.
76745         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76746         also check for glibc-2.4's abort-inducing bug.
76747
76748         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76749         Low-probability clean-up should be to use rmdir to get rid of
76750         the just-created directory, not unlink.
76751
76752         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76753         configure fail, and request a bug report to inform us about it.
76754         Add a comment that, barring reports to the contrary, in 2007 we'll
76755         assume ftruncate is universally available.
76756
76757         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76760
76761         2006-03-12  Jim Meyering  <jim@meyering.net>
76762
76763         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76764         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76765         * m4/same.m4 (gl_SAME): Likewise.
76766         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76767
76768         2006-03-11  Eric Blake  <ebb9@byu.net>
76769
76770         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76771         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76772         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76773         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76774
76775 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76776
76777         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76778         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76779         reported by Mark D. Baushke, one in
76780         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76781
76782         Merge from coreutils.
76783
76784         * lib/.cppi-disable: Add stdint_.h.
76785         * lib/.cvsignore: Add stdint.h.
76786
76787         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76788
76789         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76790         both double and long double versions.
76791         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76792         * lib/xstrtold.c: New file.
76793         * lib/xstrtod.h (xstrtold): New decl.
76794
76795         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76796
76797         * lib/filemode.c (setst): Remove.
76798         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76799         (arguably) clearer, and the generated code is a bit smaller on my
76800         Debian GNU/Linux stable x86 host.
76801
76802         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76803
76804         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76805         Assume that filemode.h includes sys/types.h and sys/stat.h.
76806         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76807         (ftypelet): Reorder to put common cases first, for efficiency.
76808         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76809         to do 'M'.
76810         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76811         of 10, for compatibility with FreeBSD.  All callers changed.
76812         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76813         types that can't be deduced solely from st_mode.  First arg is now a
76814         const pointer.
76815         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76816         (strmode): Renamed from mode_string.
76817         (filemodestring): New decl.
76818         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76819         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76820         needed.
76821         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76822
76823         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76824
76825         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76826         fsusage.h now does that.  Include fsusage.h first, to test interface.
76827         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76828         at most one method (the old code could have generated decls that
76829         didn't conform to C89, not that this was ever exercised).
76830         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76831
76832         2006-03-19  Jim Meyering  <jim@meyering.net>
76833
76834         Work even in a chroot where d_ino values for entries in "/"
76835         don't match the stat.st_ino values for the same names.
76836         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76837         number, iterate through all entries again, using lstat instead.
76838         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76839         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76840
76841         * lib/getcwd.c (__getcwd): Clarify a comment.
76842         Use memcpy in place of a call to strcpy.
76843
76844         2006-03-12  Jim Meyering  <jim@meyering.net>
76845
76846         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76847         matches that of the current directory (which we're about to chdir ".."
76848         out of), then save the dev-ino of the parent, instead.
76849
76850         * lib/same-inode.h (SAME_INODE): New file/macro.
76851         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76852         Include "same-inode.h", instead.
76853         * lib/same.c: Likewise.
76854         * lib/cycle-check.h: Include "same-inode.h".
76855         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76856         * lib/cycle-check.c (SAME_INODE): Remove definition.
76857         * lib/root-dev-ino.h: Include "same-inode.h".
76858
76859         2006-03-11  Eric Blake  <ebb9@byu.net>
76860
76861         * lib/same.c (same_name): s/base_name/last_component/
76862         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76863         * lib/filenamecat.c (file_name_concat): Likewise.
76864
76865         2006-03-11  Eric Blake  <ebb9@byu.net>,
76866                     Paul Eggert  <eggert@cs.ucla.edu>
76867
76868         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76869         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76870         drive prefix.
76871         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76872         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76873         (last_component): New method.
76874         * lib/dirname.c (dir_len): Determine when drive letters need a
76875         subsequent slash.  Preserve // when it is special.
76876         (dir_name): Don't append dot when drive letter is absolute.
76877         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76878         * lib/basename.c (base_name): New semantics - malloc the result.
76879         Preserve // when it is special.  Preserve relative files that look
76880         like drive letters.
76881         (base_len): Preserve // when it is special.
76882         (last_component): New method, similar to old base_name semantics.
76883         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76884         base_name.  Strip redundant slashes from ///.
76885
76886 2006-07-03  Jim Meyering  <jim@meyering.net>
76887
76888         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76889         macro is used before the first cycle_check call.
76890
76891 2006-07-03  Eric Blake  <ebb9@byu.net>
76892
76893         * modules/dirname (Depends-on): Add xstrndup.
76894
76895 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76896
76897         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76898         test cases, so that config.log is a bit easier to follow.
76899
76900 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76901
76902         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76903         both are 64 bits, since this seems to be the tradition, and this
76904         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
76905         we ever run into a host that prefers long long to long in this
76906         case, we'll need another configure-time test.  Problem reported by
76907         Jim Meyering.
76908
76909 2006-07-02  Eric Blake  <ebb9@byu.net>
76910
76911         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
76912
76913 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76914
76915         * modules/inttypes (Depends-on): No longer depends on stdint.
76916         * modules/stdint (Description): Say more about assumptions.
76917         Say that the fast types might differ.  Say macros are used.
76918         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
76919         (Makefile.am): Revise list of substituted symbols to match
76920         new stdint.m4.
76921         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
76922         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
76923         * tests/test-stdint.c (verify_same_types)
76924         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
76925         the code conforms to C99/C89.
76926         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
76927         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
76928
76929 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76930
76931         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
76932         but fix a bug, by requiring at least 64 bits.
76933         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
76934         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
76935         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
76936         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76937
76938         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
76939         changes.  Make 2.59 a prerequisite.  Check and substitute for
76940         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
76941         inttypes.h.  Do not use special include files; just use the
76942         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
76943         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
76944         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
76945         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
76946         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
76947         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
76948         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
76949         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
76950         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
76951         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
76952         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
76953         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
76954         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
76955         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
76956         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
76957         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
76958         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
76959         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
76960         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
76961         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
76962         WINT_MAX.  Check for C99 conformance more strictly, by detecting
76963         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
76964         not check for things that C99 does not require, e.g., int8_t.  If
76965         a test isn't needed unless <stdint.h> isn't working, and is
76966         unlikely to be needed for any other reason, then don't do it
76967         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
76968         size_t, since we assume C89 freestanding at least.  Do not check
76969         for sig_atomic_t, wchar_t, or wint_t, since the code now does
76970         the right thing even if the types are not defined.  Instead use:
76971         (gl_STDINT_TYPE_PROPERTIES): New macro.
76972         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
76973         testing whether <sys/types.h> clashes, as Autoconf does this for
76974         us now.  All uses removed.
76975         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
76976         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
76977         (gl_CHECK_TYPE_SAME):
76978         Remove; no longer needed.
76979         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
76980         exists, since we'll return 0 anyway in that case.
76981         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
76982
76983 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76984
76985         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
76986         possible collision with system files.
76987         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
76988         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
76989         WCHAR_MIN and WCHAR_MAX in this case.
76990         (<stddef.h>): Do not include; no longer needed.
76991         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
76992         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
76993         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
76994         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
76995         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
76996         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
76997         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
76998         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
76999         !defined(__c99))]: Include in this case too, since it's harmless
77000         now.
77001         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77002         dangerous to do so.
77003         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77004         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77005         (_STDINT_MIN, _STDINT_MAX): New macros.
77006         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77007         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77008         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77009         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77010         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77011         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77012         macros, not typedefs; this simplifies things quite a bit.
77013         Use long int for all types narrower than int64_t.
77014         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77015         Define in terms of long long int or int64_t or long int,
77016         not int64_t or int32_t.  This saves some compile-time testing.
77017         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77018         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77019         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77020         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77021         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77022         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77023         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77024         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77025         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77026         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77027         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77028         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77029         undef any previous version and define our own version, for
77030         simplicity and consistency with the new macros for types.
77031         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77032         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77033         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77034         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77035         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77036         @WINT_T_SUFFIX@ to keep things simple here.
77037         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77038         Simplify by assuming typical 8/16/32/64 host, since we're
77039         already doing that elsewhere anyway.
77040         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77041         and assume long long int is 64 bits if available.  This
77042         speeds up 'configure'.
77043
77044 2006-07-01  Eric Blake  <ebb9@byu.net>
77045
77046         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77047         Reported by Andreas Buening.
77048
77049 2006-07-01  Eric Blake  <ebb9@byu.net>
77050
77051         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77052
77053 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77054
77055         * lib/getaddrinfo.c: fixed typo
77056
77057 2006-06-29  Jim Meyering  <jim@meyering.net>
77058
77059         * modules/strftime (Maintainer): Add my name, since with the
77060         FPRINTFTIME changes strftime.c has forked from glibc.
77061
77062 2006-06-29  Eric Blake  <ebb9@byu.net>
77063
77064         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77065
77066 2006-06-29  Eric Blake  <ebb9@byu.net>
77067
77068         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77069
77070 2006-06-29  Eric Blake  <ebb9@byu.net>
77071
77072         * lib/stat_.h: New file.
77073
77074 2006-06-29  Eric Blake  <ebb9@byu.net>
77075
77076         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77077         unused static function.
77078
77079 2006-06-29  Eric Blake  <ebb9@byu.net>
77080
77081         * doc/functions.texi (Function Portability): Document missing lstat
77082         on mingw.
77083
77084 2006-06-29  Eric Blake  <ebb9@byu.net>
77085
77086         * MODULES.html.sh: Add sys_stat.
77087         * modules/sys_stat: New module.
77088         * modules/mkstemp (Depends-on): Add sys_stat.
77089
77090 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77091
77092         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77093
77094 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77095
77096         * m4/c-bs-a.m4: Removed.
77097
77098 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77099
77100         * lib/strftime.c: Assume strftime() exists.
77101
77102 2006-06-29  Derek Price  <derek@ximbiot.com>
77103
77104         * modules/c-bs-a: Removed - \a is C89.
77105         * MODULES.html.sh: Remove c-bs-a.
77106
77107 2006-06-29  Bruno Haible  <bruno@clisp.org>
77108
77109         * modules/wcwidth (License): Change to LGPL.
77110
77111 2006-06-28  Simon Josefsson  <jas@extundo.com>
77112
77113         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77114         on _WIN32.
77115
77116         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77117         getnameinfo.
77118
77119 2006-06-28  Simon Josefsson  <jas@extundo.com>
77120
77121         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77122
77123 2006-06-28  Simon Josefsson  <jas@extundo.com>
77124
77125         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77126         functions there.  It will succeed on Windows XP, but on Windows
77127         2000 and (presumably) earlier, it will fail, and use the internal
77128         re-implementation.
77129         (use_win32_p): New function.
77130         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77131         Support AI_NUMERICSERV to disable getservbyname.
77132         (getnameinfo): New function, only supports
77133         NI_NUMERICHOST|NI_NUMERICSERV for now.
77134
77135         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77136         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77137         getnameinfo.
77138
77139 2006-06-28  Eric Blake  <ebb9@byu.net>
77140
77141         * modules/wcwidth: New file.
77142         * modules/mbchar (Depends-on): Add wcwidth.
77143         * modules/mbswidth (Depends-on): Add wcwidth.
77144         * MODULES.html.sh: Add wcwidth.
77145
77146 2006-06-28  Eric Blake  <ebb9@byu.net>
77147
77148         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77149         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77150
77151 2006-06-28  Eric Blake  <ebb9@byu.net>
77152
77153         * lib/xvasprintf.h: Fix comments.
77154
77155 2006-06-28  Eric Blake  <ebb9@byu.net>
77156
77157         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77158         * lib/mbswidth.c (wcwidth): Move from here...
77159         * lib/wcwidth.h: ...to this new file.
77160
77161 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77162
77163         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77164
77165         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77166         it's obsolete.
77167         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77168
77169 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77170
77171         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77172         Autoconf 2.60 says this stuff was obsolete.
77173
77174 2006-06-28  Bruno Haible  <bruno@clisp.org>
77175
77176         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77177
77178 2006-06-28  Bruno Haible  <bruno@clisp.org>
77179
77180         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77181         gt_TYPE_WCHAR_T.
77182
77183 2006-06-28  Bruno Haible  <bruno@clisp.org>
77184
77185         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77186         declaration for wcwidth.
77187         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77188
77189 2006-06-28  Bruno Haible  <bruno@clisp.org>
77190
77191         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77192         (mkdir): Define using _mkdir.
77193
77194 2006-06-28  Bruno Haible  <bruno@clisp.org>
77195
77196         * lib/getaddrinfo.h: Fix POSIX URL.
77197         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77198         _WIN32.
77199         (use_win32_p): Make static.
77200         (getaddrinfo): Reject service name if it is empty or does not consist
77201         solely of decimal digits, or if its value is > 65535.
77202         (getnameinfo): Remove useless casts.
77203
77204 2006-06-27  Simon Josefsson  <jas@extundo.com>
77205
77206         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77207         Eggert and Martin Lambers.
77208
77209 2006-06-27  Simon Josefsson  <jas@extundo.com>
77210
77211         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77212         Eggert and Martin Lambers.
77213
77214 2006-06-27  Bruno Haible  <bruno@clisp.org>
77215
77216         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77217         result to 0, not to empty.
77218         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77219
77220 2006-06-27  Bruno Haible  <bruno@clisp.org>
77221
77222         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77223
77224 2006-06-26  Simon Josefsson  <jas@extundo.com>
77225
77226         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77227         present.
77228
77229 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77230
77231         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77232         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77233         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77234
77235 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77236
77237         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77238
77239 2006-06-26  Bruno Haible  <bruno@clisp.org>
77240
77241         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77242
77243 2006-06-26  Bruno Haible  <bruno@clisp.org>
77244
77245         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77246
77247 2006-06-26  Bruno Haible  <bruno@clisp.org>
77248
77249         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77250         SGI C compiler in pre-C99 mode.
77251         Suggested by Mark D. Baushke and Larry Jones.
77252
77253 2006-06-26  Bruno Haible  <bruno@clisp.org>
77254
77255         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77256         WCHAR_MAX.
77257         Reported by Mark D. Baushke and Larry Jones.
77258
77259 2006-06-26  Bruno Haible  <bruno@clisp.org>
77260
77261         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77262         in pre-C99 mode.
77263         Suggested by Mark D. Baushke and Larry Jones.
77264
77265 2006-06-23  Simon Josefsson  <jas@extundo.com>
77266             Bruno Haible  <bruno@clisp.org>
77267
77268         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77269         Emit mostlyclean-local rule.
77270         (func_emit_tests_Makefile_am): Likewise.
77271         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77272
77273 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77274
77275         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77276
77277 2006-06-23  Bruno Haible  <bruno@clisp.org>
77278
77279         * tests/test-stdint.c: Update to match ISO C 99 Technical
77280         Corrigendum 1.
77281
77282 2006-06-23  Bruno Haible  <bruno@clisp.org>
77283
77284         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77285
77286 2006-06-23  Bruno Haible  <bruno@clisp.org>
77287
77288         * lib/stdint_.h: Treat IRIX like OpenBSD.
77289
77290 2006-06-23  Bruno Haible  <bruno@clisp.org>
77291
77292         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77293         ISO C 99 Technical Corrigendum 1.
77294
77295 2006-06-22  Simon Josefsson  <jas@extundo.com>
77296
77297         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77298         MinGW.
77299
77300 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77301
77302         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77303         needed.  Some compiler complained about some of them.  Problem reported
77304         by Larry Jones in
77305         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77306
77307 2006-06-21  Simon Josefsson  <jas@extundo.com>
77308
77309         * tests/test-getaddrinfo.c: New file.
77310
77311         * modules/getaddrinfo-tests: New file.
77312
77313         * MODULES.html.sh: Add inet_pton.
77314
77315         * modules/inet_pton: New file.
77316
77317 2006-06-21  Simon Josefsson  <jas@extundo.com>
77318
77319         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77320         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77321         of using the (limited) gnulib implementation on Windows XP.
77322
77323         * m4/inet_pton.m4: New file.
77324
77325 2006-06-21  Simon Josefsson  <jas@extundo.com>
77326
77327         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77328         variable.
77329
77330         * lib/socket_.h: Don't define WINVER.
77331
77332         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77333         slightly modified to work in gnulib.
77334
77335 2006-06-21  Simon Josefsson  <jas@extundo.com>
77336
77337         * doc/gnulib.texi (Windows sockets): Add.
77338
77339 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77340
77341         * lib/read-file.c (fread_file): Start with buffer allocation of
77342         0 bytes rather than 1 byte; this simplifies the code.
77343         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77344         code to free buffer and save/restore errno.
77345         (internal_read_file): Remove unused local.
77346
77347 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77348
77349         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77350         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77351         Problem reported by Denis Excoffier in
77352         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77353
77354 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77355
77356         * modules/sys_socket, modules/socklen: Include sys/types since
77357         FreeBSD 4.x's sys/socket.h needs it.
77358
77359 2006-06-19  Simon Josefsson  <jas@extundo.com>
77360
77361         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77362
77363 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77364
77365         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77366
77367 2006-06-19  Bruno Haible  <bruno@clisp.org>
77368
77369         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77370         and FULL_PATH_INTTYPES_H in angle brackets.
77371         Reported by Mark D. Baushke <mdb@gnu.org>.
77372
77373 2006-06-17  Eric Blake  <ebb9@byu.net>
77374
77375         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77376         errno.
77377
77378 2006-06-17  Bruno Haible  <bruno@clisp.org>
77379
77380         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77381         <sys/inttypes.h>.
77382
77383 2006-06-17  Bruno Haible  <bruno@clisp.org>
77384
77385         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77386         whether errno is declared. Assume <errno.h> declares errno.
77387
77388 2006-06-17  Bruno Haible  <bruno@clisp.org>
77389
77390         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77391
77392 2006-06-17  Bruno Haible  <bruno@clisp.org>
77393
77394         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
77395         problem on Solaris 2.5.1.
77396
77397 2006-06-16  Eric Blake  <ebb9@byu.net>
77398
77399         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
77400         * lib/unicodeio.c [!defined errno]: Likewise.
77401         * lib/strtol.c [!defined errno]: Likewise.
77402         * lib/strtod.c [!defined errno]: Likewise.
77403
77404 2006-06-15  Eric Blake  <ebb9@byu.net>
77405
77406         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
77407
77408 2006-06-15  Eric Blake  <ebb9@byu.net>
77409
77410         * config/srclist.txt (ssize_t.m4): Lose sync.
77411
77412 2006-06-15  Bruno Haible  <bruno@clisp.org>
77413
77414         * modules/stdint (Files): Include m4/full-header-path.m4,
77415         m4/size_max.m4, m4/wchar_t.m4.
77416         (Makefile.am): Many more substitutions.
77417         * modules/stdint-tests: New file.
77418         * tests/test-stdint.c: New file.
77419
77420 2006-06-15  Bruno Haible  <bruno@clisp.org>
77421
77422         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
77423         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
77424         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
77425         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
77426         gl_CHECK_TYPE_SAME): New macros.
77427
77428 2006-06-15  Bruno Haible  <bruno@clisp.org>
77429
77430         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
77431
77432 2006-06-15  Bruno Haible  <bruno@clisp.org>
77433
77434         * lib/stdint_.h: Rewritten to be fully auto-configured.
77435         Fixes bug on HP-UX/IA64.
77436
77437 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
77438
77439         * lib/getdate.y (__attribute__): Don't define if already defined.
77440         Problem reported by Larry Jones.
77441         * lib/utimens.c (__attribute__): Likewise.
77442
77443 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
77444
77445         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
77446         reported by Andreas Schwab.
77447
77448 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77449             Bruno Haible  <bruno@clisp.org>
77450
77451         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
77452         check for the declaration of strnlen and a run test that exposes the
77453         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
77454         rpl_strndup.
77455
77456 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77457             Bruno Haible  <bruno@clisp.org>
77458
77459         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
77460
77461 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77462
77463         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
77464         compile test, for Tru64 4.0D.
77465
77466 2006-05-28  Karl Berry  <karl@gnu.org>
77467
77468         * config/srclist.txt (printf-args.c): lose sync.
77469
77470 2006-05-26  Martin Lambers  <marlam@marlam.de>
77471
77472         * lib/getpass.c: Updates the test for the native W32 API, and adds
77473         missing includes, thus fixing compilation warnings.
77474
77475 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77476
77477         * lib/exclude.c (exclude_fnmatch): New function.
77478         (excluded_file_name): Call exclude_fnmatch.
77479         * lib/exclude.h (excluded_file_name): New prototype
77480
77481 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
77482
77483         * lib/tempname.c (small_open, large_open): New macros.
77484         (__open, __open64) [!_LIBC]: Remove.
77485         (__gen_tempname): Use small_open and large_open instead of __open
77486         and __open64.  This fixes a portability bug on HP-UX 11.11i
77487         reported by Simon Wing-Tang in
77488         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
77489
77490 2006-05-24  Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
77493         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
77494         Reported by Thorsten Maerz <torte@netztorte.de> via
77495         Aaron Stone <aaron@serendipity.cx>.
77496
77497 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77498
77499         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
77500         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
77501         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
77502         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
77503         not really conditional on the cache.
77504         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
77505
77506 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77507
77508         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
77509         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
77510         (my_usleep): Don't mishandle maximum value.
77511
77512 2006-05-19  Jim Meyering  <jim@meyering.net>
77513
77514         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
77515
77516 2006-05-17  Bruno Haible  <bruno@clisp.org>
77517
77518         Cygwin portability.
77519         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
77520
77521 2006-05-17  Bruno Haible  <bruno@clisp.org>
77522
77523         * lib/stdint_.h: Fix recognition of Cygwin.
77524
77525 2006-05-15  Bruno Haible  <bruno@clisp.org>
77526
77527         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
77528         on libtool patch by Ralf Wildenhues.
77529
77530 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77531
77532         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77533         test for C99 conformance; (bool) 0.5 is an integer constant
77534         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77535         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77536
77537 2006-05-11  Simon Josefsson  <jas@extundo.com>
77538
77539         * m4/xvasprintf.m4: Fix obvious typo.
77540
77541 2006-05-11  Jim Meyering  <jim@meyering.net>
77542
77543         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77544         James Lemley.
77545
77546 2006-05-10  Simon Josefsson  <jas@extundo.com>
77547
77548         * lib/md4.c: Typo fix, update copyright years.
77549         (K1, K2): Don't use L because it turn computations into 64-bit on
77550         64-bit platforms.
77551
77552 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77555         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77556         unwanted sign propagation, e.g., on hosts with 64-bit int.
77557         There still are some problems with reeelly weird theoretical hosts
77558         (e.g., 33-bit int) but it's not worth worrying about now.
77559         * lib/sha1.c (rol): Likewise.
77560         (K1, K2, K3, K4): Remove unnecessary L suffix.
77561
77562 2006-05-10  Bruno Haible  <bruno@clisp.org>
77563
77564         * lib/des.c: Cast to avoid warnings.
77565
77566 2006-05-09  Bruno Haible  <bruno@clisp.org>
77567
77568         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77569         (Depends-on): Depend also on xsize, stdarg.
77570         (configure.ac): Add gl_XVASPRINTF.
77571
77572 2006-05-09  Bruno Haible  <bruno@clisp.org>
77573
77574         * m4/xvasprintf.m4: New file.
77575
77576 2006-05-09  Bruno Haible  <bruno@clisp.org>
77577
77578         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77579         (EOVERFLOW): Define fallback value.
77580         (xstrcat): New function.
77581         (xvasprintf): Recognize the special case of a string concatenation.
77582
77583 2006-05-08  Eric Blake  <ebb9@byu.net>
77584
77585         * gnulib-tool (func_version): Base copyright year on CVS date.
77586         (func_emit_copyright_notice): New function.
77587         (func_emit_lib_Makefile_am): Use it.
77588         (func_emit_tests_Makefile_am): Likewise.
77589         (func_import): Likewise.
77590
77591 2006-05-08  Bruno Haible  <bruno@clisp.org>
77592
77593         * modules/stdarg: New file.
77594         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77595
77596 2006-05-08  Bruno Haible  <bruno@clisp.org>
77597
77598         * m4/stdarg.m4: New file, from GNU gettext.
77599
77600 2006-05-08  Bruno Haible  <bruno@clisp.org>
77601
77602         * config/srclist.txt (build-aux/config.rpath): different from latest
77603         release.
77604
77605 2006-05-08  Bruno Haible  <bruno@clisp.org>
77606
77607         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77608
77609 2006-05-05  Jim Meyering  <jim@meyering.net>
77610
77611         * m4/warning.m4: New file, derived from bison's file by the same name.
77612
77613 2006-05-03  Bruno Haible  <bruno@clisp.org>
77614
77615         * lib/stdint_.h: Shorter URL.
77616         * lib/inttypes.h: Likewise.
77617
77618 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77619
77620         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77621
77622 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77623
77624         * lib/verify.h: Document the internals better.  Most of this change
77625         was written by Bruno Haible.
77626
77627 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77628
77629         * doc/verify.texi: New file, partly based on a proposal by
77630         Bruno Haible.
77631
77632 2006-05-02  Bruno Haible  <bruno@clisp.org>
77633
77634         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77635         test from here...
77636         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77637
77638 2006-04-29  Bruno Haible  <bruno@clisp.org>
77639
77640         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77641         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77642
77643 2006-04-29  Bruno Haible  <bruno@clisp.org>
77644
77645         * gnulib-tool: Make --update option actually work.
77646
77647 2006-04-29  Bruno Haible  <bruno@clisp.org>
77648
77649         * doc/gcd.texi: New file.
77650         * doc/gnulib.texi: Include it.
77651
77652 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77653
77654         * lib/getdate.y (get_date): When adding relative date, start with the
77655         initial time, not with the result of the first mktime call.
77656
77657 2006-04-25  Bruno Haible  <bruno@clisp.org>
77658
77659         * gnulib-tool (func_import): Output the include directives in three
77660         blocks, sorted separately.
77661         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77662
77663 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77664
77665         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77666         to define main with arguments, for C++.  Reported by Eric Blake.
77667         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77668         Prefer 'int main ()' to 'int main (void)', for C++.
77669         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77670         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77671         for 'main', for C99 and C++.
77672
77673 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77674
77675         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77676         Don't assume that exit status -1 is valid.
77677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77678         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77679         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77680         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77681         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77682         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77683         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77684         functions can be used without declaring them, or that you can
77685         exit with status -1.
77686         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77687
77688 2006-04-24  Karl Berry  <karl@gnu.org>
77689
77690         * config/srclist.txt (longdouble.m4): sync lost.
77691
77692 2006-04-24  Eric Blake  <ebb9@byu.net>
77693
77694         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77695
77696 2006-04-24  Bruno Haible  <bruno@clisp.org>
77697
77698         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77699         poll() implementation in AIX.
77700         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77701
77702 2006-04-24  Bruno Haible  <bruno@clisp.org>
77703
77704         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77705         assigned exactly once.
77706
77707 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77708             Bruno Haible  <bruno@clisp.org>
77709
77710         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77711         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77712         for AM_CPPFLAGS.
77713
77714 2006-04-23  Bruno Haible  <bruno@clisp.org>
77715
77716         * modules/copy-file: Depend on unistd.
77717         * modules/execute: Likewise.
77718         * modules/fatal-signal: Likewise.
77719         * modules/findprog: Likewise.
77720         * modules/mkdtemp : Likewise.
77721         * modules/pipe: Likewise.
77722         * modules/wait-process: Likewise.
77723
77724 2006-04-23  Bruno Haible  <bruno@clisp.org>
77725
77726         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77727         condition was already detected.
77728         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77729
77730 2006-04-23  Bruno Haible  <bruno@clisp.org>
77731
77732         * lib/copy-file.c: Include <unistd.h> unconditionally.
77733         * lib/execute.c: Likewise.
77734         * lib/fatal-signal.c: Likewise.
77735         * lib/findprog.c: Likewise.
77736         * lib/mkdtemp.c: Likewise.
77737         * lib/pipe.h: Likewise.
77738         * lib/pipe.c: Likewise.
77739         * lib/wait-process.h: Likewise.
77740
77741 2006-04-23  Bruno Haible  <bruno@clisp.org>
77742
77743         * gnulib-tool (func_usage): Fix --import description. Document
77744         --update.
77745         (func_import): Create temporary file in a temporary directory, if
77746         --dry-run is specified. Silence errors from 'grep' when there are no
77747         m4 files in $m4dir.
77748         (func_create_testdir): Silence errors from 'grep' when there are no
77749         m4 files in $m4dir.
77750         Reported by Karl Berry <karl@freefriends.org>.
77751
77752 2006-04-20  Bruno Haible  <bruno@clisp.org>
77753
77754         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77755         one argument, so that the code will be portable to Autoconf 2.60.
77756         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77757         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77758         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77759
77760 2006-04-19  Derek Price  <derek@ximbiot.com>
77761             Eric Blake  <ebb9@byu.net>
77762
77763         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77764         rather than "/full/path.h".  Update comment to match.  Shorten &
77765         generalize m4_translit call via AS_TR_CPP.
77766
77767 2006-04-19  Derek Price  <derek@ximbiot.com>
77768             Eric Blake  <ebb9@byu.net>
77769
77770         * lib/inttypes.h: Correct grammar in comment.
77771
77772 2006-04-18  Derek Price  <derek@ximbiot.com>
77773             Paul Eggert  <eggert@cs.ucla.edu>
77774
77775         * modules/inttypes: New file.
77776         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77777
77778 2006-04-18  Derek Price  <derek@ximbiot.com>
77779             Paul Eggert  <eggert@cs.ucla.edu>
77780
77781         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77782         New files.
77783
77784 2006-04-18  Derek Price  <derek@ximbiot.com>
77785             Paul Eggert  <eggert@cs.ucla.edu>
77786
77787         * lib/inttypes.h: New file.
77788         * lib/strtoimax.c: Assume <inttypes.h>.
77789
77790 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77791
77792         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77793         isn't mounted.  Problem reported by Kir Kolyshkin.
77794
77795 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77796
77797         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77798         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77799         Derek R. Price.
77800         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77801         implementation.
77802
77803 2006-04-12  Eric Blake  <ebb9@byu.net>
77804
77805         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77806         is now done automatically by the corresponding Autoconf macro.
77807
77808 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77809
77810         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77811         time_r.h.
77812
77813 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77814
77815         Merge regex changes from libc, removing some of our
77816         POSIX-conformance changes that were rejected and redoing them in a
77817         less-intrusive way.
77818
77819         * lib/regcomp.c (re_compile_internal, init_dfa):
77820         Length arg is now size_t, not Idx.  All uses changed.
77821         (peek_token): Forward decl now says internal_function.
77822         (__re_error_msgid, __re_error_msgid_idx):
77823         Now static rather than extern with attribute_hidden.
77824         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77825         For some reason libc prefers K&R style defns for external functions.
77826         (regerror) [!defined _LIBC]: Likewise.
77827         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77828         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77829         (build_range_exp, build_collating_symbol):
77830         Use K&R-style defn.
77831         (re_compile_fastmap): Use '\0' to memset, not 0.
77832         (utf8_sb_map): Make the calculations more obvious.
77833         (init_dfa, parse_bracket_exp, build_charclass_op):
77834         Call calloc and cast result, as glibc does.
77835         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77836         (build_range_exp, build_collating_symbol):
77837         Now internal functions.
77838
77839         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77840
77841         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77842         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77843         Don't depend on VMS; depend on __VMS instead, for POSIX
77844         namespace cleanness.
77845         (regoff_t): Define to ssize_t, not long int.
77846
77847         Remove the REG_ macros named below.  Instead, make the old names
77848         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77849         __USE_GNU_REGEX.
77850         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77851         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77852         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77853         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77854         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77855         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77856         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77857         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77858         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77859         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77860         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77861         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77862         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77863         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77864         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77865         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77866         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77867         (REG_NREGS):
77868         Remove.  All uses replaced by the old RE_* names.
77869         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77870         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77871         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77872         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77873         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77874         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77875         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77876         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77877         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77878         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77879         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77880         Don't bother having these macros be independent of each others'
77881         values, since they no longer exist in the POSIX name space.
77882
77883         Rename the following member names back to their old names,
77884         unless !__USE_GNU_REGEX.  All uses changed back.
77885         (buffer): Renamed from re_buffer.
77886         (allocated): Renamed from re_allocated.
77887         (used): Renamed from re_used.
77888         (syntax): Renamed from re_syntax.
77889         (fastmap): Renamed from re_fastmap.
77890         (translate): Renamed from re_translate.
77891         (can_be_null): Renamed from re_can_be_null.
77892         (regs_allocated): Renamed from re_regs_allocated.
77893         (fastmap_accurate): Renamed from re_fastmap_accurate.
77894         (no_sub): Renamed from re_no_sub.
77895         (not_bol): Renamed from re_not_bol.
77896         (not_eol): Renamed from re_not_eol.
77897         (newline_anchor): Renamed from re_newline_anchor.
77898         (num_regs): Renamed from rm_num_regs.
77899         (start): Renamed from rm_start.
77900         (end): Renamed from rm_end.
77901
77902         (free_state): Move up a bit.
77903
77904         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
77905         #define to be empty.
77906         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
77907         when that is what is intended.
77908         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
77909         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
77910         (MAX): New macro.
77911         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
77912         All uses changed back to re_malloc, etc.  It's now the caller's
77913         responsibility to check for overflow; all callers changed.
77914         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
77915         (re_x2nrealloc): Remove.
77916         (free_state): Remove decl.
77917
77918         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
77919         (re_set_registers, re_exec):
77920         Use K&R-style defn.
77921
77922         2006-01-31  Roland McGrath  <roland@redhat.com>
77923
77924         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
77925         Reported by Mike Frysinger <vapier@gentoo.org>.
77926
77927         2006-01-15  Andreas Jaeger  <aj@suse.de>
77928
77929         [BZ #1950]
77930         * lib/regex_internal.c (re_string_reconstruct): Adjust for
77931         build_wcs_upper_buffer change.
77932         (build_wcs_upper_buffer): Change return type.
77933
77934         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
77935
77936         * lib/regex_internal.h: Include <stdint.h> if available.
77937
77938         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
77939
77940         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
77941
77942         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
77943
77944         * lib/regcomp.c: Adjust for changed secondary hash function.
77945
77946         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
77947
77948         * lib/regex.h: Pretty printing.
77949         Clean up namespace a bit.
77950
77951         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
77952
77953         * lib/regexec.c (update_cur_sifted_state, check_arrival,
77954         check_arrival_add_next_nodes): Avoid using uninitialized variable.
77955
77956         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77957                     Ulrich Drepper  <drepper@redhat.com>
77958
77959         [BZ #1302]
77960         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
77961         changed.
77962         (bitset_word_t): Renamed from bitset_word.  All uses changed.
77963
77964         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
77965
77966         [BZ #281]
77967         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
77968         * lib/regcomp.c: Remove unnecessary uses of
77969         unsigned RE_TRANSLATE_TYPE.
77970         * lib/regex_internal.h: Likewise.
77971         * lib/regex_internal.c: Likewise.
77972         * lib/regexec.c: Likewise.
77973         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
77974
77975         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
77976
77977         * lib/regexec.c (find_recover_state): Remove unnecessary
77978         initialization.
77979         (transit_state_bkref): Make DFA a const pointer.
77980         (get_subexp): Likewise.
77981         (check_arrival): Likewise.
77982         (update_cur_sifted_state): Likewise.
77983         (re_search_internal): Likewise.
77984         (prune_impossible_nodes): Likewise.
77985         (acquire_init_state_context): Likewise.
77986         (proceed_next_node): Likewise.
77987         (set_regs): Likewise.
77988         (free_fail_stack_return): Likewise.
77989         (check_arrival_expand_ecl): Mark DFA parameter as const.
77990         (check_arrival_expand_ecl_sub): Likewise.
77991         (check_subexp_limits): Likewise.
77992         (sub_epsilon_src_nodes):  Likewise.
77993         (add_epsilon_src_nodes):  Likewise.
77994         (merge_state_array): Likewise.
77995         (update_regs): Likewise.
77996         (build_trtable): Likewise.
77997         (sift_states_backward): Mark MCTX parameter as const.
77998         (build_sifted_states): Likewise.
77999         (update_cur_sifted_state): Likewise.
78000         (sift_states_mkref): Likewise.
78001         (check_arrival_expand_ecl): Mark eclosure as const.
78002         (check_dst_limits_calc_pos_1): Likewise.
78003         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78004         pointer.
78005
78006         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78007
78008         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78009         (transit_state_sb): Likewise.
78010         (transit_state_mb): Likewise.
78011         (sift_states_iter_mb): Likewise.
78012         (check_arrival_add_next_nodes): Likewise.
78013         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78014         [_LIBC] (re_search_2_stub): Use mempcpy.
78015
78016         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78017         mbrtowc for very simple UTF-8 case.
78018
78019         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78020         a pointer-to-const.
78021         (re_acquire_state_context): Likewise.
78022         * lib/regex_internal.h: Adjust prototypes.
78023
78024         * lib/regex.c: Prevent using C++ compilers.
78025
78026         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78027         (re_acquire_state_context): Likewise.
78028
78029 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * modules/regex (Depends-on): Add ssize_t.
78032
78033 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78034
78035         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78036         translation table.
78037
78038 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78039
78040         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78041
78042 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78043             Bruno Haible  <bruno@clisp.org>
78044
78045         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78046         <sys/types.h> and <inttypes.h>.
78047
78048 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78049
78050         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78051         `__error_t_defined', so argp.h will not typedef the former.
78052
78053 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78054
78055         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78056         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78057         glibc names.  Even if glibc is changed to conform to POSIX, the
78058         traditional names will be available anyway, since regex depends on
78059         the extensions module.  Also, fix a longstanding typo in the
78060         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78061         reported by Emanuele Giaquinta.  Also, change sense of cached
78062         variable, so that the message makes sense.
78063
78064 2006-03-24  Simon Josefsson  <jas@extundo.com>
78065
78066         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78067         including some doc fixes.
78068         (base64_encode_alloc): Fix +1 bug on allocation failures.
78069
78070 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78071
78072         * lib/base64.c (base64_encode): Do not read past end of array with
78073         unsanitized input on systems with CHAR_BIT > 8.
78074
78075 2006-03-24  Eric Blake  <ebb9@byu.net>
78076
78077         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78078
78079 2006-03-22  Karl Berry  <karl@gnu.org>
78080
78081         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78082         * config/srclistvars.sh (COREUTILS): new var.
78083
78084 2006-03-17  Jim Meyering  <jim@meyering.net>
78085
78086         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78087         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78088
78089 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78090
78091         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78092         no longer needs it.  Instead, check that regoff_t is as least
78093         as wide as ptrdiff_t.
78094
78095         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78096         so that our regex.h stays compatible with the installed regex.
78097         This is helpful for installers who configure --without-included-regex.
78098         Problem reported by Emanuele Giaquinta.
78099
78100 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78101
78102         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78103         Typedef to long int, not to off_, as POSIX will likely change
78104         in that direction.
78105
78106 2006-03-15  Eric Blake  <ebb9@byu.net>
78107
78108         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78109
78110 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78111
78112         * lib/argp-help.c (validate_uparams): Fix typo
78113         * lib/argp-parse.c (argp_default_options): Consistently begin help
78114         messages with a lowercase letter.
78115
78116 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78117
78118         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78119         overrun buffers and shouldn't be used (much as gets shouldn't be
78120         used).
78121         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78122
78123 2006-03-08  Simon Josefsson  <jas@extundo.com>
78124
78125         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78126         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78127
78128 2006-03-08  Simon Josefsson  <jas@extundo.com>
78129
78130         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78131         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78132
78133 2006-03-08  Simon Josefsson  <jas@extundo.com>
78134
78135         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78136         signal that configure disabled the device.
78137
78138 2006-03-08  Simon Josefsson  <jas@extundo.com>
78139
78140         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78141         languages.
78142
78143 2006-03-07  Simon Josefsson  <jas@extundo.com>
78144
78145         * modules/getopt (Depends-on): Add unistd.
78146
78147         * modules/unistd: New file.
78148
78149 2006-03-07  Simon Josefsson  <jas@extundo.com>
78150
78151         * modules/gc-random: New file.
78152
78153 2006-03-07  Simon Josefsson  <jas@extundo.com>
78154
78155         * m4/unistd_h.m4: New file.
78156
78157 2006-03-07  Simon Josefsson  <jas@extundo.com>
78158
78159         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78160         test to be side-effect free by storing the result in the cache
78161         variable gl_cv_lib_readline, and moving the assignment of
78162         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78163         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78164
78165 2006-03-07  Simon Josefsson  <jas@extundo.com>
78166
78167         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78168         error on missing devices (the functions will return an error).
78169
78170         * m4/gc.m4: Move random stuff to gc-random.m4
78171
78172 2006-03-07  Simon Josefsson  <jas@extundo.com>
78173
78174         * lib/unistd_.h: New file.
78175
78176 2006-03-07  Simon Josefsson  <jas@extundo.com>
78177
78178         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78179
78180 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78181
78182         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78183         Problem reported by Juan Manuel Guerrero.
78184
78185 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78186
78187         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78188         the unistd module.
78189         * lib/getlogin_r.c: Likewise.
78190         * lib/getlogin_r.h: Likewise.
78191         * lib/glob.c: Likewise.
78192         * lib/pagealign_alloc.c: Likewise.
78193         * lib/unistd_.h: Remove; no longer needed.
78194
78195 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78198         Add unistd.
78199         * modules/c-stack (Depends-on): Add unistd.
78200         * modules/getlogin_r: Likewise.
78201         * modules/glob: Likewise.
78202         * modules/pagealign_alloc: Likewise.
78203         * modules/unistd (Files): Remove lib/unistd_.h.
78204         (EXTRA_DIST): Remove.
78205         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78206         need unistd_.h.
78207         (MOSTLYCLEANFILES): Remove unistd.h-t.
78208
78209 2006-03-03  Simon Josefsson  <jas@extundo.com>
78210
78211         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78212
78213 2006-03-03  Simon Josefsson  <jas@extundo.com>
78214
78215         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78216         libidn and bison.
78217
78218 2006-03-03  Simon Josefsson  <jas@extundo.com>
78219
78220         * build-aux/maint.mk: Add indent target.
78221
78222 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78223
78224         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78225         our replacement poll.h in any case, to avoid a differing
78226         declaration from a system header.  Seen on AIX.
78227
78228 2006-03-01  Simon Josefsson  <jas@extundo.com>
78229
78230         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78231         <kasal@ucw.cz>.
78232
78233 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78234
78235         * modules/gettime (Depends-on): Add extensions module.
78236         * modules/nanosleep (Depends-on): Likewise.
78237         * modules/settime (Depends-on): Likewise.
78238
78239 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78240
78241         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78242         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78243         pedantically.
78244         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78245         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78246
78247         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78248         not "==".  Reported by Ralf Wildenhues.
78249
78250 2006-03-01  Karl Berry  <karl@gnu.org>
78251
78252         * doc/Copyright/request-*: new files, synced from gnuorg.
78253
78254 2006-03-01  Karl Berry  <karl@gnu.org>
78255
78256         * config/srclist.txt (Copyright/*): new entries.
78257
78258 2006-02-28  Simon Josefsson  <jas@extundo.com>
78259
78260         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78261
78262 2006-02-27  Simon Josefsson  <jas@extundo.com>
78263
78264         * lib/base64.h: Indent #define's.  From Jim Meyering
78265         <jim@meyering.net>.
78266
78267 2006-02-27  Jim Meyering  <jim@meyering.net>
78268
78269         Revert the change of 2006-02-24, so these files can continue
78270         to be sync'd from gettext.
78271         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78272         of `config.h'.
78273
78274 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78275
78276         * modules/intprops: New file.
78277         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78278         Add intprops.
78279         * modules/getloadavg (Files): Remove lib/intprops.h.
78280         (Depends-on): Add intprops.
78281         * modules/human: Likewise.
78282         * modules/inttostr: Likewise.
78283         * modules/openat: Likewise.
78284         * modules/sig2str: Likewise.
78285         * modules/userspec: Likewise.
78286         * modules/utimecmp: Likewise.
78287         * modules/xnanosleep: Likewise.
78288         * modules/xstrtol: Likewise.
78289
78290 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78291
78292         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78293         * modules/lock-tests (TESTS): Use $(EXEEXT).
78294         * modules/tls-tests: Likewise.
78295         * modules/argp-tests: Likewise.
78296         (check_PROGRAMS): New var, replacing...
78297         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78298
78299 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78300
78301         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78302         `config.h'.
78303
78304 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78305
78306         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78307
78308 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78309
78310         Sync from coreutils.
78311         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78312         gl_CHDIR_SAFER.
78313
78314 2006-02-22  Jim Meyering  <jim@meyering.net>
78315
78316         Sync from coreutils.
78317         * m4/chdir-safer.m4: New file.
78318
78319 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78320
78321         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78322         AT_FDCWD exceeds INT_MAX.
78323         * lib/openat.h (AT_FDCWD): Likewise.
78324
78325 2006-02-17  Eric Blake  <address@hidden>
78326
78327         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78328
78329 2006-02-16  Simon Josefsson  <jas@extundo.com>
78330
78331         * modules/getaddrinfo (Depends-on): Add sys_socket.
78332
78333 2006-02-15  Simon Josefsson  <jas@extundo.com>
78334
78335         * build-aux/maint.mk: Add dsyntax-check rule.
78336
78337 2006-02-15  Eric Blake  <ebb9@byu.net>
78338
78339         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78340         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78341         'present but cannot compile' warnings on cygwin.
78342         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78343         use ws2tcpip.h if sys/socket.h works.
78344         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78345         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78346
78347 2006-02-14  Simon Josefsson  <jas@extundo.com>
78348
78349         * modules/maintainer-makefile (Files): Rename.
78350
78351         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78352         and (the local) Makefile.cfg to maint-cfg.mk.
78353
78354         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78355         to the latter.
78356
78357         * modules/maintainer-makefile: New module.
78358
78359         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78360         severaly stripped to make it possible to build it up from scratch
78361         with reliable tests.
78362
78363         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78364         fixes to permit overriding the default actions when configure and
78365         makefile are not available.
78366
78367 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78368
78369         Sync from coreutils.
78370         * modules/lstat (Depends-on): Don't depend on xalloc.
78371         (License): Change from GPL to LGPL, since this is now simply a
78372         replacement for a libc function.
78373
78374 2006-02-14  Jim Meyering  <jim@meyering.net>
78375
78376         Sync from coreutils.
78377
78378         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78379         failure on deficient systems, and simplify gnulib lgpl dependencies.
78380         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78381         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78382
78383         * lib/xalloc-die.c: Remove unused definition of N_.
78384
78385 2006-02-14  Jim Meyering  <jim@meyering.net>
78386
78387         Sync from coreutils.
78388         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78389         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78390         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78391         double-quote uses of that variable, to accommodate the rare case in
78392         which getmntent is available in none of the libraries checked.  This
78393         happens at least on FreeBSD 5.0.
78394
78395 2006-02-13  Simon Josefsson  <jas@extundo.com>
78396
78397         * gnulib-tool (Usage): Fix --import, from
78398         karl@freefriends.org (Karl Berry).
78399
78400 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78401
78402         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
78403
78404 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
78405
78406         * lib/argp-namefrob.h: Restore changes accidentally lost during the
78407         "autoupdate" on 2005-12-12.
78408
78409 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78410
78411         * modules/closeout (Depends-on): Remove atexit.
78412
78413 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78414
78415         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
78416         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
78417
78418 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
78421         __EXTENSIONS__ if this causes compilation to fail.  Problem
78422         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
78423         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
78424
78425 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
78426
78427         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
78428         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
78429         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
78430         All uses changed.
78431
78432 2006-01-26  Simon Josefsson  <jas@extundo.com>
78433
78434         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
78435         prototype is visible on mingw32.
78436
78437         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
78438         for mingw32.
78439
78440         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
78441         mingw32).
78442
78443 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
78444
78445         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
78446         attempt to open for write; this always fails, at least on POSIX
78447         hosts.  This reinstates the 2006-01-09 change, which was
78448         inadvertently removed.
78449
78450 2006-01-26  Bruno Haible  <bruno@clisp.org>
78451
78452         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
78453         Reported by Paul Eggert.
78454
78455 2006-01-26  Bruno Haible  <bruno@clisp.org>
78456             Paul Eggert  <eggert@cs.ucla.edu>
78457
78458         * lib/stdbool_.h (_Bool)
78459         [(! (defined __cplusplus || defined __BEOS__)
78460           && !defined __GNUC__
78461           && !(defined __HP_cc || defined __xlc__
78462                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
78463                || defined __sgi))]:
78464         #define to signed char in these cases too; this simplifies
78465         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
78466         etc., separately) and makes it more conservative.
78467
78468 2006-01-25  Simon Josefsson  <jas@extundo.com>
78469
78470         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
78471         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
78472         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
78473
78474 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78475
78476         * lib/argp-namefrob.h: Bugfix. Remove stray #
78477
78478 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78479
78480         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
78481         so that we test the test.
78482         Check for yet another HP-UX cc bug involving *bool |= bool.
78483
78484 2006-01-25  Karl Berry  <karl@gnu.org>
78485
78486         * config/srclist.txt (vasnprintf.c): sync lost.
78487
78488 2006-01-25  Jim Meyering  <jim@meyering.net>
78489
78490         Sync from the stable (b5) branch of coreutils:
78491
78492         * lib/fts.c (fts_children): Don't let close() clobber errno from
78493         failed fchdir().
78494
78495         * lib/fts.c (fts_stat): When following a symlink-to-directory,
78496         don't necessarily interpret stat-fails+lstat-succeeds as indicating
78497         a dangling symlink.  That can also happen at least for ELOOP.
78498         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
78499         FYI, this bug predates the inclusion of fts.c in coreutils.
78500
78501         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
78502         in their own block, so pre-c99 compilers don't object.
78503
78504         Avoid the double-free (first in fts_read, second in fts_close) that
78505         would occur when an `active' directory is made inaccessible (e.g.,
78506         via chmod a-x) during a traversal.
78507         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78508         before returning.  Reproduce this failure by
78509         mkdir -p a/b; cd a; chmod a-x . b
78510         Reported by Stavros Passas.
78511
78512 2006-01-25  Jim Meyering  <jim@meyering.net>
78513
78514         * lib/fileblocks.c: Remove more useless parentheses.
78515         * lib/readutmp.h: Likewise.
78516
78517 2006-01-25  Bruno Haible  <bruno@clisp.org>
78518
78519         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
78520         warnings.
78521         Reported by Paul Eggert.
78522
78523 2006-01-25  Bruno Haible  <bruno@clisp.org>
78524
78525         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
78526         rid of a trap command. For Solaris sh.
78527         Reported by Mark D. Baushke <mdb@gnu.org>.
78528
78529 2006-01-24  Simon Josefsson  <jas@extundo.com>
78530
78531         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
78532         Bruno.
78533
78534 2006-01-24  Karl Berry  <karl@gnu.org>
78535
78536         * config/srclist.txt (argp-namefrob.h): sync lost.
78537
78538 2006-01-24  Jim Meyering  <jim@meyering.net>
78539
78540         * modules/openat (Files): Add lib/intprops.h.
78541         From Mark D. Baushke.
78542
78543 2006-01-24  Jim Meyering  <jim@meyering.net>
78544
78545         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78546         Reported by Mark D. Baushke.
78547
78548 2006-01-24  Jim Meyering  <jim@meyering.net>
78549
78550         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78551
78552 2006-01-24  Bruno Haible  <bruno@clisp.org>
78553
78554         * modules/strnlen (Maintainer): Change from glibc to all.
78555
78556 2006-01-24  Bruno Haible  <bruno@clisp.org>
78557
78558         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78559         Patch by Paul Eggert.
78560
78561 2006-01-24  Bruno Haible  <bruno@clisp.org>
78562
78563         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78564         already has it.
78565         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78566         2005-11-26.
78567
78568         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78569         'signed char' to avoid problems with the built-in _Bool type.
78570         Reported by Paul Eggert on 2005-11-26.
78571
78572 2006-01-24  Bruno Haible  <bruno@clisp.org>
78573
78574         * gnulib-tool (func_import): Avoid constructing complicated sed
78575         expressions inside backquote.
78576         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78577
78578 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78579
78580         These changes imported from libc.
78581         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78582         test and two separate function calls.
78583         * lib/strndup.c (__strndup): Add libc_hidden_def.
78584
78585 2006-01-23  Simon Josefsson  <jas@extundo.com>
78586
78587         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78588         Remove the test_*_SOURCES variable: automake infers it by default.
78589         * modules/tls-tests: Likewise.
78590
78591 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78592
78593         Work around porting bugs reported by Dieter in
78594         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78595         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78596         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78597         Include "getopt.h" first, to check interface.
78598         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78599         !HAVE_DECL_GETENV.
78600         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78601         (__strndup): Revert to K&R-style function dfns, the glibc style.
78602         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78603         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78604         Include strnlen.h first, to get prototype properly.
78605         (strnlen): Renamed from __strnlen.
78606         Remove weak alias.
78607
78608 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78609
78610         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78611
78612 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78613
78614         * config/srclist.txt: Adjust to reflect glibc reorganization.
78615         This affects only comments.
78616
78617 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78618
78619          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78620          Reported by Bruce Korb <bkorb@gnu.org>.
78621
78622 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78623
78624         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78625         to pacify gcc -Wswitch-default.
78626
78627 2006-01-22  Bruno Haible  <bruno@clisp.org>
78628
78629         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78630         temporary buffer for sprintf, take into account the precision also
78631         for 'd', 'i', 'u', 'o', 'x', 'X'.
78632
78633 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78634
78635         * modules/argp-tests: New module
78636         * tests/test-argp.c: New file
78637         * tests/test-argp-2.sh: New file
78638
78639 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78640
78641         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78642         (__argp_base_name): Removed
78643         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78644         typo.
78645         (__argp_base_name): Provide macro definition or extern declaration
78646         depending on the configuration
78647
78648 2006-01-20  Simon Josefsson  <jas@extundo.com>
78649
78650         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78651
78652 2006-01-20  Simon Josefsson  <jas@extundo.com>
78653
78654         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78655
78656 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78657
78658         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78659         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78660         Suggested by Bruno Haible.
78661
78662 2006-01-20  Karl Berry  <karl@gnu.org>
78663
78664         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78665         until changes propagate, I guess.
78666
78667 2006-01-19  Simon Josefsson  <jas@extundo.com>
78668
78669         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78670
78671 2006-01-19  Simon Josefsson  <jas@extundo.com>
78672
78673         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78674
78675 2006-01-19  Simon Josefsson  <jas@extundo.com>
78676
78677         * gnulib-tool: Set check_PROGRAMS.
78678
78679         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78680         modules/des-tests, modules/gc-arcfour-tests,
78681         modules/gc-arctwo-tests, modules/gc-des-tests,
78682         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78683         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78684         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78685         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78686         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78687         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78688         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78689         test_*_SOURCES.
78690
78691 2006-01-18  Simon Josefsson  <jas@extundo.com>
78692
78693         * modules/socklen (Depends-on): Depend on sys_socket.
78694
78695 2006-01-18  Simon Josefsson  <jas@extundo.com>
78696
78697         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78698         modules/des-tests, modules/gc-arcfour-tests,
78699         modules/gc-arctwo-tests, modules/gc-des-tests,
78700         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78701         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78702         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78703         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78704         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78705         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78706         $(EXEEXT) to automake TESTS variable, for mingw32.
78707
78708 2006-01-17  Simon Josefsson  <jas@extundo.com>
78709
78710         * modules/socklen (Include): Need sys/socket.h.
78711
78712 2006-01-17  Bruno Haible  <bruno@clisp.org>
78713
78714         * modules/ssize_t (Include): Add <sys/types.h>.
78715
78716 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78717
78718         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78719         it's not portable and it doesn't work with cross-compiles.
78720         Problem reported by Bruno Haible.  Fix missing-$ typo in
78721         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78722         -zignore from being used with Sun's C compiler.
78723
78724 2006-01-12  Simon Josefsson  <jas@extundo.com>
78725
78726         * lib/base64.c: Fix warning, reported by Bruno Haible
78727         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78728
78729 2006-01-12  Bruno Haible  <bruno@clisp.org>
78730
78731         * modules/ldd: New file.
78732         * build-aux/ldd.sh.in: New file.
78733         * MODULES.html.sh (Support for building libraries and executables): Add
78734         ldd.
78735
78736 2006-01-12  Bruno Haible  <bruno@clisp.org>
78737
78738         * m4/ldd.m4: New file.
78739
78740 2006-01-12  Bruno Haible  <bruno@clisp.org>
78741
78742         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78743         endless loop while replacing $auxdir with build-aux.
78744
78745 2006-01-11  Simon Josefsson  <jas@extundo.com>
78746
78747         * lib/stdint_.h (SIZE_MAX): Add missing (.
78748
78749 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78750
78751         Sync from coreutils.
78752         * lib/md5.c: Fix commentary typos.
78753         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78754         * lib/md5.h (__attribute__): Remove; unused.
78755         * lib/sha1.c: Fix commentary to match md5 better.
78756         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78757         so that we don't need to worry about alignment.  All uses changed.
78758         This merges the 2005-10-28 md5 change into sha1.
78759
78760 2006-01-11  Jim Meyering  <jim@meyering.net>
78761
78762         Sync from coreutils.
78763         * lib/md5.c (OP): Fix spacing.
78764
78765 2006-01-11  Bruno Haible  <bruno@clisp.org>
78766
78767         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78768         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78769         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78770
78771 2006-01-11  Bruno Haible  <bruno@clisp.org>
78772
78773         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78774         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78775         the "early" section as well.
78776
78777 2006-01-11  Bruno Haible  <bruno@clisp.org>
78778
78779         Avoid "ar: no archive members specified" error on MacOS X.
78780         * gnulib-tool (func_modules_add_dummy): New function.
78781         (func_import, func_create_testdir): Invoke it.
78782
78783 2006-01-11  Bruno Haible  <bruno@clisp.org>
78784
78785         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78786         with $auxdir in AC_CONFIG_FILES statements.
78787
78788 2006-01-11  Bruno Haible  <bruno@clisp.org>
78789
78790         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78791         Initialize also noinst_HEADERS to empty.
78792
78793 2006-01-11  Bruno Haible  <bruno@clisp.org>
78794
78795         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78796         variables.
78797         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78798         autoreconf.
78799
78800 2006-01-11  Bruno Haible  <bruno@clisp.org>
78801
78802         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78803         overridable by the user.
78804         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78805
78806 2006-01-10  Simon Josefsson  <jas@extundo.com>
78807
78808         * modules/sys_socket: New file.
78809
78810 2006-01-10  Simon Josefsson  <jas@extundo.com>
78811
78812         * m4/sys_socket_h.m4: New file.
78813
78814 2006-01-10  Simon Josefsson  <jas@extundo.com>
78815
78816         * lib/socket_.h: New file.
78817
78818 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78819
78820         * modules/readutmp (Maintainer): Add myself.
78821
78822 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78823
78824         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78825         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78826         People who are still concerned with buggy memcmp implementations
78827         can invoke gl_FUNC_MEMCMP themselves.
78828
78829 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78830
78831         * lib/regex_internal.h (BITSET_WORD_BITS):
78832         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78833         preprocessor mishandles large unsigned values as if they were signed.
78834         Problem reported by Claudio Fontana in
78835         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78836
78837 2006-01-10  Jim Meyering  <jim@meyering.net>
78838
78839         Avoid the double-free (first in fts_read, second in fts_close) that
78840         would occur when an `active' directory is made inaccessible (e.g.,
78841         via chmod a-x) during a traversal.
78842         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78843         before returning.  Reproduce this failure by
78844         mkdir -p a/b; cd a; chmod a-x . b
78845         Reported by Stavros Passas.
78846
78847         Sync from coreutils.
78848         * lib/sha1.c: Tweak grammar in a comment.
78849
78850 2006-01-10  Jim Meyering  <jim@meyering.net>
78851
78852         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78853         Patch by Joerg Sonnenberger.
78854
78855 2006-01-10  Bruno Haible  <bruno@clisp.org>
78856
78857         * modules/readutmp: Depend on module free.
78858         * modules/strtok_r: Depend on module restrict.
78859
78860 2006-01-10  Bruno Haible  <bruno@clisp.org>
78861
78862         * modules/gettext (configure.ac): Add an invocation of
78863         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78864
78865 2006-01-10  Bruno Haible  <bruno@clisp.org>
78866
78867         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78868         Reported by Werner Lemberg <wl@gnu.org>.
78869
78870 2006-01-10  Bruno Haible  <bruno@clisp.org>
78871
78872         * lib/localcharset.c: Update from GNU gettext.
78873
78874 2006-01-10  Bruno Haible  <bruno@clisp.org>
78875
78876         * lib/argp.h (__const): Remove macro. Use const instead.
78877         * lib/argp-fmtstream.h (__const): Likewise.
78878         * lib/glob_.h (__const): Remove macro.
78879         * lib/glob-libc.h: Use const instead of __const.
78880
78881 2006-01-10  Bruno Haible  <bruno@clisp.org>
78882
78883         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78884         variable.
78885         Needed to avoid an automake error regarding the 'gettext' module.
78886
78887 2006-01-09  Simon Josefsson  <jas@extundo.com>
78888
78889         * modules/inet_ntop (Depends-on): Add restrict.
78890
78891 2006-01-09  Simon Josefsson  <jas@extundo.com>
78892
78893         * modules/gc-rijndael-tests (License): Put under LGPL.
78894
78895         * modules/gc-des-tests (License): Likewise.
78896
78897         * modules/gc-arcfour-tests (License): Likewise.
78898
78899         * modules/gc-arctwo-tests (License): Likewise.
78900
78901         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78902
78903         * modules/gc-hmac-sha1-tests (Files): Likewise.
78904
78905         * modules/gc-hmac-md5-tests (License): Likewise.
78906
78907         * modules/gc-sha1-tests (License): Likewise.
78908
78909         * modules/gc-md5-tests (License): Likewise.
78910
78911         * modules/gc-md4-tests (License): Likewise.
78912
78913         * modules/gc-md2-tests (License): Likewise.
78914
78915         * modules/gc-tests (License): Likewise.
78916
78917         * modules/des-tests (License): Likewise.
78918
78919         * modules/md4-tests (License): Likewise.
78920
78921         * modules/md2-tests (License): Likewise.
78922
78923 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78924
78925         Sync from coreutils:
78926
78927         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
78928         * modules/lib-ignore: New file.
78929         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
78930         chdir-safer.m4, lchmod.m4.
78931         * modules/openat: Add mkdirat.c, openat-priv.h.
78932
78933 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78934
78935         Sync from coreutils.
78936         * m4/lib-ignore.m4: New file.
78937         * m4/lchmod.m4: New file.
78938
78939 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78940
78941         Sync from coreutils.
78942         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
78943         for write access: POSIX says that must fail.
78944         * lib/fts.c (diropen): Likewise.
78945         * lib/save-cwd.c (save_cwd): Likewise.
78946         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
78947         well, for minor improvements on hosts that lack O_DIRECTORY.
78948         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
78949         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
78950         Fall back on chown if open failed with EACCES.
78951
78952         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
78953         Report an error at compile-time if only a 1-second nominal clock
78954         resolution is found.
78955
78956         * lib/lchmod.h: New file.
78957         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
78958         (make_dir_parents): Use lchown rather than chown, and
78959         lchmod rather than chmod.
78960
78961         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
78962         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
78963         "proc" reported by n0dalus.
78964
78965         * lib/mountlist.c: Include <limits.h>.
78966         (dev_from_mount_options)
78967         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
78968         New function.  It no longer assumes "dev=" has the System V meaning
78969         on Linux (since it doesn't).  It also parses "dev=" more carefully.
78970         (read_file_system_list)
78971         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
78972         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
78973         dev= in that case.
78974
78975         * lib/posixtm.h (PDS_PRE_2000): New macro.
78976         * lib/posixtm.c (year): Arg is now syntax_bits rather than
78977         allow_century.  All usages changed.  Reject dates outside the range
78978         1969-1999 if PDS_PRE_2000 is used.
78979
78980 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78981
78982         Sync from coreutils.
78983         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
78984         (Time of day items): Mention the possibility of leap seconds.
78985         Problem reported by Dr. David Alan Gilbert.
78986
78987 2006-01-09  Jim Meyering  <jim@meyering.net>
78988
78989         Sync from coreutils.
78990
78991         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
78992
78993         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
78994
78995         * lib/modechange.c (mode_compile): Reject an invalid mode string
78996         that starts with an octal digit.  From Andreas Gruenbacher.
78997
78998         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
78999         and dup to open_safer and dup_safer, respectively.
79000         (openat_permissive): Fix typo in comment.
79001
79002         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79003         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79004         (_): Remove; no longer needed.
79005         (openat): Renamed from rpl_openat; no need for rpl_openat
79006         since openat.h renames openat for us.
79007         Replace most of the body with a call to openat_permissive,
79008         to avoid duplicate code.
79009         Port to (probably hypothetical) environments were mode_t is
79010         wider than int.
79011         (openat_permissive): Require mode arg, so that we can check
79012         types better.  Put it just after flags.  Change cwd failure
79013         indicator from pointer-to-bool to pointer-to-errno-value.
79014         All callers changed.
79015         Invoke openat_save_fail and/or openat_restore_fail if
79016         cwd_errno is null, so that openat can call us.
79017         (openat_permissive, fdopendir, fstatat, unlinkat):
79018         Simplify errno handling to avoid some duplicate code,
79019         as it's OK to set errno on success.
79020         * lib/openat.h: Revamp code so that function macros depend on
79021         __OPENAT_PREFIX only, not also on AT_FDCWD.
79022         (openat_ro): Remove.  Caller changed to use openat_permissive.
79023         (openat_permissive): Now a macro, if not a function.
79024         (openat_restore_fail, openat_save_fail): Now always functions,
79025         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79026
79027         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79028         and openat.c.
79029         * lib/mkdirat.c: Include openat-priv.h.
79030         Remove definitions of macros defined therein.
79031         * lib/openat.c: Likewise.
79032
79033         * lib/mkdirat.c (mkdirat): New file and function.
79034         * lib/openat.h (mkdirat): Declare.
79035
79036         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79037
79038         * lib/openat.h (openat_permissive): Declare.
79039         (openat_ro): Define.
79040
79041         * lib/openat.c (EXPECTED_ERRNO): New macro.
79042         (openat_permissive): New function -- used in remove.c rewrite.
79043         (all functions): Set errno just before returning, only if there
79044         was an actual failure.
79045         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79046
79047         Emulate openat-family functions using Linux's procfs, if possible.
79048         Idea and some code based on Ulrich Drepper's glibc changes.
79049
79050         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79051         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79052         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79053         before falling back on save_cwd and restore_cwd.
79054         (fdopendir, fstatat, unlinkat): Likewise.
79055
79056         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79057         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79058
79059         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79060         as second argument to va_arg.  Otherwise, some versions of gcc
79061         warn that `if this code is reached, the program will abort'.
79062
79063 2006-01-09  Jim Meyering  <jim@meyering.net>
79064
79065         Sync from coreutils.
79066         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79067         Require openat-priv.h.
79068
79069 2006-01-09  Bruno Haible  <bruno@clisp.org>
79070
79071         * modules/strnlen (Include): Use strnlen.h.
79072
79073 2006-01-09  Bruno Haible  <bruno@clisp.org>
79074
79075         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79076
79077 2006-01-09  Bruno Haible  <bruno@clisp.org>
79078
79079         * lib/sysexit_.h (EX_OK): New macro.
79080         Suggested by Martin Lambers <marlam@marlam.de>.
79081
79082 2006-01-09  Bruno Haible  <bruno@clisp.org>
79083
79084         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79085         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79086
79087 2006-01-09  Bruno Haible  <bruno@clisp.org>
79088
79089         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79090         numbers.
79091
79092 2006-01-09  Bruno Haible  <bruno@clisp.org>
79093
79094         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79095         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79096         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79097         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79098
79099 2006-01-09  Bruno Haible  <bruno@clisp.org>
79100
79101         * build-aux/javacomp.sh.in: New file, moved from lib/.
79102         * modules/javacomp-script (Files): Update.
79103         (configure.ac): Add AC_CONFIG_FILES invocation.
79104         (EXTRA_DIST): Remove variable.
79105
79106         * build-aux/javaexec.sh.in: New file, moved from lib/.
79107         * modules/javaexec (Files): Update.
79108         (configure.ac): Add AC_CONFIG_FILES invocation.
79109         (EXTRA_DIST): Remove javaexec.sh.in.
79110
79111         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79112         * modules/csharpcomp-script (Files): Update.
79113         (configure.ac): Add AC_CONFIG_FILES invocation.
79114         (EXTRA_DIST): Remove variable.
79115
79116         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79117         * modules/csharpexec (Files): Update.
79118         (configure.ac): Add AC_CONFIG_FILES invocation.
79119         (EXTRA_DIST): Remove csharpexec.sh.in.
79120
79121 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79122
79123         Sync from coreutils.
79124
79125         Add POSIX ACL support
79126         * lib/acl.h (copy_acl, set_acl): Add declarations.
79127         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79128         systems other than Linux.
79129         (chmod_or_fchmod): New function: use fchmod when possible,
79130         and chmod otherwise.
79131         (file_has_acl): Add a POSIX ACL implementation, with a
79132         Linux-specific subcase.
79133         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79134         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79135         acls are unsupported.
79136         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79137         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79138         are unsupported.
79139
79140 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79141
79142         Sync from coreutils.
79143         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79144
79145 2006-01-07  Bruno Haible  <bruno@clisp.org>
79146
79147         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79148         gl_EARLY.
79149
79150 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79151
79152         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79153         Problem reported for Mingw by Mark Junker.
79154
79155 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * README: Gnulib normally doesn't generate a tarball.
79158
79159 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79160
79161         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79162         long int, not int, for nanosecond counts, so that people who are
79163         used to POSIX struct timespec won't be surprised.  Reported by Jim
79164         Meyering.
79165
79166 2005-12-28  Bruno Haible  <bruno@clisp.org>
79167
79168         * build-aux/config.rpath: Update from GNU gettext.
79169
79170 2005-12-16  Jim Meyering  <jim@meyering.net>
79171
79172         * modules/fprintftime: New module.
79173         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79174
79175 2005-12-16  Jim Meyering  <jim@meyering.net>
79176
79177         * m4/fprintftime.m4: New file.
79178
79179 2005-12-16  Jim Meyering  <jim@meyering.net>
79180
79181         * lib/fprintftime.c, lib/fprintftime.h: New files.
79182
79183 2005-12-15  Simon Josefsson  <jas@extundo.com>
79184
79185         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79186         new m4/socklen.m4.
79187
79188 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79189
79190         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79191         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79192
79193 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79194
79195         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79196         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79197         struct uparams is valid. Fall back to the default values if it is
79198         not.
79199
79200 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79201
79202         * modules/argp (Files): Add argp-pin.c
79203         (Depends-on): dirname
79204         (lib_SOURCES): Add argp-pin.c
79205
79206 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79207
79208         * m4/argp.m4:  Check if program_invocation_name and
79209         program_invocation_short_name are declared and define appropriate
79210         macros if they are not.
79211
79212 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79213
79214         * lib/argp-help.c (__argp_base_name): New function
79215         (__argp_short_program_name): Rewrite using __argp_base_name
79216         * lib/argp-namefrob.h: Define program_invocation_name and
79217         program_invocation_short_name if requested
79218         (__argp_base_name): Add prototype
79219         * lib/argp-parse.c (argp_def): Use gettext wrappers
79220         (argp_default_parser): Use __argp_base_name
79221         * lib/argp-pin.c: New file. Defines program_invocation_name and
79222         program_invocation_short_name on systems that lack them.
79223
79224 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79225
79226         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79227         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79228         porting problem reported by Georg Schwarz in
79229         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79230
79231 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79232
79233         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79234         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79235         porting problem reported by Georg Schwarz in
79236         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79237
79238 2005-12-05  Bruno Haible  <bruno@clisp.org>
79239
79240         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79241         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79242         Reported by Mark Junker <mjscod@gmx.de>.
79243
79244 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79245
79246         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79247         Use implementation from Albert Chin, with some
79248         comments/corrections by Stepan Kasal and myself.
79249
79250 2005-12-02  Bruno Haible  <bruno@clisp.org>
79251
79252         * gnulib-tool (func_import): Accept GPLed build tool modules when
79253         --lgpl is given.
79254         * modules/csharpcomp-script: New file.
79255         * modules/csharpcomp: Depend on it.
79256         * modules/javacomp-script: New file.
79257         * modules/javacomp: Depend on it.
79258         Suggested by Simon Josefsson.
79259
79260 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79261
79262         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79263         statement, to work around an HP-UX 10.20 compiler bug reported by
79264         Peter O'Gorman.
79265
79266 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79267
79268         * modules/savedir (Depends-on): Add openat.
79269
79270 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79271
79272         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79273         (uintmax_t) [defined uintmax_t]: Do not declare.
79274         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79275         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79276         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79277         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79278         sake of portability to weird hosts that C allows (though we don't
79279         know of any practical examples).
79280
79281         * lib/savedir.h (fdsavedir): New decl.
79282         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79283         contains most of the former guts of savedir.
79284         (savedir): Use savedirstream.
79285         Include "openat.h".
79286
79287 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79288
79289         * modules/obstack (Files): Add m4/ulonglong.m4.
79290         Problem reported by Davide Angelocola.
79291
79292 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79293
79294         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79295         coreutils no longer futzes with rounding modes.
79296
79297 2005-11-14  Jim Meyering  <jim@meyering.net>
79298
79299         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79300         replacement of mkstemp.
79301
79302 2005-11-10  Simon Josefsson  <jas@extundo.com>
79303
79304         * lib/readline.c: Remove EOL.
79305
79306 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79307
79308         * modules/gethrxtime (Depends-on): Add gettime.
79309
79310 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79311
79312         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79313         or gettimeofday; no longer needed.
79314
79315 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79316
79317         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79318         time business.
79319         (gethrxtime) [! (HAVE_NANOUPTIME
79320         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79321         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79322         our own approximation.
79323
79324 2005-11-08  Eric Blake  <ebb9@byu.net>
79325
79326         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79327
79328 2005-11-08  Eric Blake  <ebb9@byu.net>
79329
79330         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79331
79332 2005-11-04  Bruno Haible  <bruno@clisp.org>
79333
79334         * gnulib-tool: Implement --update mode.
79335
79336 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         Fix porting problem reported by Theodoros V. Kalamatianos.
79339         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79340         Don't assume that futimes failing means we must fail.
79341
79342 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79343
79344         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79345         variables to suggest the intended function of the PATH_MAX check.
79346
79347 2005-10-30  Kean Johnston  <jkj@sco.com>
79348
79349         Trivial changes to support SCO systems.
79350         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79351         as PATH_MAX.
79352         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79353         where __ptr is null when no I/O is pending.
79354
79355 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79356
79357         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79358         leave errno alone.  Problem reported by Dmitry V. Levin.
79359
79360 2005-10-28  Simon Josefsson  <jas@extundo.com>
79361
79362         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79363         Test more.
79364
79365         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79366
79367         * modules/md2, modules/md2-tests: New files.
79368
79369 2005-10-28  Simon Josefsson  <jas@extundo.com>
79370
79371         * m4/inet_ntop.m4: More tests.
79372
79373         * m4/gc-md2.m4, md2.m4: New file.
79374
79375 2005-10-28  Simon Josefsson  <jas@extundo.com>
79376
79377         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79378         "restrict" keywords, as per POSIX.  Protect the function
79379         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79380         Don't use K&R prototypes.  Check the sprintf return values.
79381         Re-define EAFNOSUPPORT if not present.  Indent.
79382
79383         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79384         suggested by Bruno Haible <bruno@clisp.org>.
79385
79386         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79387
79388         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79389
79390         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79391         libgcrypt).
79392
79393         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
79394
79395         * lib/md2.h, lib/md2.c: New files.
79396
79397 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
79398
79399         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
79400         errno alone.  Problem reported by Frederic Jolliton.
79401
79402 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         * modules/verify (License): Change from GPL to LGPL.  This is a
79405         tiny module and there are apparently near-equivalents that are
79406         under the BSD license.
79407
79408 2005-10-24  Simon Josefsson  <jas@extundo.com>
79409
79410         * modules/sha1: Relicense to LGPL.
79411
79412 2005-10-24  Simon Josefsson  <jas@extundo.com>
79413
79414         * lib/md4.h: Shrink buffer size, now that we changed the type.
79415
79416 2005-10-23  Simon Josefsson  <jas@extundo.com>
79417
79418         * gnulib-tool (func_import): Fix --tests-base.
79419
79420 2005-10-22  Simon Josefsson  <jas@extundo.com>
79421
79422         * modules/arcfour (Depends-on): Need stdint.
79423
79424 2005-10-22  Simon Josefsson  <jas@extundo.com>
79425
79426         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
79427         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
79428
79429 2005-10-22  Simon Josefsson  <jas@extundo.com>
79430
79431         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
79432         suggested by Bruno Haible <bruno@clisp.org>.
79433
79434 2005-10-22  Simon Josefsson  <jas@extundo.com>
79435
79436         * lib/crc.h: Include stddef.h, for size_t.
79437
79438 2005-10-22  Simon Josefsson  <jas@extundo.com>
79439
79440         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
79441         arcfour_context struct (simplify test vector testing in GNU
79442         Shishi).
79443
79444 2005-10-21  Simon Josefsson  <jas@extundo.com>
79445
79446         * modules/des, modules/des-tests: New files.
79447
79448         * modules/gc-des, modules/gc-des-tests: New files.
79449
79450         * tests/test-des.c, tests/test-gc-des.c: New file.
79451
79452 2005-10-21  Simon Josefsson  <jas@extundo.com>
79453
79454         * modules/arctwo, modules/arctwo-tests: New files.
79455
79456         * tests/test-arctwo.c: New file.
79457
79458         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
79459
79460         * tests/test-gc-arctwo.c: New file.
79461
79462 2005-10-21  Simon Josefsson  <jas@extundo.com>
79463
79464         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
79465         Bruno Haible <bruno@clisp.org>.
79466
79467         * m4/gc-des.m4: New file.
79468
79469 2005-10-21  Simon Josefsson  <jas@extundo.com>
79470
79471         * m4/arctwo.m4: New file.
79472
79473         * m4/gc-arctwo.m4: New file.
79474
79475 2005-10-21  Simon Josefsson  <jas@extundo.com>
79476
79477         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
79478         block.
79479
79480 2005-10-21  Simon Josefsson  <jas@extundo.com>
79481
79482         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
79483         <bruno@clisp.org>.
79484
79485         * lib/hmac-sha1.c (hmac_sha1): Likewise.
79486
79487         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
79488         Bruno Haible <bruno@clisp.org>.
79489
79490         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
79491         <bruno@clisp.org>.
79492
79493 2005-10-21  Simon Josefsson  <jas@extundo.com>
79494
79495         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
79496
79497 2005-10-21  Simon Josefsson  <jas@extundo.com>
79498
79499         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
79500
79501 2005-10-21  Simon Josefsson  <jas@extundo.com>
79502
79503         * lib/des.h, lib/des.c: New files.
79504
79505         * lib/gc-gnulib.c: Support DES.c
79506
79507 2005-10-21  Simon Josefsson  <jas@extundo.com>
79508
79509         * lib/arctwo.h, lib/arctwo.c: New files.
79510
79511         * lib/gc-gnulib.c: Support ARCTWO.
79512
79513 2005-10-21  Simon Josefsson  <jas@extundo.com>
79514
79515         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
79516         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79517
79518 2005-10-21  Simon Josefsson  <jas@extundo.com>
79519
79520         * gnulib-tool (func_import, func_create_testdir): Define automake
79521         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
79522         Makefile.am snippet),
79523         suggested by Bruno Haible <bruno@clisp.org>.
79524
79525         * modules/gc (Makefile.am): Use it.
79526
79527 2005-10-21  Bruno Haible  <bruno@clisp.org>
79528
79529         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
79530         patch.
79531
79532 2005-10-19  Simon Josefsson  <jas@extundo.com>
79533
79534         * tests/test-gc-rijndael.c: New file.
79535
79536         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79537
79538 2005-10-19  Simon Josefsson  <jas@extundo.com>
79539
79540         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79541         interface too.
79542
79543 2005-10-19  Simon Josefsson  <jas@extundo.com>
79544
79545         * tests/test-gc-arcfour.c: New file.
79546
79547         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79548
79549 2005-10-19  Simon Josefsson  <jas@extundo.com>
79550
79551         * modules/gc-md4, modules/gc-md4-tests: New file.
79552
79553         * tests/test-gc-md4.c: New file.
79554
79555 2005-10-19  Simon Josefsson  <jas@extundo.com>
79556
79557         * m4/gc-md4.m4: New file.
79558
79559 2005-10-19  Simon Josefsson  <jas@extundo.com>
79560
79561         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79562         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79563         <kasal@ucw.cz>.
79564
79565 2005-10-19  Simon Josefsson  <jas@extundo.com>
79566
79567         * m4/gc-arcfour.m4: New file.
79568
79569         * m4/gc-rijndael.m4: New file.
79570
79571 2005-10-19  Simon Josefsson  <jas@extundo.com>
79572
79573         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79574
79575 2005-10-19  Simon Josefsson  <jas@extundo.com>
79576
79577         * lib/gc-gnulib.c: Support ARCFOUR.
79578
79579 2005-10-19  Simon Josefsson  <jas@extundo.com>
79580
79581         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79582         support.
79583
79584         * lib/gc.h: Add ECB enum type.
79585
79586         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79587
79588 2005-10-18  Simon Josefsson  <jas@extundo.com>
79589
79590         * tests/test-md5.c: New file.
79591
79592         * modules/md5-tests: New file.
79593
79594 2005-10-18  Simon Josefsson  <jas@extundo.com>
79595
79596         * tests/test-md4.c: New file.
79597
79598         * modules/md4, modules/md4-tests: New files.
79599
79600 2005-10-18  Simon Josefsson  <jas@extundo.com>
79601
79602         * m4/md4.m4: New file.
79603
79604 2005-10-18  Simon Josefsson  <jas@extundo.com>
79605
79606         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79607
79608 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79609
79610         * gnulib-tool (func_create_testdir): Omit the second check whether
79611         BUILT_SOURCES in nonempty.
79612
79613 2005-10-17  Simon Josefsson  <jas@extundo.com>
79614
79615         * tests/test-rijndael.c: New file.
79616
79617 2005-10-17  Simon Josefsson  <jas@extundo.com>
79618
79619         * modules/sha1: Depend on stdint instead of md5.
79620
79621         * modules/md5: Depend on stdint, remove uint32_t.
79622
79623 2005-10-17  Simon Josefsson  <jas@extundo.com>
79624
79625         * modules/gc-sha1-tests: New file.
79626
79627         * tests/test-gc-sha1.c: New file.
79628
79629 2005-10-17  Simon Josefsson  <jas@extundo.com>
79630
79631         * m4/md5.m4: Remove call to uint32_t.m4.
79632
79633 2005-10-17  Simon Josefsson  <jas@extundo.com>
79634
79635         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79636
79637         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79638         md5.h.
79639
79640         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79641
79642         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79643
79644 2005-10-17  Simon Josefsson  <jas@extundo.com>
79645
79646         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79647
79648 2005-10-17  Simon Josefsson  <jas@extundo.com>
79649
79650         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79651
79652 2005-10-17  Simon Josefsson  <jas@extundo.com>
79653
79654         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79655
79656         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79657
79658 2005-10-17  Bruno Haible  <bruno@clisp.org>
79659
79660         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79661         that it can also be used in a test.
79662
79663 2005-10-16  Bruno Haible  <bruno@clisp.org>
79664
79665         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79666         TESTS_ENVIRONMENT, so that individual tests can augment it.
79667
79668         * gnulib-tool (func_create_testdir): Use an intermediate target for
79669         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79670         macros, like $(ALLOCA_H), which cannot be passed through the command
79671         line.
79672
79673 2005-10-15  Simon Josefsson  <jas@extundo.com>
79674
79675         * modules/rijndael-tests: New file.
79676
79677         * modules/rijndael: New file.
79678
79679 2005-10-15  Simon Josefsson  <jas@extundo.com>
79680
79681         * m4/rijndael.m4: New file.
79682
79683 2005-10-15  Simon Josefsson  <jas@extundo.com>
79684
79685         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79686
79687         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79688
79689 2005-10-14  Simon Josefsson  <jas@extundo.com>
79690
79691         * tests/test-arcfour.c: New file.
79692
79693         * modules/arcfour, modules/arcfour-tests: New files.
79694
79695 2005-10-14  Simon Josefsson  <jas@extundo.com>
79696
79697         * m4/arcfour.m4: New file.
79698
79699 2005-10-14  Simon Josefsson  <jas@extundo.com>
79700
79701         * lib/arcfour.h, lib/arcfour.c: New files.
79702
79703 2005-10-14  Roland McGrath  <roland@redhat.com>
79704
79705         Import from libc.  [BZ #1331]
79706         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79707         macro argument.
79708         Reported by Matej Vela <vela@debian.org>.
79709
79710 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79711
79712         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79713         include <wchar.h>; no longer needed.
79714
79715 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79716
79717         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79718
79719 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79720         and  Ulrich Drepper  <drepper@redhat.com>
79721
79722         Import from libc.
79723         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79724         instead of inline stream orientation test and two separate
79725         function calls.  Pay no attention to USE_IN_LIBIO.
79726
79727 2005-10-13  Simon Josefsson  <jas@extundo.com>
79728
79729         * modules/gc-hmac-md5-tests: New file.
79730
79731         * tests/test-gc-hmac-sha1.c: New file.
79732
79733         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79734
79735         * modules/gc-hmac-md5-tests: New file.
79736
79737         * tests/test-gc-md5.c: New file.
79738
79739         * modules/gc-md5-tests: New file.
79740
79741 2005-10-13  Simon Josefsson  <jas@extundo.com>
79742
79743         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79744         Move memory allocation outside of loop.
79745
79746 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79747
79748         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79749         intermediate directory is in a read-only file system.  Problem
79750         reported by Eric Blake.
79751
79752 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79753
79754         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79755
79756 2005-10-12  Simon Josefsson  <jas@extundo.com>
79757
79758         * tests/test-hmac-sha1.c: New file.
79759
79760         * modules/hmac-sha1-tests: New file.
79761
79762         * modules/hmac-sha1: New file.
79763
79764 2005-10-12  Simon Josefsson  <jas@extundo.com>
79765
79766         * modules/gc-sha1: New file.
79767
79768 2005-10-12  Simon Josefsson  <jas@extundo.com>
79769
79770         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79771
79772         * tests/test-gc-pbkdf2-sha1.c: New file.
79773
79774 2005-10-12  Simon Josefsson  <jas@extundo.com>
79775
79776         * modules/gc-md5, modules/gc-hmac-md5: New files.
79777
79778         * modules/gc (Files): Remove md5, memxor and hmac files.
79779
79780 2005-10-12  Simon Josefsson  <jas@extundo.com>
79781
79782         * m4/gc-pbkdf2-sha1.m4: New file.
79783
79784         * m4/gc-hmac-sha1.m4: New file.
79785
79786         * m4/gc-sha1: New file.
79787
79788         * m4/hmac-sha1.m4: New file.
79789
79790 2005-10-12  Simon Josefsson  <jas@extundo.com>
79791
79792         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79793
79794         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79795
79796 2005-10-12  Simon Josefsson  <jas@extundo.com>
79797
79798         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79799         suggested by Bruno Haible <bruno@clisp.org>.
79800
79801 2005-10-12  Simon Josefsson  <jas@extundo.com>
79802
79803         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79804
79805 2005-10-12  Simon Josefsson  <jas@extundo.com>
79806
79807         * lib/gc-pbkdf2-sha1.c: New file.
79808
79809         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79810
79811 2005-10-12  Simon Josefsson  <jas@extundo.com>
79812
79813         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79814
79815         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79816
79817 2005-10-12  Simon Josefsson  <jas@extundo.com>
79818
79819         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79820         GC_USE_HMAC_MD5, respectively.
79821
79822         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79823         (gc_md5): Fix typo.
79824
79825         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79826
79827         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79828
79829         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79830
79831 2005-10-12  Bruno Haible  <bruno@clisp.org>
79832
79833         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79834         Reported by Stepan Kasal <kasal@ucw.cz>.
79835
79836 2005-10-11  Simon Josefsson  <jas@extundo.com>
79837
79838         * tests/test-crc.c: New file.
79839
79840         * modules/crc, modules/crc-tests: New files.
79841
79842 2005-10-11  Simon Josefsson  <jas@extundo.com>
79843
79844         * m4/crc.m4: New file.
79845
79846 2005-10-11  Simon Josefsson  <jas@extundo.com>
79847
79848         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79849
79850         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79851
79852         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79853
79854 2005-10-11  Simon Josefsson  <jas@extundo.com>
79855
79856         * lib/crc.h, lib/crc.c: New files.
79857
79858         * lib/gc.h (gc_hash_buffer): Add doc.
79859
79860 2005-10-11  Bruno Haible  <bruno@clisp.org>
79861
79862         * modules/c-strcasestr: New file.
79863         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79864
79865 2005-10-11  Bruno Haible  <bruno@clisp.org>
79866
79867         * modules/c-strcase: New file.
79868         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79869
79870 2005-10-11  Bruno Haible  <bruno@clisp.org>
79871
79872         * lib/strcasecmp.c: Include limits.h.
79873         (strcasecmp): Avoid integer overflow on exotic platforms.
79874         * lib/strncasecmp.c: Include limits.h.
79875         (strncasecmp): Avoid integer overflow on exotic platforms.
79876         Reported by Paul Eggert.
79877
79878 2005-10-11  Bruno Haible  <bruno@clisp.org>
79879
79880         * lib/c-strcasestr.h: New file, from GNU gettext.
79881         * lib/c-strcasestr.c: New file, from GNU gettext.
79882
79883 2005-10-11  Bruno Haible  <bruno@clisp.org>
79884
79885         * lib/c-strcase.h: New file, from GNU gettext.
79886         * lib/c-strcasecmp.c: New file, from GNU gettext.
79887         * lib/c-strncasecmp.c: New file, from GNU gettext.
79888
79889 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79890
79891         * modules/mempcpy (License): GPL -> LGPL.
79892         * modules/strchrnul (License): Likewise.
79893         * modules/sysexits (License): Likewise.
79894
79895 2005-10-08  Simon Josefsson  <jas@extundo.com>
79896
79897         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79898
79899 2005-10-07  Simon Josefsson  <jas@extundo.com>
79900
79901         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79902
79903 2005-10-06  Simon Josefsson  <jas@extundo.com>
79904
79905         * tests/test-hmac-md5.c: New file.
79906
79907         * modules/hmac-md5-tests: New file.
79908
79909         * modules/hmac-md5: New file.
79910
79911 2005-10-06  Simon Josefsson  <jas@extundo.com>
79912
79913         * m4/hmac-md5.m4: New file.
79914
79915         * m4/memxor.m4: Require gl_C_RESTRICT.
79916
79917 2005-10-06  Simon Josefsson  <jas@extundo.com>
79918
79919         * lib/memxor.c (memxor): Avoid casts and warnings.
79920
79921 2005-10-06  Simon Josefsson  <jas@extundo.com>
79922
79923         * lib/hmac-md5.c: New file.
79924
79925         * lib/hmac.h: New file.
79926
79927 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79928
79929         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
79930         promotes to int, not unsigned int, to catch the AIX 5.3
79931         compiler bug.
79932
79933 2005-10-05  Simon Josefsson  <jas@extundo.com>
79934
79935         * modules/memxor: New file.
79936
79937         * modules/iconv (Files): Move config.rpath to havelib, it is used
79938         there.
79939
79940         * modules/havelib (Files): Add config.rpath.
79941
79942 2005-10-05  Simon Josefsson  <jas@extundo.com>
79943
79944         * m4/memxor.m4: New file.
79945
79946 2005-10-05  Simon Josefsson  <jas@extundo.com>
79947
79948         * lib/memxor.c (memxor): Fix compiler error.
79949
79950         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
79951         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
79952
79953         * lib/memxor.h, lib/memxor.c: New files.
79954
79955         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
79956         we assume all systems have it, suggested by Jim Meyering
79957         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
79958         any systems lack sys/socket.h; mingw32 is known to lack it, but we
79959         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
79960         same reasons.
79961
79962 2005-10-05  Simon Josefsson  <jas@extundo.com>
79963
79964         * config/srclist.txt: Add glibc bug 1423 for md5.h.
79965
79966 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
79967
79968         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
79969         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
79970         needed, since the source code now assumes these .h files.
79971
79972 2005-10-05  Derek Price  <derek@ximbiot.com>
79973
79974         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
79975
79976 2005-10-05  Bruno Haible  <bruno@clisp.org>
79977
79978         * modules/stdint (License): Change to LGPL.
79979
79980 2005-10-04  Simon Josefsson  <jas@extundo.com>
79981
79982         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
79983         D. Baushke" <mdb@gnu.org>.
79984
79985 2005-10-04  Bruno Haible  <bruno@clisp.org>
79986
79987         * lib/verify.h (verify_true): Provide alternative definition for C++.
79988
79989 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
79990
79991         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
79992         (SSIZE_MAX): New macro, if not already defined.
79993         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
79994         than 2 GiB.
79995
79996 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79997
79998         Sync from coreutils.
79999         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80000         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80001         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80002         ULLONG_MAX doesn't work with 2.7.2.1.
80003
80004 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80005
80006         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80007         From Ben Pfaff.
80008
80009         * modules/exclude (Depends-on): Depend on verify.
80010         * modules/strtoimax (Depends-on): Likewise.
80011         * modules/utimecmp (Depends-on): Likewise.
80012
80013 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80014
80015         * lib/exclude.c: Include verify.h.
80016         (verify): Remove.  All callers changed to use verify.h's version.
80017         * lib/strtoimax.c: Likewise.
80018         * lib/utimecmp.c: Likewis.e
80019
80020         Sync from coreutils.
80021         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80022         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80023         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80024         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80025         bother returning ENOSYS if settimeofday or stime fails; just let
80026         them return whatever errno they want to return.
80027         * lib/utimens.c: Include unistd.h, for dup2.
80028         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80029         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80030
80031 2005-10-02  Jim Meyering  <jim@meyering.net>
80032
80033         Sync from coreutils.
80034         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80035         from glibc-2.2.5 that fails for read-only files.
80036
80037 2005-10-02  Jim Meyering  <jim@meyering.net>
80038
80039         Sync from coreutils.
80040         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80041         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80042         `#if HAVE_CONFIG_H'.
80043         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80044         Remove AT_FDCWD test.
80045         Do not consume the fd unless successful.
80046         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80047         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80048         block, so that we don't even try to compile it if settimeofday is
80049         available.  This works around a compilation failure on OSF1 V5.1,
80050         due to stime requiring a `long int*' while tv_sec is `int'.
80051
80052 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80053
80054         Sync from coreutils.
80055         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80056         against `yes', rather than just testing for nonempty.
80057
80058 2005-10-01  Simon Josefsson  <jas@extundo.com>
80059
80060         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80061         and Darwin.
80062
80063         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80064         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80065         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80066         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80067         Check if struct addrinfo is declared.
80068
80069 2005-10-01  Simon Josefsson  <jas@extundo.com>
80070
80071         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80072         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80073         AI_* and EAI_* definitions.  Protect function declarations.
80074
80075 2005-10-01  Jim Meyering  <jim@meyering.net>
80076
80077         Sync from coreutils.
80078
80079         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80080         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80081         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80082         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80083         in the inet and nsl libraries.  Required on Solaris 5.7.
80084
80085 2005-10-01  Jim Meyering  <jim@meyering.net>
80086
80087         Sync from coreutils.
80088         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80089         in the inet and nsl libraries.  Required on Solaris 5.7.
80090
80091 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80092
80093         * lib/getdelim.c (getdelim): Remove unused variables.
80094
80095 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80096
80097         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80098         so that the code works even with ancient cpp.  Portability problem
80099         with GCC 2.7.2.1 reported by Thomas M.Ott.
80100
80101 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80102
80103         * modules/regex (Depends-on): Add strcase.
80104
80105         * modules/gethostname (Licence): Change from GPL to LGPL, since
80106         gethostname.c is a trivial implementation of a standard library
80107         function.
80108         * modules/poll (License): Change from GPL to LGPL, since it's
80109         derived from LGPL code.
80110
80111 2005-09-27  Jim Meyering  <jim@meyering.net>
80112
80113         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80114         HAVE_CONFIG_H.
80115
80116         * lib/intprops.h (signed_type_or_expr__): Define.
80117         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80118         for unsigned types.
80119
80120 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80121
80122         * lib/verify.h (verify_expr): Remove, replacing with:
80123         (verify_true): New macro that returns true instead of void.
80124         (verify_type__): Remove.
80125         (verify): Use verify_true rather than verify_type__.
80126
80127 2005-09-26  Bruno Haible  <bruno@clisp.org>
80128
80129         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80130         is necessary.
80131         (lib_SOURCES): Remove mbchar.c.
80132         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80133         (Files): Add m4/mbrtowc.m4.
80134         * modules/mbiter: Likewise.
80135         * modules/mbuiter: Likewise.
80136
80137 2005-09-26  Bruno Haible  <bruno@clisp.org>
80138
80139         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80140         compile mbchar.c if they are not both present.
80141         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80142         * m4/mbiter.m4 (gl_MBITER): Likewise.
80143         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80144         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80145         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80146
80147 2005-09-25  Jim Meyering  <jim@meyering.net>
80148
80149         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80150         also uses socklen_t.
80151
80152 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80153
80154         * lib/utimens.c (ENOSYS): Define if not already defined.
80155         (futimens): Support having a null PATH if the file descriptor
80156         is nonnegative.
80157
80158         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80159         Remove.
80160         (__attribute): Define to empty unless GCC 3.1 or later.
80161         This works around a core dump on OpenBSD 3.4, which has GCC
80162         2.95.3, which dumps core when given __attribute__(()).  It also
80163         simplifies other tests, since we really don't want to bother with
80164         worrying about which ancient version of GCC supported what.
80165         Original problem reported by Yoann Vandoorselaere, with part of
80166         the fix suggested by Derek Price.
80167
80168 2005-09-24  Jim Meyering  <jim@meyering.net>
80169
80170         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80171         so we can once again use a positive bitfield width of 1 -- now we
80172         don't have to explain why we were using a bitfield width of 2.
80173
80174 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80175
80176         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80177         and similarly for the other external symbols.  Problem reported
80178         by James Gallager.
80179
80180         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80181         bug reported by Jim Meyering.
80182
80183         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80184         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80185         not needed, since socklen is a prerequisite module.
80186
80187 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80188
80189         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80190         Problem reported by Eric Blake.
80191         (getaddrinfo): Initialize se so that it's not garbage.
80192         Redo internal storage allocation so that it doesn't make unportable
80193         assumptions about alignment.
80194         Fix a memory leak.
80195
80196         * lib/utimens.c (futimens): Use futimesat if available.
80197         Prefer it to futimes since it doesn't have the futimes bug.
80198
80199         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80200         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80201         Instead, declare a function that returns a pointer to an array,
80202         and use verify_type__ to declare the size of the array.
80203         Problem and germ of a solution reported by Bruno Haible.
80204         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80205         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80206
80207 2005-09-23  Jim Meyering  <jim@meyering.net>
80208
80209         Sync from coreutils.
80210         Correct build failure (socklen_t not defined) on at least
80211         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80212         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80213
80214 2005-09-23  Jim Meyering  <jim@meyering.net>
80215
80216         * modules/getaddrinfo (Depends-on): Add socklen.
80217
80218 2005-09-23  Bruno Haible  <bruno@clisp.org>
80219
80220         * tests/test-verify.c: New file.
80221
80222 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         Sync from coreutils.
80225
80226         * modules/argmatch (Depends-on): Add verify.
80227         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80228         unistd-safer.
80229         * modules/save-cwd (Depends-on): Likewise.
80230
80231         * modules/openat (Files): Add lib/openat-die.c.
80232         (Depends-on): Remove error, exitfail.
80233         Add dirname.
80234
80235         * modules/verify: New file.
80236         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80237         with "verify" module.
80238
80239 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80240
80241         Sync from coreutils.
80242
80243         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80244         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80245         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80246         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80247         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80248         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80249         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80250         Don't bother checking for string.h, stdlib.h, unistd.h.
80251         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80252         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80253         module's job.
80254         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80255         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80256
80257         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80258         (gl_GETDATE): Use it.
80259
80260         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80261
80262 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80263
80264         Sync from coreutils.
80265
80266         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80267         stat-time.h.
80268         * lib/argmatch.h: Include verify.h
80269         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80270         (ARGMATCH_ASSERT): Remove; unused.
80271         * lib/canonicalize.c: Assume STDC_HEADERS.
80272         * lib/exclude.c: Include "strcase.h".
80273         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80274         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80275         and stdio-safer.h.
80276         (getusershell): Call fopen, not fopen_safer.
80277         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80278         Do not include unistd-safer.h.
80279         (save_cwd): Don't call fd_safer; no longer needed
80280         now that we include fcntl--.h.
80281
80282         * lib/getdate.y (relative_time): New type.
80283         (RELATIVE_TIME_0): New constant.
80284         (parser_control): Use relative_time instead of doing it ourselves.
80285         (%union): Add new relative_time rel member.
80286         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80287         Now typeless.
80288         (relunit, relunit_snumber): Now of type rel.
80289         (zone, rel, relunit, get_date): Adjust to above changes.
80290
80291         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80292         Do not include unistd-safer.h.
80293         (getloadavg): Don't call fd_safer; no longer needed
80294         now that we include fcntl--.h.
80295
80296         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80297         (make_dir_parents): Treat ENOSYS like EEXIST.
80298
80299         Improve quality of diagnostics on restore_cwd failure.
80300         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80301         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80302         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80303         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80304         each time through the loop.  Do not diagnose restore_cwd failure;
80305         that is the caller's job (and perhaps the caller does not care).
80306
80307         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80308         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80309         If the file already exists but is not a directory, don't bother
80310         to try to make its parents.
80311         Close potential file descriptor leak if we can't chdir("/") (!).
80312         Don't always return true if chdir($PWD) fails; return true only
80313         if the requested action was done successfully (except for the
80314         chdir($PWD)).
80315         Don't log final directory unless we actually made it.
80316         Refactor to avoid duplicate code to fix up permissions.
80317         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80318
80319         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80320         to make it a bit faster and (I hope) clearer.
80321         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80322         Fix bug in formats like %2N.
80323
80324         * lib/verify.h: New file.
80325
80326 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80327
80328         Sync from coreutils.
80329         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80330
80331 2005-09-22  Jim Meyering  <jim@meyering.net>
80332
80333         Sync from coreutils.
80334
80335         * m4/lstat.m4 (gl_FUNC_LSTAT):
80336         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80337         Remove obsolete comment.
80338         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80339         * m4/xstrtod.m4: Likewise.
80340
80341         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80342
80343 2005-09-22  Jim Meyering  <jim@meyering.net>
80344
80345         Sync from coreutils.
80346
80347         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80348
80349         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80350         the .tm_year member, since otherwise gcc-4.0 would now warn about
80351         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80352
80353         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80354         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80355
80356         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80357         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80358         when run in a time zone for which daylight savings time is in effect
80359         for the starting date.
80360
80361         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80362         stop us from restricting permissions of just-created absolute-named
80363         directories.
80364         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80365         to restore initial working directory.
80366         * lib/mkdir-p.c (make_dir_parents): New parameter:
80367         different_working_dir, to tell caller if/when we change the working
80368         directory and are unable to return to the initial one.
80369         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80370         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80371         `return false'.  This fixes a bug introduced on 2004-07-30.
80372
80373         * lib/openat.c (fdopendir): Be sure to close the supplied
80374         file descriptor before returning.  This makes our replacement
80375         implementation a little closer to Solaris's, where fdopendir
80376         ties the file descriptor to the returned DIR* pointer.
80377         * lib/openat.c (unlinkat): New function.
80378         * lib/openat.h (unlinkat): Add prototype.
80379         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80380         (openat_restore_fail): Rename from openat_restore_die.
80381         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80382
80383         Provide an alternative to exiting immediately upon save_cwd or
80384         restore_cwd failure.  Now, an application can arrange e.g.,
80385         to perform a longjump in that case.
80386         * lib/openat.c: Include dirname.h.
80387         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80388         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80389         and openat_restore_die rather than calling error directly.
80390         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80391
80392         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80393         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
80394         define.
80395
80396         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
80397         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
80398                             int utc, int nanoseconds);
80399         Background:
80400         date should not have to allocate a megabyte of virtual memory to
80401         handle a format argument like +%1048575T.  When implemented with
80402         strftime, it must allocate such a buffer, use strftime to fill it
80403         in, print it, then free it.
80404         With fprintftime, it simply prints everything and exits.
80405         With no need for memory allocation, that's one fewer way to fail.
80406         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
80407         optional field width, not before, so we accept %9:z, not %:9z.
80408         (my_strftime): Be sure to use L_('x') for literals.
80409
80410         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
80411         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
80412         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
80413         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
80414         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
80415         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
80416         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
80417         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
80418         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
80419         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
80420         * lib/xgethostname.c, lib/xreadlink.c:
80421         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
80422
80423         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
80424         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
80425         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
80426         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80427         and don't include <sys/file.h>).
80428
80429 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
80430
80431         Sync from coreutils.
80432
80433         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
80434         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
80435         [!LDAV_DONE]: Avoid unused variable warning.
80436
80437 2005-09-21  Bruno Haible  <bruno@clisp.org>
80438
80439         * lib/unicodeio.h (unicode_to_mb): New declaration.
80440
80441 2005-09-20  Derek Price  <derek@ximbiot.com>
80442
80443         * lib/getaddrinfo.c: Don't include <netdb.h> included from
80444         getaddrinfo.h.
80445
80446 2005-09-20  Bruno Haible  <bruno@clisp.org>
80447
80448         * gnulib-tool: Remove trailing slashes from the values specified for
80449         --source-base, --m4-base, --tests-base, --aux-dir.
80450         Suggested by Simon Josefsson <jas@extundo.com>.
80451
80452 2005-09-20  Bruno Haible  <bruno@clisp.org>
80453
80454         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
80455         func_modules_to_filelist, func_import, func_create_testdir): Make all
80456         sorting results locale-independent, so that gnulib-cache.m4 doesn't
80457         change when gnulib-tool is invoked in a different locale.
80458
80459 2005-09-19  Simon Josefsson  <jas@extundo.com>
80460
80461         * m4/socklen.m4: Fix typo.
80462
80463 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80464
80465         Use a consistent style for including <config.h>.
80466         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
80467         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
80468         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
80469         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
80470         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
80471         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
80472         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
80473         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
80474         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
80475         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
80476         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
80477         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
80478         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
80479         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
80480         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
80481         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
80482         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
80483         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
80484         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
80485         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
80486         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
80487         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
80488         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
80489         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
80490         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
80491         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
80492         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
80493         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
80494         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
80495         lib/xstrtoumax.c, lib/yesno.c:
80496         Standardize inclusion of config.h.
80497         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
80498         lib/inttostr.h:  Removed inclusion of config.h from header files.
80499         * lib/inttostr.c:  Adjusted in-tree users.
80500         * lib/timespec.h: Remove superfluous warning to include config.h.
80501         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
80502         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
80503         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
80504         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
80505         config.h with HAVE_CONFIG_H.
80506
80507 2005-09-19  Jim Meyering  <jim@meyering.net>
80508
80509         * modules/pathmax (License): Change to LGPL.
80510
80511 2005-09-19  Derek Price  <derek@ximbiot.com>
80512
80513         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
80514
80515 2005-09-19  Bruno Haible  <bruno@clisp.org>
80516
80517         * gnulib-tool (import): Provide default for --tests-base.
80518
80519 2005-09-19  Bruno Haible  <bruno@clisp.org>
80520
80521         * doc/quote.texi: New file, extracted from gnulib.texi.
80522         * doc/ctime.texi: New file, extracted from gnulib.texi.
80523         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
80524         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
80525         * doc/gnulib.texi: Include them.
80526
80527 2005-09-18  Bruno Haible  <bruno@clisp.org>
80528
80529         Portability fix.
80530         * gnulib-tool (func_readlink): New function.
80531         (func_ln_if_changed): Use it.
80532
80533 2005-09-18  Bruno Haible  <bruno@clisp.org>
80534
80535         * gnulib-tool: Support --with-tests also with --import.
80536         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80537         (func_import): Use variables $testsbase and $inctests. Emit a
80538         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80539         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80540         SUBDIRS += $testsdir.
80541         (func_create_testdir): Update.
80542
80543 2005-09-18  Bruno Haible  <bruno@clisp.org>
80544
80545         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80546         instead of $dry_run.
80547         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80548         (func_ln_if_changed): Don't handle dry-run here.
80549         (func_import): In dry-run mode, detect more precisely which actions
80550         would be performed, and don't use "...ing" verbs.
80551
80552 2005-09-18  Bruno Haible  <bruno@clisp.org>
80553
80554         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80555         (func_import): Use join on two temporary files instead of three nested
80556         loops, in order to determine which files are new or old.
80557
80558 2005-09-18  Bruno Haible  <bruno@clisp.org>
80559
80560         * gnulib-tool (func_import): Comment out code that spits out the
80561         new files with --dry-run.
80562
80563 2005-09-18  Bruno Haible  <bruno@clisp.org>
80564
80565         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80566
80567 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80568
80569         * lib/stat-time.h: New file.
80570         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80571         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80572         in a different way.
80573         (timespec_cmp): New function.
80574         * lib/utimecmp.c: Include stat-time.h.
80575         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80576         members exist, not on the obsolescent ST_MTIM_NSEC.
80577         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80578
80579 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80580
80581         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80582
80583 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80584
80585         * MODULES.html.sh (File system functions): Add stat-time.
80586         * modules/stat-time: New file.
80587         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80588         is now done in a different way, by the stat-time module.
80589         * modules/utimecmp (Depends-on): Add stat-time.
80590
80591 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80592
80593         * m4/st_mtim.m4: Remove.  Superseded by...
80594         * m4/stat-time.m4: New file.
80595         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80596         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80597
80598 2005-09-15  Derek Price  <derek@ximbiot.com>
80599
80600         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80601
80602 2005-09-15  Derek Price  <derek@ximbiot.com>
80603
80604         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80605         * lib/regex_internal.c: Ditto, using this...
80606         (__GNUC_PREREQ): ...new macro.
80607         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80608         using...
80609         (__GNUC_PREREQ): ...this new macro.
80610
80611         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80612
80613 2005-09-15  Derek Price  <derek@ximbiot.com>
80614             Paul Eggert  <eggert@cs.ucla.edu>
80615
80616         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80617         changes, consolidating in...
80618         * lib/regex_internal.h: ...this file.
80619
80620 2005-09-13  Jim Meyering  <jim@meyering.net>
80621
80622         * lib/canon-host.c: Filter through gnu indent and reword comments
80623         slightly.
80624         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80625
80626 2005-09-13  Derek Price  <derek@ximbiot.com>
80627
80628         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80629         failure.
80630         Reported by Jim Meyering  <jim@meyering.net>.
80631
80632 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80633
80634         * lib/base64.c: Typo.
80635         (base64_encode): Put b64str in initialized data section.
80636
80637 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80638
80639         Merge glibc and coreutils changes into gnulib, plus a few
80640         extra fixes.
80641         * lib/md5.c: Use #error rather than a string.
80642         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80643         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80644         (__attribute__): Define to empty for non recent-GCC.
80645         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80646         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80647         Renamed from their non-__ counterparts, with new macros replacing
80648         them if not _LIBC.  Add __THROW attribute.
80649         (rol): Remove.
80650         (struct md5_ctx): Align buffer if using GCC.
80651         * lib/sha1.h (struct sha1_ctx): Likewise.
80652         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80653         The old name was backwards.
80654         (NOTSWAP): Remove; not used.
80655         (rol): New macro, moved here from md5.h.
80656         (sha1_process_block): Remove a FIXME that doesn't make sense.
80657
80658 2005-09-12  Derek Price  <derek@ximbiot.com>
80659
80660         Return usable errors from canon-host.
80661         * lib/canon-host.h: New file.
80662         * lib/canon-host.c (canon_host): Wrap...
80663         (canon_host_r): ...this new function, which now relies exclusively on
80664         getaddrinfo.
80665         (ch_strerror): New function.
80666         (last_cherror): New global.
80667         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80668         interface.
80669         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80670         void *.
80671         (freeaddrinfo): Free ai->ai_canonname when set.
80672
80673 2005-09-12  Derek Price  <derek@ximbiot.com>
80674
80675         Make canon-host require getaddrinfo.
80676         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80677         AC_LIBSOURCE canon-host.h.  Call...
80678         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80679         gl_GETADDRINFO.
80680         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80681
80682 2005-09-12  Derek Price  <derek@ximbiot.com>
80683
80684         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80685         LGPL.
80686         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80687
80688 2005-09-12  Derek Price  <derek@ximbiot.com>
80689
80690         * lib/gai_strerror.c: Include config.h when available.  Include
80691         getaddrinfo.h before other headers to test interface.
80692         Reported by Larry Jones <lawrence.jones@ugs.com>.
80693
80694 2005-09-12  Derek Price  <derek@ximbiot.com>
80695             Paul Eggert  <eggert@cs.ucla.edu>
80696
80697         * modules/glob (Files): Add glob-libc.h.
80698
80699 2005-09-12  Derek Price  <derek@ximbiot.com>
80700             Paul Eggert  <eggert@cs.ucla.edu>
80701
80702         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80703         glob_.h, glob-libc.h.
80704         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80705
80706 2005-09-12  Derek Price  <derek@ximbiot.com>
80707             Paul Eggert  <eggert@cs.ucla.edu>
80708
80709         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80710         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80711         protecting things that should be done only in gnulib contexts.
80712         * lib/glob_.h: New file, containing only the glob things needed for
80713         gnulib.
80714         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80715         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80716         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80717         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80718         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80719         and to respect the namespace rules better.
80720
80721 2005-09-08  Simon Josefsson  <jas@extundo.com>
80722
80723         * modules/socklen: New file.
80724
80725 2005-09-08  Simon Josefsson  <jas@extundo.com>
80726
80727         * m4/socklen.m4: New file.
80728
80729 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80730
80731         * modules/utimens (Files): Add m4/utimbuf.m4, since
80732         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80733         Reported by Sergey Poznyakoff.
80734
80735 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80736
80737         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80738         definitions, since that's the preferred style in glibc.
80739         Fix a minor spacing issue, and update copyright notice to match
80740         glibc's.
80741
80742 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80743
80744         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80745
80746 2005-09-06  Simon Josefsson  <jas@extundo.com>
80747
80748         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80749         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80750
80751 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80752
80753         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80754         warning.
80755
80756 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80757
80758         * config/srclist.txt: Add glibc bug 1302.
80759
80760 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80761
80762         Change bitset word type from unsigned int to unsigned long int,
80763         as this has better performance on typical 64-bit hosts.
80764         Port bitset code to hosts with unusual word sizes.
80765         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80766         (build_collating_symbol):
80767         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80768         argument is a bitset.  This is merely a style issue, but it makes
80769         it clearer that an entire array is expected.
80770         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80771         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80772         Port to the case where bitset_word is not the same as unsigned int.
80773         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80774         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80775         Likewise.
80776         * lib/regexec.c (check_dst_limits_calc_pos_1,
80777         check_subexp_matching_top):
80778         (build_trtable, group_nodes_into_DFAstates):
80779         Likewise.
80780         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80781         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80782         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80783         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80784         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80785         * lib/regcomp.c (optimize_subexps, lower_subexp):
80786         Work even if bitset_word has holes in its bitwise representation.
80787         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80788         * lib/regexec.c (check_dst_limits_calc_pos_1,
80789         check_subexp_matching_top):
80790         Likewise.
80791         * lib/regex_internal.c (re_string_reconstruct):
80792         Don't assume UCHAR_MAX == 255.
80793         * lib/regex_internal.h (bitset_set_all): Likewise.
80794         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80795         All uses changed.
80796         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80797         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80798         All uses changed.
80799         (BITSET_WORD_MAX): New macro.
80800         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80801         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80802         (bitset_empty, bitset_copy):
80803         Prefer sizeof (bitset) to multiplying it out ourselves.
80804         (bitset_not_merge): Remove; unused.
80805         (bitset_contain): Return bool, not unsigned int with one bit on.
80806         All callers changed.
80807         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80808         alignment than re_node_set; do this by defining a new internal
80809         type struct dests_alloc and using it to allocate memory.
80810
80811 2005-09-05  Bruno Haible  <bruno@clisp.org>
80812
80813         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80814         links.
80815
80816 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80817
80818         * modules/size_max (Makefile.am): Add size_max.h
80819
80820 2005-09-04  Derek Price  <derek@ximbiot.com>
80821
80822         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80823
80824 2005-09-03  Simon Josefsson  <jas@extundo.com>
80825
80826         * gnulib-tool: Fix typo.
80827
80828 2005-09-03  Simon Josefsson  <jas@extundo.com>
80829
80830         * config/srclist.txt: Add glibc bug 1293.
80831
80832 2005-09-03  Derek Price  <derek@ximbiot.com>
80833
80834         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80835         From Larry Jones <lawrence.jones@ugs.com>.
80836
80837 2005-09-02  Simon Josefsson  <jas@extundo.com>
80838
80839         * modules/socklen: New file.
80840
80841 2005-09-02  Simon Josefsson  <jas@extundo.com>
80842
80843         * modules/havelib: New module.
80844
80845         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80846         Use havelib.
80847
80848 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80849
80850         Check for arithmetic overflow when calculating sizes, to prevent
80851         some buffer-overflow issues.  These patches are conservative, in the
80852         sense that when I couldn't determine whether an overflow was possible,
80853         I inserted a run-time check.
80854         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80855         macros.
80856         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80857         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80858         (re_xnrealloc, re_x2nrealloc): New inline functions.
80859         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80860         parse_bracket_exp):
80861         (build_equiv_class, build_charclass): Check for arithmetic overflow
80862         in size expression calculations.
80863         * lib/regex_internal.c (re_string_realloc_buffers):
80864         (build_wcs_upper_buffer, re_node_set_add_intersect):
80865         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80866         (re_dfa_add_node, register_state): Likewise.
80867         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80868         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80869         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80870         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80871
80872 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80873
80874         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80875         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80876
80877 2005-09-02  Bruno Haible  <bruno@clisp.org>
80878
80879         Support for lib vs. lib64 distinction on biarch platforms.
80880         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80881         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80882         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80883
80884 2005-09-02  Bruno Haible  <bruno@clisp.org>
80885
80886         * gnulib-tool (import): In the other first-use case, provide defaults
80887         as well.
80888
80889 2005-09-02  Bruno Haible  <bruno@clisp.org>
80890
80891         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80892         patches not yet found in the latest gettext release.
80893
80894 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80895
80896         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80897         to avoid a collision with bits/local_lim.h in glibc.
80898         All uses changed.  Problem reported by Dmitry V. Levin in
80899         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80900
80901         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80902         bugs in int versus size_t comparisons.
80903         (re_string_context_at): Fix bug where the code assumed that
80904         Idx is signed.
80905
80906         Use bool where appropriate.
80907         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
80908         All callers changed.
80909         (calc_eclosure_iter): Likewise, for ROOT arg.
80910         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
80911         (build_charclass_op): Likewise, for NON_MATCH arg.
80912         * lib/regex_internal.c (re_string_allocate, re_string_construct):
80913         (re_string_construct_common): Likewise, for ICASE arg.
80914         * lib/regexec.c (re_search_2_stub, re_search_stub):
80915         Likewise, for RET_LEN arg.
80916         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
80917         (set_regs): Likewise, for FL_BACKTRACK arg.
80918         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
80919         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
80920         (calc_eclosure_iter, parse_bracket_exp):
80921         Use bool for internal variables that are booleans.
80922         * lib/regexec.c (re_search_internal, check_matching,
80923         proceed_next_node):
80924         (set_regs, build_sifted_states, sift_states_bkref):
80925         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
80926         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80927         (find_collation_sequence_value):
80928         Likewise.
80929         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
80930         (re_node_set_compare):
80931         Return bool, not int. All callers changed.
80932         * lib/regexec.c (check_halt_node_context, check_dst_limits):
80933         (build_trtable, check_node_accept): Likewise.
80934         * lib/regex_internal.h: Include stdbool.h.
80935
80936         Fix bugs uncovered when converting to bool.
80937         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
80938         failure instead of charging ahead blindly.
80939         * lib/regex_internal.c (register_state): Likewise.
80940         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
80941         for freeing internal storage.
80942         (group_nodes_into_DFA_states): Use unsigned int, not int, for
80943         bitset pieces used as boolean, to avoid undefined behavior
80944         on hosts that do int overflow checking.
80945
80946 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         * config/srclist.txt: Add glibc bugs 1285-1287.
80949
80950 2005-09-01  Jim Meyering  <jim@meyering.net>
80951
80952         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
80953         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
80954         Require gl_STAT_MACROS, too.
80955
80956 2005-09-01  Bruno Haible  <bruno@clisp.org>
80957
80958         * gnulib-tool (import): In the first-use case, provide defaults.
80959
80960 2005-09-01  Bruno Haible  <bruno@clisp.org>
80961
80962         * gnulib-tool (func_import): Remove the .tmp files.
80963
80964 2005-09-01  Bruno Haible  <bruno@clisp.org>
80965
80966         * gnulib-tool (func_import): Fix handling of symbolic links.
80967
80968 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80969
80970         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
80971         old glibc regex code mishandles strings longer than 2**31 bytes.
80972         This patch fixes this when the regex code is used in gnulib
80973         (i.e., outside glibc).
80974
80975         This patch should not affect the use of the regex code inside
80976         glibc.  No doubt this problem also needs to be handled for glibc
80977         as well, but the result will be an incompatible change to the
80978         glibc ABI, and the old ABI will have to be supported too.  That
80979         can be the the subject for another patch.
80980
80981         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
80982         governing whether the rest of this patch is active.  By default,
80983         the macro is disabled and the patch has no effect.
80984         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
80985         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
80986         (struct re_pattern_buffer, re_search, re_search_2, re_match):
80987         (re_match_2, re_set_registers): Use the new types.
80988         * lib/regex_internal.h (Idx, re_hashval_t): New types.
80989         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
80990         New macros.
80991         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
80992         (re_string_context_at, bin_tree_t, re_dfastate_t):
80993         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
80994         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
80995         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
80996         (re_string_char_size_at, re_string_wchar_at):
80997         (re_string_elem_size_at):
80998         Use the new types and macros to port to 64-bit hosts.
80999         Use unsigned types for internal values, so that the code
81000         mostly works even for arrays larger than SSIZE_MAX.
81001         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81002         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81003         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81004         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81005         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81006         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81007         (calc_inveclosure, parse_dup_op, build_range_exp):
81008         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81009         (fetch_number, create_token_tree, mark_opt_subexp):
81010         Likewise.
81011         * lib/regex_internal.c (re_string_construct_common,
81012         create_ci_newstate):
81013         (create_cd_newstate, re_string_allocate, re_string_construct):
81014         (re_string_realloc_buffers, build_wcs_upper_buffer):
81015         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81016         (re_string_reconstruct, re_string_peek_byte_case):
81017         (re_string_fetch_byte_case, re_string_context_at):
81018         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81019         (re_node_set_init_copy, re_node_set_add_intersect):
81020         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81021         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81022         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81023         (re_acquire_state, re_acquire_state_context, register_state):
81024         Likewise.
81025         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81026         search_cur_bkref_entry):
81027         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81028         (re_search_internal, re_search_2_stub, re_search_stub)
81029         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81030         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81031         (update_cur_sifted_state, check_dst_limits):
81032         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81033         (check_subexp_limits, sift_states_bkref, merge_state_array):
81034         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81035         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81036         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81037         (expand_bkref_cache, check_node_accept_bytes):
81038         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81039         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81040         (acquire_init_state_context, check_halt_node_context):
81041         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81042         (sift_states_backward, clean_state_log_if_needed):
81043         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81044         (find_recover_state, transit_state_sb, transit_state_mb):
81045         (transit_state_bkref, build_trtable, match_ctx_clean):
81046         Likewise.
81047         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81048         to work around an assumption that REG_MISSING is negative.
81049
81050         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81051         (seek_collating_symbol_entry) [defined _LIBC]:
81052         (lookup_collation_sequence_value) [defined _LIBC]:
81053         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81054         Use prototypes rather than old-style function definitions.
81055         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81056         (transit_state_sb) [0]:
81057         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81058
81059         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81060         rm_eo.
81061
81062         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81063         (optimize_subexps, lower_subexp):
81064         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81065         since the signed shift might overflow.  Use 1u<<31 instead.
81066         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81067         Likewise.
81068         * lib/regexec.c (check_dst_limits_calc_pos_1,
81069         check_subexp_matching_top): Likewise.
81070
81071         * lib/regcomp.c (optimize_subexps, lower_subexp):
81072         Use CHAR_BIT rather than 8, for clarity.
81073         * lib/regexec.c (check_dst_limits_calc_pos_1):
81074         (check_subexp_matching_top): Likewise.
81075         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81076         have to worry about portability issues when shifting it left.
81077         Remove no-longer-needed test for table_size > 0.
81078         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81079         in a word, as the resulting behavior is undefined.
81080         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81081         in one case, a <= should have been an <, and in another case the
81082         whole test was missing.
81083         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81084         the standard name CHAR_BIT.
81085         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81086         this is not true on one's complement and signed-magnitude hosts.
81087
81088         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81089         next_last_offset.
81090         (struct re_dfa_t): Remove unused member states_alloc.
81091         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81092
81093 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81094
81095         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81096         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81097         and large-file glibc and in 32-bit large-file Solaris.
81098
81099 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81100
81101         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81102         lengths fit in regoff_t; this isn't true if regoff_t is the same
81103         width as size_t.
81104         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81105         (= START + RANGE) instead of RANGE.  This avoids overflow
81106         problems when regoff_t is the same width as size_t.
81107         All callers changed.
81108         (re_search_2_stub): Check for overflow when adding the
81109         sizes of the two strings.
81110         (re_search_stub): Check for overflow when adding START
81111         to RANGE; if it occurs, substitute the extreme value.
81112
81113 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81114
81115         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81116
81117 2005-08-31  Jim Meyering  <jim@meyering.net>
81118
81119         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81120         a pointer-to-const.
81121         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81122         (register_state): Likewise.
81123         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81124         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81125         (group_nodes_into_DFAstates): Likewise.
81126
81127 2005-08-31  Jim Meyering  <jim@meyering.net>
81128
81129         * check-module: Add a FIXME comment.
81130
81131 2005-08-31  Eric Blake  <ebb9@byu.net>
81132
81133         * modules/unistd-safer (Files): Add unistd--.h.
81134         * modules/stdio-safer (Files): Add stdio--.h.
81135
81136 2005-08-31  Derek Price  <derek@ximbiot.com>
81137
81138         * lib/getdelim.c (getdelim): Return EOF on EOF.
81139         Reported by Larry Jones <lawrence.jones@ugs.com>.
81140
81141 2005-08-31  Bruno Haible  <bruno@clisp.org>
81142
81143         Avoid unnecessary diffs in the generated lib/Makefile.am.
81144         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81145         the generated files.
81146         (func_import): Don't set cmd.
81147
81148 2005-08-31  Bruno Haible  <bruno@clisp.org>
81149
81150         * lib/strstr.c: Include <stddef.h>, for NULL.
81151         * lib/strcasestr.c: Likewise.
81152         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81153
81154 2005-08-31  Bruno Haible  <bruno@clisp.org>
81155
81156         * gnulib-tool: New option --macro-prefix.
81157         (func_import): Use macro_prefix.
81158         (import): Handle option --macro-prefix.
81159
81160 2005-08-31  Bruno Haible  <bruno@clisp.org>
81161
81162         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81163         Also use new variables cached_lgpl, cached_libtool.
81164
81165 2005-08-31  Bruno Haible  <bruno@clisp.org>
81166
81167         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81168         always instantiating them.
81169
81170 2005-08-31  Bruno Haible  <bruno@clisp.org>
81171
81172         * gnulib-tool (func_import): Read the previous cached settings
81173         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81174         earlier added by gnulib but are now dropped. Warn when a gnulib file
81175         overwrites a non-gnulib file.
81176
81177 2005-08-31  Bruno Haible  <bruno@clisp.org>
81178
81179         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81180         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81181         projects that don't keep autogenerated files in CVS. Put into
81182         actioncmd only the specified modules, not the transitive closure.
81183
81184 2005-08-31  Bruno Haible  <bruno@clisp.org>
81185
81186         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81187         Create directories that shall be filled.
81188         (import): Don't look for gl_* macros in configure.ac. Recurse across
81189         all directories containing a gnulib-cache.m4 files, if meaningful.
81190
81191 2005-08-31  Bruno Haible  <bruno@clisp.org>
81192
81193         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81194         (import): Set seen_libtool when we see gl_LIBTOOL.
81195
81196 2005-08-31  Bruno Haible  <bruno@clisp.org>
81197
81198         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81199         declaration macro definitions from generated gnulib.m4.
81200
81201 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81202
81203         * lib/iconvme.h: Add prototype for iconv_alloc.
81204
81205 2005-08-29  Simon Josefsson  <jas@extundo.com>
81206
81207         * lib/iconvme.c: Fix errno.
81208
81209 2005-08-29  Bruno Haible  <bruno@clisp.org>
81210
81211         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81212         that it works when the directory contains spaces.
81213
81214 2005-08-29  Bruno Haible  <bruno@clisp.org>
81215
81216         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81217
81218 2005-08-29  Bruno Haible  <bruno@clisp.org>
81219
81220         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81221         Emit more advice.
81222
81223 2005-08-29  Bruno Haible  <bruno@clisp.org>
81224         and Stepan Kasal  <kasal@ucw.cz>
81225
81226         * check-module: If more parameters are given, check each of them
81227         separately; add more exceptions, as noted by Jim Meyering.
81228         (check_module): New procedure.
81229         (%exempt_header): Now contains all exceptions.
81230
81231 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81232
81233         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81234
81235 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81236
81237         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81238
81239 2005-08-28  Bruno Haible  <bruno@clisp.org>
81240
81241         * m4/gnulib-tool.m4: New file.
81242
81243 2005-08-27  Jim Meyering  <jim@meyering.net>
81244
81245         * modules/unistd-safer (Files): Add pipe-safer.c.
81246         * modules/fcntl-safer (Files): Add creat-safer.c.
81247
81248 2005-08-27  Jim Meyering  <jim@meyering.net>
81249
81250         * m4/stdlib-safer.m4: New file.  From coreutils.
81251         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81252         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81253         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81254         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81255         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81256
81257 2005-08-27  Jim Meyering  <jim@meyering.net>
81258
81259         * lib/fopen-safer.c: Merge minor changes from coreutils.
81260         * lib/dup-safer.c: Likewise.
81261         * lib/fd-safer.c: Likewise.
81262
81263         Merge from coreutils.
81264         * lib/stdio--.h: New file.
81265         * lib/stdlib--.h: New file.
81266         * lib/mkstemp-safer.c: New file.
81267
81268         GNU tar needs these.
81269         * lib/pipe-safer.c: New file.
81270         * lib/creat-safer.c: New file.
81271         * lib/fcntl--.h (creat): Define to creat_safer.
81272         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81273         * lib/unistd--.h (pipe): Define to pipe_safer.
81274         * lib/unistd-safer.h: Declare pipe_safer.
81275
81276 2005-08-26  Simon Josefsson  <jas@extundo.com>
81277
81278         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81279         Haible <bruno@clisp.org>.
81280
81281 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81282
81283         * lib/regex_internal.h: Remove all references to
81284         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81285         or better.
81286         (bitset_not, bitset_merge, bitset_not_merge):
81287         (bitset_mask, re_string_allocate, re_string_construct):
81288         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81289         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81290         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81291         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81292         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81293         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81294         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81295         (re_acquire_state_context):
81296         Remove unnecessary forward decls.
81297         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81298         Put __attribute at function definition,
81299         now that the function decl has been removed.
81300         * lib/regex_internal.c (re_string_peek_byte_case):
81301         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81302         Likewise.
81303
81304 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81305
81306         * m4/regex.m4: Add AC_PREREQ(2.50).
81307         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81308
81309 2005-08-25  Simon Josefsson  <jas@extundo.com>
81310
81311         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81312         __fsetlocking.
81313
81314 2005-08-25  Simon Josefsson  <jas@extundo.com>
81315
81316         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81317         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81318         GLIBC specific code.
81319
81320 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81321
81322         Make regex safe for g++.  This fixes one real bug (an "err"
81323         that should have been "*err").  g++ problem reported by
81324         Sam Steingold.
81325         * lib/regex_internal.h (re_calloc): New macro, consistent with
81326         re_malloc etc.  All callers of calloc changed to use re_calloc.
81327         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81328         not int.  All callers changed.
81329         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81330         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81331         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81332         (find_recover_state): Change "err" to "*err"; this fixes what
81333         appears to be a real bug.
81334         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81335         versus int.
81336
81337 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81338
81339         * modules/regex (Depends-on): Add malloc, since the code
81340         assumes that !malloc(0) means failure.
81341
81342 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81343
81344         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81345
81346         alloca modernization/simplification for regex.
81347         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81348         needs to be at the start of the file, and can be moved into
81349         regex_internal.h and simplified.
81350         * lib/regex_internal.h: Include <alloca.h>.
81351         (__libc_use_alloca) [!defined _LIBC]: New macro.
81352         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81353         now works outside glibc.
81354
81355 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81356
81357         * config/srclist.txt: Add glibc bugs 1241, 1245.
81358
81359 2005-08-25  Jim Meyering  <jim@meyering.net>
81360
81361         * lib/open-safer.c: Include <config.h>.
81362         Otherwise, we'd lose LARGEFILE support in any file using
81363         e.g. "fcntl--.h"
81364
81365 2005-08-25  Bruno Haible  <bruno@clisp.org>
81366
81367         * m4/minmax.m4: Require autoconf 2.52.
81368         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81369         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81370         alternatives of translit over the alphabet.
81371         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81372
81373 2005-08-24  Simon Josefsson  <jas@extundo.com>
81374
81375         * tests/test-getpass.c: New file.
81376
81377 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81378
81379         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81380         for GNU regex features.
81381
81382 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81383
81384         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81385         * lib/regex.h (regerror): Likewise.
81386
81387         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81388         requires this.  (The code never needed it.)
81389
81390         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81391         All uses of recently-renamed identifiers changed to use the new,
81392         POSIX-compliant names.  The code will build and run just fine
81393         without these changes, but it's better to eat our own dog food
81394         and use the standard-conforming names.
81395
81396         * lib/regex.h: Fix a multitude of POSIX name space violations.
81397         These changes have an effect only for programs that define
81398         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
81399         do not change anything for programs compiled in the normal way.
81400         Also, there is no effect on the ABI.
81401
81402         (_REGEX_SOURCE): New macro.
81403         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
81404         defined and _GNU_SOURCE is not; this fixes a name space violation.
81405
81406         Rename the following macros to obey POSIX requirements.
81407         The old names are still visible as macros if _REGEX_SOURCE is defined.
81408         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
81409         RE_BACKSLASH_ESCAPE_IN_LISTS.
81410         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
81411         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
81412         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
81413         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
81414         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
81415         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
81416         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
81417         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
81418         (REG_INTERVALS): renamed from RE_INTERVALS.
81419         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
81420         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
81421         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
81422         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
81423         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
81424         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
81425         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
81426         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
81427         RE_UNMATCHED_RIGHT_PAREN_ORD.
81428         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
81429         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
81430         (REG_DEBUG): renamed from RE_DEBUG.
81431         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
81432         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
81433         unusual, since we can't clash with the POSIX REG_ICASE.
81434         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
81435         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
81436         (REG_NO_SUB): renamed from RE_NO_SUB.
81437         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
81438         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
81439         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
81440         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
81441         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
81442         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
81443         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
81444         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
81445         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
81446         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
81447         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
81448         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
81449         RE_SYNTAX_POSIX_MINIMAL_BASIC.
81450         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
81451         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
81452         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
81453         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
81454         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
81455         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
81456         (REG_FIXED): Renamed from REGS_FIXED.
81457         (REG_NREGS): Renamed from RE_NREGS.
81458
81459         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
81460         of other REG_* macros, since POSIX says the user is allowed to
81461         #undef these macros selectively.
81462
81463         (reg_errcode_t): Update comment stating what other tables need
81464         to be consistent.
81465
81466         Rename the following enum values to obey POSIX requirements.
81467         The old names are still visible as macros.
81468         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
81469         is not defined, since GNU is supposed to be a superset of POSIX as
81470         much as possible, and since we want reg_errcode_t to be a signed
81471         type for implementation consistency.
81472         (_REG_NOERROR): Renamed from REG_NOERROR.
81473         (_REG_NOMATCH): Renamed from REG_NOMATCH.
81474         (_REG_BADPAT): Renamed from REG_BADPAT.
81475         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
81476         (_REG_ECTYPE): Renamed from REG_ECTYPE.
81477         (_REG_EESCAPE): Renamed from REG_EESCAPE.
81478         (_REG_ESUBREG): Renamed from REG_ESUBREG.
81479         (_REG_EBRACK): Renamed from REG_EBRACK.
81480         (_REG_EPAREN): Renamed from REG_EPAREN.
81481         (_REG_EBRACE): Renamed from REG_EBRACE.
81482         (_REG_BADBR): Renamed from REG_BADBR.
81483         (_REG_ERANGE): Renamed from REG_ERANGE.
81484         (_REG_ESPACE): Renamed from REG_ESPACE.
81485         (_REG_BADRPT): Renamed from REG_BADRPT.
81486         (_REG_EEND): Renamed from REG_EEND.
81487         (_REG_ESIZE): Renamed from REG_ESIZE.
81488         (_REG_ERPAREN): Renamed from REG_ERPAREN.
81489         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
81490         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
81491         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
81492         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
81493
81494         (_REG_RE_NAME, _REG_RM_NAME): New macros.
81495         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
81496         changed.  But support the old name if the new one is not defined
81497         and if _REGEX_SOURCE.
81498
81499         Change the following member names in struct re_pattern_buffer.
81500         The old names are still supported if !_REGEX_SOURCE.
81501         The new names are always supported, regardless of _REGEX_SOURCE.
81502         (re_buffer): Renamed from buffer.
81503         (re_allocated): Renamed from allocated.
81504         (re_used): Renamed from used.
81505         (re_syntax): Renamed from syntax.
81506         (re_fastmap): Renamed from fastmap.
81507         (re_translate): Renamed from translate.
81508         (re_can_be_null): Renamed from can_be_null.
81509         (re_regs_allocated): Renamed from regs_allocated.
81510         (re_fastmap_accurate): Renamed from fastmap_accurate.
81511         (re_no_sub): Renamed from no_sub.
81512         (re_not_bol): Renamed from not_bol.
81513         (re_not_eol): Renamed from not_eol.
81514         (re_newline_anchor): Renamed from newline_anchor.
81515
81516         Change the following member names in struct re_registers.
81517         The old names are still supported if !_REGEX_SOURCE.
81518         The new names are always supported, regardless of _REGEX_SOURCE.
81519         (rm_num_regs): Renamed from num_regs.
81520         (rm_start): Renamed from start.
81521         (rm_end): Renamed from end.
81522
81523         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
81524         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
81525         Prepend __ to parameter names.
81526
81527         Undo yesterday's changes.
81528
81529 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81530
81531         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
81532         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81533         lib/regex.c.
81534
81535 2005-08-24  Jim Meyering  <jim@meyering.net>
81536
81537         Sync from coreutils.
81538         * m4/fcntl-safer.m4: New file.
81539
81540         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81541         and object files for this module.
81542
81543 2005-08-24  Jim Meyering  <jim@meyering.net>
81544
81545         Sync from coreutils.
81546         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81547
81548 2005-08-24  Jim Meyering  <jim@meyering.net>
81549
81550         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81551         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81552
81553 2005-08-24  Jim Meyering  <jim@meyering.net>
81554
81555         * modules/fcntl-safer: New module.
81556         * modules/fts (Depends-on): Add fcntl-safer.
81557         * MODULES.html.sh (File descriptor based Input/Output):
81558         Add fcntl-safer.
81559
81560 2005-08-24  Bruno Haible  <bruno@clisp.org>
81561
81562         Support for unit test modules.
81563         * modules/README: Mention tests modules.
81564         * modules/TEMPLATE-TESTS: New file.
81565         * gnulib-tool: New options --extract-tests-module, --with-tests and
81566         --tests-base (unused for the moment).
81567         (testsbase, inctests): New variables.
81568         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81569         (func_verify_module): Exclude TEMPLATE-TESTS.
81570         (func_verify_nontests_module, func_verify_tests_module): New functions.
81571         (func_get_dependencies): Add implicit dependency for tests modules.
81572         (func_get_tests_module): New function.
81573         (func_modules_transitive_closure): When --with-tests was specified,
81574         include the unit tests as well, unless explicitly avoided.
81575         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81576         (func_emit_tests_Makefile_am): New function.
81577         (func_create_testdir): When --with-tests was specified, emit a
81578         tests/ directory.
81579         * MODULES.html.sh (Future developments): Update.
81580
81581 2005-08-24  Bruno Haible  <bruno@clisp.org>
81582
81583         * modules/tls-tests: New file.
81584         * tests/test-tls.c: New file, from GNU gettext.
81585
81586 2005-08-24  Bruno Haible  <bruno@clisp.org>
81587
81588         * modules/lock-tests: New file.
81589         * tests/test-lock.c: New file, from GNU gettext.
81590
81591 2005-08-24  Bruno Haible  <bruno@clisp.org>
81592
81593         * lib/lock.h: Add multiple inclusion guard.
81594         * lib/tls.h: Add multiple inclusion guard.
81595
81596 2005-08-24  Bruno Haible  <bruno@clisp.org>
81597
81598         * gnulib-tool: Add support for the --aux-dir option to
81599         --create-testdir, --create-megatestdir, --test, --megatest.
81600         (func_create_testdir, func_create_megatestdir): Optionally emit a
81601         AC_CONFIG_AUX_DIR directive.
81602         (create-testdir, create-megatestdir, test, megatest): Provide a
81603         default value for $auxdir.
81604
81605 2005-08-24  Bruno Haible  <bruno@clisp.org>
81606
81607         * gnulib-tool (import): Use compound statement instead of subshell
81608         where possible.
81609
81610 2005-08-24  Bruno Haible  <bruno@clisp.org>
81611
81612         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81613
81614 2005-08-24  Bruno Haible  <bruno@clisp.org>
81615
81616         * gnulib-tool (func_version): Update.
81617
81618 2005-08-24  Bruno Haible  <bruno@clisp.org>
81619
81620         * gnulib-tool (func_import, func_create_testdir,
81621         func_create_megatestdir): Quote all autoconf macro arguments.
81622
81623 2005-08-24  Bruno Haible  <bruno@clisp.org>
81624
81625         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81626         option --force, because --force causes the aclocal.m4 of each
81627         subdirectory to be newer than the corresponding config.h.in.
81628
81629 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81630
81631         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81632         All contents moved to gl_REGEX.
81633         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81634         assume that it does.
81635
81636 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81637
81638         * lib/regex.h (REG_NOSYS)
81639         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81640         Define, since POSIX requires it as of 2001.
81641         (_REG_ENOSYS)
81642         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81643         New private symbol, used to keep the enum signed in all cases.
81644         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81645         Youngman in
81646         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81647
81648         * lib/regex_internal.c (re_string_skip_chars, register_state):
81649         (calc_state_hash):
81650         Remove forward decls; no longer needed now that we use prototypes.
81651         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81652         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81653         (clean_state_log_if_needed): Likewise.
81654
81655 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81656
81657         * config/srclist.txt: Add glibc bugs 1231-1233.
81658
81659 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81660
81661         Fix problems reported by Sam Steingold in
81662         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81663         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81664         assumed that reg_errcode_t is a signed type, which is not
81665         necessarily true if _XOPEN_SOURCE is not defined.
81666         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81667         since some compilers warn about it otherwise.
81668
81669 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81670
81671         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81672         (init_word_char, create_initial_state, duplicate_node_closure):
81673         (fetch_token, peek_token_bracket, build_range_exp):
81674         (build_collating_symbol): Remove forward decls; no longer needed
81675         now that we use prototypes.
81676
81677         * lib/regcomp.c:
81678         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81679         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81680         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81681         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81682         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81683         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81684         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81685         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81686         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81687         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81688         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81689         (build_charclass, build_charclass_op, fetch_number, create_tree):
81690         (create_token_tree, mark_opt_subexp, duplicate_tree):
81691         Use prototypes rather than old-style definitions.
81692
81693         * lib/regex_internal.c:
81694         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81695         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81696         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81697         (re_string_reconstruct, re_string_peek_byte_case):
81698         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81699         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81700         (re_node_set_init_copy, re_node_set_add_intersect):
81701         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81702         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81703         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81704         (re_acquire_state, re_acquire_state_context, register_state):
81705         (create_ci_newstate, create_cd_newstate, free_state):
81706         Likewise.
81707         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81708         re_search_2):
81709         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81710         (re_search_internal, prune_impossible_nodes):
81711         (acquire_init_state_context, check_matching, static):
81712         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81713         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81714         (update_regs, sift_states_backward, build_sifted_states):
81715         (clean_state_log_if_needed, merge_state_array):
81716         (update_cur_sifted_state, add_epsilon_src_nodes):
81717         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81718         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81719         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81720         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81721         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81722         (check_arrival, check_arrival_add_next_nodes):
81723         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81724         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81725         (check_node_accept_bytes, check_node_accept, extend_buffers):
81726         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81727         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81728         (sift_ctx_init):
81729         Likewise.
81730
81731         * lib/regex_internal.h:
81732         (re_string_allocate, re_string_construct, re_string_reconstruct):
81733         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81734         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81735         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81736         (re_string_context_at, re_string_peek_byte_case):
81737         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81738         is defined, since we now use prototypes always.
81739
81740         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81741         C89 or better.  All uses removed.
81742
81743 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81744
81745         * config/srclist.txt: Add glibc bugs 1220-1227.
81746
81747 2005-08-20  Jim Meyering  <jim@meyering.net>
81748
81749         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81750         of unused local, dfa.
81751
81752 2005-08-20  Bruno Haible  <bruno@clisp.org>
81753
81754         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81755
81756 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81757
81758         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81759         (re_node_set_insert_last, re_dfa_add_node):
81760         Rename local variables to avoid GCC shadowing warnings.
81761
81762 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81763
81764         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81765         [defined lint]: Suppress bogus uninitialized-variable warnings.
81766
81767         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81768         and let the caller return REG_ESPACE if out of space.  This
81769         removes an uninitialied-variable warning with GCC 4.0.1, and also
81770         avoids taking the address of a local variable.  All callers
81771         changed.
81772
81773 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81774
81775         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81776         $LIBCSRC/posix/regexec.c.
81777         Add glibc bug 1217 for regcomp.c.
81778
81779 2005-08-19  Jim Meyering  <jim@meyering.net>
81780
81781         * lib/regexec.c (proceed_next_node): Redo local variables to
81782         avoid GCC shadowing warnings.
81783
81784 2005-08-18  Bruno Haible  <bruno@clisp.org>
81785
81786         * lib/strstr.c (strstr): Fix return value in multibyte case.
81787         * lib/strcasestr.c (strcasestr): Likewise.
81788
81789 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81790
81791         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81792
81793 2005-08-17  Jim Meyering  <jim@meyering.net>
81794
81795         Make the %s format (seconds since the epoch) work for a negative
81796         number and when used with a zero-padded field width, e.g. %015s.
81797
81798         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81799         label so that it precedes the code to set `digits'.  Otherwise,
81800         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81801         print `00-22'.  Now, it prints `-0022', as it should.
81802
81803 2005-08-17  Bruno Haible  <bruno@clisp.org>
81804
81805         * modules/strstr (Files): Add m4/mbrtowc.m4.
81806         (Depends-on): Add mbuiter.
81807
81808 2005-08-17  Bruno Haible  <bruno@clisp.org>
81809
81810         * modules/strcasestr: New file.
81811         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81812         strcasestr.
81813
81814 2005-08-17  Bruno Haible  <bruno@clisp.org>
81815
81816         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81817
81818 2005-08-17  Bruno Haible  <bruno@clisp.org>
81819
81820         * modules/mbuiter: New file.
81821         * MODULES.html.sh (Extended multibyte and wide character utilities):
81822         Add mbuiter.
81823
81824 2005-08-17  Bruno Haible  <bruno@clisp.org>
81825
81826         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81827         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81828
81829 2005-08-17  Bruno Haible  <bruno@clisp.org>
81830
81831         * m4/strcasestr.m4: New file.
81832
81833 2005-08-17  Bruno Haible  <bruno@clisp.org>
81834
81835         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81836         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81837
81838 2005-08-17  Bruno Haible  <bruno@clisp.org>
81839
81840         * lib/strcasestr.h: New file.
81841         * lib/strcasestr.c: New file.
81842
81843 2005-08-17  Bruno Haible  <bruno@clisp.org>
81844
81845         * lib/strcasecmp.c: Use mbuiter.h.
81846
81847 2005-08-17  Bruno Haible  <bruno@clisp.org>
81848
81849         * lib/mbuiter.h: New file.
81850
81851 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81852
81853         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81854         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81855         and gl_GETOPT are both invoked via different paths (as happens
81856         with GNU tar CVS because it uses both argp and getopt), the former
81857         wins.
81858
81859 2005-08-16  Bruno Haible  <bruno@clisp.org>
81860
81861         * modules/tls: New file.
81862         * MODULES.html.sh (Multithreading): Add tls.
81863
81864 2005-08-16  Bruno Haible  <bruno@clisp.org>
81865
81866         * modules/strnlen1: New file.
81867         * MODULES.html.sh (String handling): Add strnlen1.
81868
81869 2005-08-16  Bruno Haible  <bruno@clisp.org>
81870
81871         * modules/strcase (Files): Add m4/mbrtowc.m4.
81872         (Depends-on): Add strnlen1, mbchar.
81873
81874 2005-08-16  Bruno Haible  <bruno@clisp.org>
81875
81876         * modules/mbiter: New file.
81877         * MODULES.html.sh (Extended multibyte and wide character utilities):
81878         Add mbiter.
81879
81880 2005-08-16  Bruno Haible  <bruno@clisp.org>
81881
81882         * modules/mbfile: New file.
81883         * MODULES.html.sh (Extended multibyte and wide character utilities):
81884         Add mbfile.
81885
81886 2005-08-16  Bruno Haible  <bruno@clisp.org>
81887
81888         * modules/mbchar: New file.
81889         * MODULES.html.sh (Extended multibyte and wide character utilities):
81890         New section.
81891
81892 2005-08-16  Bruno Haible  <bruno@clisp.org>
81893
81894         * m4/tls.m4: New file, from GNU gettext.
81895
81896 2005-08-16  Bruno Haible  <bruno@clisp.org>
81897
81898         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81899         always.
81900         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81901
81902 2005-08-16  Bruno Haible  <bruno@clisp.org>
81903
81904         * m4/mbiter.m4: New file.
81905
81906 2005-08-16  Bruno Haible  <bruno@clisp.org>
81907
81908         * m4/mbfile.m4: New file.
81909
81910 2005-08-16  Bruno Haible  <bruno@clisp.org>
81911
81912         * m4/mbchar.m4: New file.
81913
81914 2005-08-16  Bruno Haible  <bruno@clisp.org>
81915
81916         * lib/tls.h: New file, from GNU gettext.
81917         * lib/tls.c: New file, from GNU gettext.
81918
81919 2005-08-16  Bruno Haible  <bruno@clisp.org>
81920
81921         * lib/strnlen1.h: New file.
81922         * lib/strnlen1.c: New file.
81923
81924 2005-08-16  Bruno Haible  <bruno@clisp.org>
81925
81926         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
81927         (mbi_init): Update.
81928         (mbi_avail, mbi_advance): Let the iteration end before the terminating
81929         NUL byte, not after it.
81930
81931 2005-08-16  Bruno Haible  <bruno@clisp.org>
81932
81933         * lib/strcase.h (strcasecmp): Add note in comments.
81934         * lib/strncasecmp.c: Use code from strcasecmp.c.
81935         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
81936         (strcasecmp): Work correctly in multibyte locales.
81937
81938 2005-08-16  Bruno Haible  <bruno@clisp.org>
81939
81940         * lib/mbiter.h: New file.
81941
81942 2005-08-16  Bruno Haible  <bruno@clisp.org>
81943
81944         * lib/mbfile.h: New file.
81945
81946 2005-08-16  Bruno Haible  <bruno@clisp.org>
81947
81948         * lib/mbchar.h: New file.
81949         * lib/mbchar.c: New file.
81950
81951 2005-08-16  Bruno Haible  <bruno@clisp.org>
81952
81953         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
81954         the valid ones. Makes the comparison operations transitive:
81955         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
81956         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
81957
81958 2005-08-15  Simon Josefsson  <jas@extundo.com>
81959
81960         * modules/ssize_t (License): Change to 'unlimited'.
81961
81962         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
81963
81964 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
81965
81966         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
81967         Add comments for each pending glibc patch.
81968
81969 2005-08-15  Bruno Haible  <bruno@clisp.org>
81970
81971         * lib/regex.h (__restrict_arr): Don't define to __restrict if
81972         __cplusplus is defined.
81973
81974 2005-08-14  Jim Meyering  <jim@meyering.net>
81975
81976         Sync from coreutils.
81977
81978         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
81979         Use the hash-table-based cycle-detection code not just when
81980         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
81981         Reported by James Youngman in
81982         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
81983         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
81984         FTS_TIGHT_CYCLE_CHECK.
81985         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
81986         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
81987         once again.
81988         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
81989         * lib/fts.c (fd_safer): Remove decl.
81990         Include fcntl--.h rather than unistd-safer.h
81991         (fts_safe_changedir): Don't call fd_safer; no longer needed
81992         now that we include fcntl--.h.
81993
81994 2005-08-12  Simon Josefsson  <jas@extundo.com>
81995
81996         * modules/getndelim2: Use ssize_t module.
81997         * modules/getnline: Likewise.
81998         * modules/safe-read: Likewise.
81999         * modules/xreadlink: Likewise.
82000
82001         * modules/ssize_t: New file.
82002
82003 2005-08-12  Simon Josefsson  <jas@extundo.com>
82004
82005         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82006
82007 2005-08-12  Simon Josefsson  <jas@extundo.com>
82008
82009         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82010         ssize_t.
82011
82012 2005-08-12  Simon Josefsson  <jas@extundo.com>
82013
82014         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82015         readline, getdelim and check_version.
82016         (Support for systems lacking ISO C 99: Sizes of integer types):
82017         Add size_max.
82018
82019 2005-08-12  Bruno Haible  <bruno@clisp.org>
82020
82021         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82022
82023 2005-08-11  Simon Josefsson  <jas@extundo.com>
82024
82025         * modules/readline: New file.
82026
82027         * modules/strnlen (Files): Add strnlen.h.
82028
82029 2005-08-11  Simon Josefsson  <jas@extundo.com>
82030
82031         * m4/readline.m4: New file.
82032
82033 2005-08-11  Simon Josefsson  <jas@extundo.com>
82034
82035         * lib/readline.h, readline.c: New file.
82036
82037 2005-08-11  Simon Josefsson  <jas@extundo.com>
82038
82039         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82040         gl_AVOID.
82041
82042 2005-08-11  Bruno Haible  <bruno@clisp.org>
82043
82044         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82045
82046 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82047
82048         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82049
82050 2005-08-10  Simon Josefsson  <jas@extundo.com>
82051
82052         * tests/test-iconvme.c: New file.
82053
82054 2005-08-10  Simon Josefsson  <jas@extundo.com>
82055
82056         * m4/strnlen.m4: New file.
82057
82058         * m4/strndup.m4: Don't check for strnlen declaration, done in
82059         strnlen.m4.
82060
82061 2005-08-10  Simon Josefsson  <jas@extundo.com>
82062
82063         * lib/strndup.c: Use strnlen.h.
82064
82065         * lib/strnlen.h: New file.
82066
82067 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82068
82069         * README: Typos.
82070
82071 2005-08-02  Simon Josefsson  <jas@extundo.com>
82072
82073         * modules/readline: New file.
82074
82075 2005-08-02  Simon Josefsson  <jas@extundo.com>
82076
82077         * modules/getdelim: New file.
82078
82079         * modules/getline: Rewrite, don't use getndelim2.
82080
82081 2005-08-02  Simon Josefsson  <jas@extundo.com>
82082
82083         * m4/getline.m4: Separate out getdelim stuff into separate module.
82084
82085         * m4/getdelim.m4: New file.
82086
82087 2005-08-02  Simon Josefsson  <jas@extundo.com>
82088
82089         * lib/getline.h, getline.c: Rewrite.
82090
82091         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82092
82093 2005-07-31  Bruno Haible  <bruno@clisp.org>
82094
82095         * lib/lock.h (gl_lock_initializer): New macro.
82096         (gl_lock_define_initialized): Use it.
82097         (gl_rwlock_initializer): New macro.
82098         (gl_rwlock_define_initialized): Use it.
82099         (gl_recursive_lock_initializer): New macro.
82100         (gl_recursive_lock_define_initialized): Use it.
82101
82102 2005-07-30  Karl Berry  <karl@gnu.org>
82103
82104         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82105         Report from Ben Pfaff, regarding getopt.
82106
82107 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82108
82109         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82110         normal way.
82111         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82112         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82113         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82114         (gl_GETOPT): Use the new macros.  Most of the implementation
82115         is moved to the new macros.  This is for programs like Emacs
82116         that don't want all the functionality of gl_GETOPT.
82117
82118 2005-07-26  Bruno Haible  <bruno@clisp.org>
82119
82120         * m4/lock.m4: Update from GNU gettext.
82121
82122 2005-07-26  Bruno Haible  <bruno@clisp.org>
82123
82124         * lib/lock.h: Update from GNU gettext.
82125         * lib/lock.c: Update from GNU gettext.
82126
82127 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82128
82129         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82130         obsolescent AC_TRY_RUN.  Include the default includes files, for
82131         'exit'.
82132
82133 2005-07-24  Bruno Haible  <bruno@clisp.org>
82134
82135         * modules/visibility: New file.
82136         * MODULES.html.sh (Misc): Add visibility.
82137
82138 2005-07-24  Bruno Haible  <bruno@clisp.org>
82139
82140         * m4/visibility.m4: New file.
82141
82142 2005-07-24  Bruno Haible  <bruno@clisp.org>
82143
82144         * doc/visibility.texi: New file.
82145
82146 2005-07-22  Bruno Haible  <bruno@clisp.org>
82147
82148         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82149         $(ALLOCA_H), redundant through BUILT_SOURCES.
82150         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82151         redundant through BUILT_SOURCES.
82152         * modules/byteswap (Makefile.am): Remove explicit dependency on
82153         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82154         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82155         $(FNMATCH_H), redundant through BUILT_SOURCES.
82156         * modules/getopt (Makefile.am): Remove explicit dependency on
82157         $(GETOPT_H), redundant through BUILT_SOURCES.
82158         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82159         redundant through BUILT_SOURCES.
82160         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82161         redundant through BUILT_SOURCES.
82162         * modules/stdbool (Makefile.am): Remove explicit dependency on
82163         $(STDBOOL_H), redundant through BUILT_SOURCES.
82164         * modules/stdint (Makefile.am): Remove explicit dependency on
82165         $(STDINT_H), redundant through BUILT_SOURCES.
82166         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82167         Remove explicit dependency on $(SYSEXITS_H).
82168         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82169
82170 2005-07-18  Simon Josefsson  <jas@extundo.com>
82171
82172         * lib/check-version.c (check_version): Accept identical versions too.
82173
82174 2005-07-18  Bruno Haible  <bruno@clisp.org>
82175
82176         * modules/lock: New file.
82177         * MODULES.html.sh (Multithreading): New section.
82178
82179 2005-07-18  Bruno Haible  <bruno@clisp.org>
82180
82181         * m4/lock.m4: New file, from GNU gettext.
82182
82183 2005-07-18  Bruno Haible  <bruno@clisp.org>
82184
82185         * lib/lock.h: New file, from GNU gettext.
82186         * lib/lock.c: New file, from GNU gettext.
82187
82188 2005-07-18  Bruno Haible  <bruno@clisp.org>
82189
82190         * lib/lock.h (gl_once_t): New type.
82191         (gl_once_define, gl_once): New macros.
82192         * lib/lock.c (fresh_once): New variable.
82193         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82194         functions.
82195
82196 2005-07-16  Simon Josefsson  <jas@extundo.com>
82197
82198         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82199         workaround, suggested by Bruno.
82200
82201 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82202
82203         * modules/xalloc (Depends-on): Add xalloc-die.
82204         * modules/xvasprintf (Depends-on): Add xalloc-die.
82205
82206 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82207
82208         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82209         with a minor change.
82210
82211 2005-07-15  Bruno Haible  <bruno@clisp.org>
82212
82213         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82214         When using lib/poll.c, define poll as rpl_poll.
82215
82216 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82217
82218         * modules/argp (Depends-on): Remove unlocked-io.
82219
82220 2005-07-14  Derek Price  <derek@ximbiot.com>
82221
82222         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82223         for glob symlink bug.
82224
82225 2005-07-14  Bruno Haible  <bruno@clisp.org>
82226
82227         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82228         Instead, test for *_unlocked function declarations directly.
82229
82230 2005-07-11  Simon Josefsson  <jas@extundo.com>
82231
82232         * modules/size_max: New file.
82233
82234         * modules/xsize: Depend on size_max module for size_max.m4.
82235
82236 2005-07-11  Simon Josefsson  <jas@extundo.com>
82237
82238         * lib/size_max.h: New file.
82239
82240 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82241
82242         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82243         copyright symbol and the year.
82244         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82245         (version_etc_va): Use parameterized copyright notice.
82246         Reword to conform to the current GNU coding standards.
82247
82248 2005-07-11  Karl Berry  <karl@gnu.org>
82249
82250         * doc/gnulib.texi (Quoting): new node.
82251         (Initial import): more info, from Patrice.
82252
82253 2005-07-11  Bruno Haible  <bruno@clisp.org>
82254
82255         * gnulib-tool (func_usage): Document option --avoid.
82256         (Command line options): Handle --avoid.
82257         (func_acceptable): New function.
82258         (func_modules_transitive_closure): Use it.
82259
82260 2005-07-11  Bruno Haible  <bruno@clisp.org>
82261
82262         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82263         Reported by Jim Meyering.
82264
82265 2005-07-10  Bruno Haible  <bruno@clisp.org>
82266
82267         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82268         Needed when size_t is smaller than 'unsigned int'.
82269         Reported by Paul Eggert.
82270
82271 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82272
82273         * modules/argp (Depends-on): Add unlocked-io
82274
82275 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82276
82277         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82278         block of defines.
82279
82280 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82281
82282         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82283         fix now.
82284
82285 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82286         and Paul Eggert  <eggert@cs.ucla.edu>
82287
82288         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82289         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82290
82291 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82292
82293         * modules/regex (Files): Add lib/regex_internal.c,
82294         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82295         (Depends-on): Add extensions.
82296         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82297
82298 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82301         pathconf.
82302         * m4/same.m4 (gl_SAME): Likewise.
82303         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82304
82305         * m4/regex.m4: Adjust to new libc regex implementation.
82306         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82307         all the .c and .h parts of (the new) regex.
82308         Quote the m4 stuff better.
82309         Check for RE_ICASE bug of old gnulib.
82310         Check for REG_STARTEND of recent libc.
82311         Rename local variables from jm_* to gl_*.
82312         Quote operand of "test -f".
82313         Say "recent enough" version of libc, not "version 2".
82314         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82315         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82316         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82317         Remove check for btowc, isascii.
82318         Require AM_LANGINFO_CODESET.
82319
82320 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82321
82322         * lib/regex.c, regex.h: Sync from libc.
82323         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82324         * lib/regexec.c:
82325         New files, synced from libc, except that regex_internal.h
82326         currently has a small porting fix.
82327
82328 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82329
82330         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82331         regex_internal.c, regexec.c.
82332         Add regex_internal.h too, but as a comment, since the libc version
82333         is currently broken in gnulib mode.
82334
82335 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         Support programs like Emacs that use gnulib but not gettext.
82338         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82339         * modules/gettext-h: New file.
82340         * modules/gettext (Files): Remove lib/gettext.h.
82341         (Depends-on): Add gettext-h.
82342         (Makefile.am): Remove lib_SOURCES.
82343         * modules/argmatch, modules/c-stack, modules/closeout:
82344         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82345         * modules/execute, modules/file-type, modules/getaddrinfo:
82346         * modules/getopt, modules/human, modules/javacomp:
82347         * modules/javaexec, modules/mkdir-p, modules/obstack:
82348         * modules/openat, modules/pagealign_alloc, modules/pipe:
82349         * modules/quotearg, modules/regex, modules/rpmatch:
82350         * modules/unicodeio, modules/userspec, modules/version-etc:
82351         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82352         * modules/xsetenv:
82353         Depend on gettext-h, not gettext.
82354
82355 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82356
82357         * gnulib-tool (func_import): Add support for 'public domain' license.
82358         * modules/alloca, modules/atexit, modules/memmove:
82359         Now public domain, not GPL.
82360         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82361         * modules/realloc, modules/strerror, modules/strtod:
82362         Now LGPL, not GPL.
82363
82364 2005-07-05  Bruno Haible  <bruno@clisp.org>
82365
82366         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82367         autoconf CVS. Needed for mingw.
82368
82369 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82370
82371         Remove the dependency of the strftime module on the tzset module.
82372         * modules/strftime (Depends-on): Remove dependency on tzset.
82373
82374 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82375
82376         Remove the dependency of the strftime module on the tzset module.
82377         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82378         gl_FUNC_TZSET_CLOBBER.
82379
82380 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82381
82382         Remove the dependency of the strftime module on the tzset module.
82383         * lib/strftime.c (my_strftime)
82384         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82385         Copy the input structure, to work around some of the bug with
82386         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82387         Solaris releases, you should also use the tzset module, but we won't
82388         require it as a dependency any more since we don't want LGPLed code
82389         to depend on GPLed code.
82390
82391 2005-07-02  Jim Meyering  <jim@meyering.net>
82392
82393         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
82394         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
82395         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
82396         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
82397
82398 2005-07-02  Jim Meyering  <jim@meyering.net>
82399
82400         * lib/backupfile.c (backup_args): Change a `0' to NULL.
82401
82402 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82403
82404         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
82405         declares only 'struct timespec;' (!).
82406
82407 2005-07-01  Jim Meyering  <jim@meyering.net>
82408
82409         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
82410         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
82411         * lib/save-cwd.c, tempname.c:
82412         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82413         and don't include <sys/file.h>).
82414
82415 2005-06-29  Jim Meyering  <jim@meyering.net>
82416
82417         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
82418         type name.  Use the variable name instead.
82419         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
82420         Likewise.
82421
82422 2005-06-28  Simon Josefsson  <jas@extundo.com>
82423
82424         * modules/check-version (Files): Add check-version.m4.
82425
82426 2005-06-28  Simon Josefsson  <jas@extundo.com>
82427
82428         * m4/check-version.m4: New file, suggested by Jim Meyering
82429         <jim@meyering.net>.
82430
82431 2005-06-28  Simon Josefsson  <jas@extundo.com>
82432
82433         * lib/check-version.h, lib/check-version.c: New files.
82434
82435 2005-06-28  Simon Josefsson  <jas@extundo.com>
82436
82437         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
82438         collision with global variable.  Better indentation.  Don't
82439         increment buffer pointer beyond buffer end.  Based on comments
82440         from Paul Eggert <eggert@cs.ucla.edu>.
82441
82442         * lib/base64.h: Indent.
82443
82444 2005-06-28  Simon Josefsson  <jas@extundo.com>
82445
82446         * doc/gnulib.texi (Library version handling): New section.
82447
82448 2005-06-28  Jim Meyering  <jim@meyering.net>
82449
82450         * check-module (find_included_lib_files): Hard-code another
82451         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
82452         but modules/fts-lgpl (correctly) does not list those files.
82453
82454         * modules/canonicalize (Files): Add lib/pathmax.h.
82455
82456 2005-06-25  Simon Josefsson  <jas@extundo.com>
82457
82458         * modules/check-version: New file.
82459
82460 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
82461
82462         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
82463         initializer of struct addrinfo, as an indication that we don't
82464         care how many members the structure has.
82465
82466 2005-06-24  Derek Price  <derek@ximbiot.com>
82467         and Bruno Haible  <bruno@clisp.org>
82468
82469         Remove stat module & update lstat.
82470         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
82471         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82472         * m4/stat.m4: Remove this file.
82473
82474 2005-06-24  Derek Price  <derek@ximbiot.com>
82475         and Bruno Haible  <bruno@clisp.org>
82476
82477         Remove stat module & update lstat.
82478         * lib/stat.c: Remove this file...
82479         (slash_aware_lstat): ...moving this content and its support...
82480         * lib/lstat.c (rpl_lstat): ...into here.
82481         * lib/lstat.h: New file.
82482
82483 2005-06-24  Derek Price  <derek@ximbiot.com>
82484         and Bruno Haible  <bruno@clisp.org>
82485
82486         Remove stat module & update lstat.
82487         * config/srclist.txt (libc sources): Remove stat.
82488
82489 2005-06-24  Derek Price  <derek@ximbiot.com>
82490         and Bruno Haible  <bruno@clisp.org>
82491
82492         Remove stat module & update lstat.
82493         * MODULES.html.sh (stat): Remove.
82494         * MODULES.html: Regenerated.
82495         * modules/lstat (Description): Correct function name.
82496         (Files): Add "lstat.h".
82497         (Depends-on): Remove stat, add xalloc, stat-macros.
82498         * modules/stat: Remove this file.
82499         (Include): Add "lstat.h", remove <sys/stat.h>.
82500
82501 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
82502
82503         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
82504         (ranged_convert): Don't save conversion in a temporary struct.
82505         This causes a warning with GCC 4.0.0, and anyway in the typical
82506         case it's not worth the extra 100 bytes or so of code.
82507         (ranged_convert, __mktime_internal): When calling a function via a
82508         pointer P, use P () rather than (*P) (), as we now assume C89 or
82509         better.
82510
82511 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82512
82513         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
82514         "who -r" failed to give output.  Problem reported by Tim Waugh.
82515
82516         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
82517         (xcalloc): Use it to avoid needless tests.
82518         Problem reported by Jim Meyering.
82519
82520 2005-06-20  Derek Price  <derek@ximbiot.com>
82521
82522         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
82523         unnecessary for Autoconfs > 2.59c.
82524
82525 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82526
82527         * lib/argp.h (__option_is_short): Check upper limit of
82528         __key. Isprint() requires its argument to have the value
82529         of an unsigned char or EOF.
82530
82531 2005-06-16  Jim Meyering  <jim@meyering.net>
82532
82533         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82534         when either N or S is zero.
82535
82536 2005-06-16  Derek Price  <derek@ximbiot.com>
82537
82538         * m4/bison.m4: Declare YACC & YFLAGS precious.
82539
82540 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82541
82542         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82543         multibyte string or pattern, fall back on unibyte matching.
82544         Problem reported by James Youngman.
82545
82546 2005-06-08  Bruno Haible  <bruno@clisp.org>
82547
82548         * modules/csharpcomp: New file.
82549         * MODULES.html.sh (C#): Add csharpcomp.
82550
82551 2005-06-08  Bruno Haible  <bruno@clisp.org>
82552
82553         * m4/csharpcomp.m4: New file, from GNU gettext.
82554
82555 2005-06-08  Bruno Haible  <bruno@clisp.org>
82556
82557         * lib/csharpcomp.h: New file, from GNU gettext.
82558         * lib/csharpcomp.c: New file, from GNU gettext.
82559         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82560
82561 2005-06-08  Bruno Haible  <bruno@clisp.org>
82562
82563         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82564         warning on mingw.
82565
82566 2005-06-07  Derek Price  <derek@ximbiot.com>
82567
82568         Sync from CVS.
82569         * lib/glob_.h: Indent nested #ifdef.
82570
82571 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82572
82573         Sync from coreutils.
82574         Use "file name" when talking about file names, instead of "filename"
82575         or "path", as per the GNU coding standards.
82576         * lib/mkdir-p.c: Renamed from makepath.c.
82577         (make_dir_parents): Renamed from make_path.  All callers changed.
82578         * lib/mkdir-p.h: Likewise.  All includers changed.
82579         * lib/filenamecat.c: Renamed from path-concat.c.
82580         (file_name_concat): Renamed from path_concat.  All callers changed.
82581         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82582         * lib/filenamecat.h: Likewise.  All includers changed.
82583         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82584         in comments or local variable names.
82585         * lib/basename.c: Likewise.
82586         * lib/canonicalize.c, canonicalize.h: Likewise.
82587         * lib/dirname.c, dirname.h: Likewise.
82588         * lib/euidaccess.c: Likewise.
82589         * lib/exclude.c: Likewise
82590         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82591         * lib/fsusage.c, fsuage.h: Likewise.
82592         * lib/fts.c, fts_.h: Likewise.
82593         * lib/getcwd.c: Likewise.
82594         * lib/getloadavg.c: Likewise.
82595         * lib/mkstemp.c: Likewise.
82596         * lib/mountlist.c, mountlist.h: Likewise.
82597         * lib/openat.c, openat.h: Likewise.
82598         * lib/readlink-stub.c: Likewise.
82599         * lib/readutmp.c, readutmp.h: Likewise.
82600         * lib/rename.c: Likewise.
82601         * lib/rmdir.c: Likewise.
82602         * lib/same.c: Likewise.
82603         * lib/savedir.c: Likewise.
82604         * lib/stripslash.c: Likewise.
82605         * lib/tempname.c: Likewise.
82606         * lib/xreadlink.c: Likewise.
82607         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82608         All uses changed.
82609         * lib/exclude.h: Likewise.
82610
82611         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82612         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82613         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82614         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82615         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82616         files have been getting away with it for years (MORE/BSD 4.3
82617         is extinct now).
82618         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82619         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82620
82621         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82622         Define to 256, not 255, as per modern POSIX.
82623
82624 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82625
82626         Sync from coreutils.
82627         Use "file name" when talking about file names, instead of "filename"
82628         or "path", as per the GNU coding standards.
82629         * MODULES.html.sh: mkdir-p renamed from makepath.
82630         filenamecat renamed from path-concat.
82631         * modules/filenamecat: Renamed from modules/path-concat.
82632         (Files): filenamecat.h and filenamecat.c renamed from
82633         path-concat.h and path-concat.c.
82634         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82635         (Include): filenamecat.h, not path-concat.h.
82636         * modules/mkdir-p: Renamed from modules/makepath.
82637         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82638         makepath.c.
82639         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82640         (Include): mkdir-p.h, not makepath.h.
82641
82642 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82643
82644         Sync from coreutils.
82645         * m4/mkdir-p.m4: Renamed from makepath.m4.
82646         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82647         Rename files from makepath.c to mkdir-p.c, and from
82648         makepath.h to mkdir-p.h.
82649         * m4/filenamecat.m4: Renamed from path-concat.m4.
82650         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82651         Rename files from path-concat.c to filenamecat.c,
82652         and from path-concat.h to filenamecat.h.
82653         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82654         "file name" in local variables or comments.
82655         * m4/rename.m4: Likewise.
82656
82657 2005-06-01  Bruno Haible  <bruno@clisp.org>
82658
82659         * modules/csharpexec: New file.
82660         * MODULES.html.sh (C#): New section.
82661
82662 2005-06-01  Bruno Haible  <bruno@clisp.org>
82663
82664         * m4/csharp.m4: New file, from GNU gettext.
82665         * m4/csharpexec.m4: New file, from GNU gettext.
82666
82667 2005-06-01  Bruno Haible  <bruno@clisp.org>
82668
82669         * lib/csharpexec.h: New file, from GNU gettext.
82670         * lib/csharpexec.c: New file, from GNU gettext.
82671         * lib/csharpexec.sh.in: New file, from GNU gettext.
82672
82673 2005-05-31  Derek Price  <derek@ximbiot.com>
82674             Paul Eggert  <eggert@cs.ucla.edu>
82675
82676         Sync from cvs.
82677         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82678
82679 2005-05-31  Derek Price  <derek@ximbiot.com>
82680             Paul Eggert  <eggert@cs.ucla.edu>
82681
82682         Sync from cvs.
82683         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82684
82685 2005-05-29  Derek Price  <derek@ximbiot.com>
82686
82687         * config/srclist.txt (glob_.h, glob.c): Add these files.
82688
82689 2005-05-29  Derek Price  <derek@ximbiot.com>
82690
82691         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82692         * modules/glob: New file.
82693         * modules/getlogin_r: Add link to POSIX spec in description.
82694
82695 2005-05-29  Derek Price  <derek@ximbiot.com>
82696             Paul Eggert  <eggert@cs.ucla.edu>
82697
82698         * m4/glob.m4: New file.
82699
82700 2005-05-29  Derek Price  <derek@ximbiot.com>
82701             Paul Eggert  <eggert@cs.ucla.edu>
82702
82703         * lib/glob_.h, lib/glob.c: New files.
82704
82705 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82706
82707         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82708         * modules/fts-lgpl (Depends-on): Remove gettext.
82709
82710 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82711
82712         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82713         and don't require gt_INTTYPES_PRI.
82714
82715 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82716
82717         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82718
82719         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82720         the configuration hassle isn't worth it.
82721         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82722         (LONGEST_MODIFIER, PRIuMAX): Remove.
82723
82724 2005-05-27  Bruno Haible  <bruno@clisp.org>
82725
82726         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82727
82728 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82731         _POSIX_PTHREAD_SEMANTICS for Solaris.
82732
82733 2005-05-25  Derek Price  <derek@ximbiot.com>
82734
82735         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82736
82737 2005-05-25  Derek Price  <derek@ximbiot.com>
82738             Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82741         * lib/getlogin_r.c, getlogin_r.h: New files.
82742
82743 2005-05-25  Bruno Haible  <bruno@clisp.org>
82744             Derek Price  <derek@ximbiot.com>
82745
82746         * lib/getlogin_r.h: Simplify API documentation.
82747
82748 2005-05-23  Derek Price  <derek@ximbiot.com>
82749
82750         * modules/minmax (Files): Add m4/minmax.m4.
82751         (configure.ac): Add gl_MINMAX.
82752
82753 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82754
82755         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82756         so that unistd-safer.h (GPL'ed code) need not be included.
82757
82758 2005-05-22  Bruno Haible  <bruno@clisp.org>
82759
82760         * m4/minmax.m4: New file.
82761         Based on a patch by Derek Price <derek@ximbiot.com>.
82762
82763 2005-05-22  Bruno Haible  <bruno@clisp.org>
82764
82765         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82766         (INT64_MIN): Fix definition.
82767         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82768
82769         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82770         NEED_SIGNED_INT_TYPES.
82771
82772         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82773         HAVE_SYSTEM_INTTYPES.
82774
82775 2005-05-22  Bruno Haible  <bruno@clisp.org>
82776
82777         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82778         Also include <sys/param.h> if it defines MIN, MAX.
82779         Based on a patch by Derek Price <derek@ximbiot.com>.
82780
82781 2005-05-21  Jim Meyering  <jim@meyering.net>
82782
82783         * modules/fts (Files): Add m4/inttypes-pri.m4.
82784         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82785
82786 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82787
82788         New fts module.
82789         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82790         (setup_dir, free_dir): New functions.
82791         (enter_dir, leave_dir): Define trivial
82792         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82793         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82794         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82795         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82796         Move to fts-cycle.c.
82797         (fts_open): Use setup_dir.
82798         (fts_close): Use free_dir.
82799         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82800         This adds a label and some gotos, but the alternatives were messier.
82801         Check for memory allocation failure when entering a dir.
82802         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82803         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82804         (FTS): New member fts_cycle, that is a union that contains the
82805         old active_dir_ht and cycle_state.  All uses changed to mention
82806         fts_cycle.ht and fts_cycle.state.
82807         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82808         fts.c, with the following changes:
82809         (setup_dir, free_dir): New functions.
82810         (enter_dir): Now returns bool.  Return true if successful, false
82811         if memory exhausted.  All callers changed.
82812         Do not bother partly cleaning up on
82813         memory allocation failure; that is free_dir's job.
82814         However, free ad if hash_insert fails, to avoid memory leak.
82815         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82816         fts->fts_options to see which union member to use.
82817
82818 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82819
82820         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82821         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82822
82823 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82824
82825         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82826
82827 2005-05-20  Jim Meyering  <jim@meyering.net>
82828
82829         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82830         Now a macro, to pacify GCC.
82831
82832 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82833
82834         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82835         of -1.
82836
82837 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82838
82839         * lib/chown.c (rpl_chown): Return -1 on failure.
82840
82841 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82842
82843         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82844         Don't check for stddef.h.
82845         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82846         don't use its results.
82847         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82848         since we include them unconditionally.  Don't require
82849         AM_STDBOOL_H, since stdbool is a prerequisite.
82850         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82851         since we assume C89 or better.
82852         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82853         as we don't use their results.
82854         Don't check for fchdir, memmove, memset, strrchr, as we use
82855         them unconditionally.
82856         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82857         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82858
82859 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82860
82861         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82862         Include <stddef.h> unconditionally, since we assume C89 now.
82863         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82864         * lib/fts.c: Include fts_.h first, to check interface.
82865         Do not include intprops.h; no longer needed.
82866         Include cycle-check.h and hash.h, since fts_.h no longer does.
82867         Remove unnecessary casts of closedir to void.
82868         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82869         decide whether to decrement nlinks.
82870         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82871         (FTS): Use struct hash_table * instead of Hash_table, so that
82872         we no longer need to include hash.h here.
82873
82874 2005-05-18  Jim Meyering  <jim@meyering.net>
82875
82876         * modules/dirfd (License): Change to LGPL.  Most of the code
82877         is already in the public domain.
82878
82879 2005-05-18  Jim Meyering  <jim@meyering.net>
82880
82881         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82882         Reported by Yoann Vandoorselaere.
82883
82884 2005-05-17  Jim Meyering  <jim@meyering.net>
82885
82886         * m4/fts.m4: New file, from coreutils.
82887
82888 2005-05-17  Jim Meyering  <jim@meyering.net>
82889
82890         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82891
82892 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82893
82894         Sync from coreutils.
82895         * m4/unlinkdir.m4: New file.
82896
82897 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82898
82899         Sync from coreutils.
82900         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82901         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82902         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82903         White space changes only.
82904         * lib/makepath.c (make_path): Port to hosts where leading "//" is
82905         special.
82906         * lib/yesno.c: Include getline.h, not ctype.h.
82907         (yesno): Don't remove leading white space; POSIX doesn't allow it.
82908         Use getline to remove arbitrary restriction on response length.
82909
82910 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * config/srclist-update: Spell out "Street" in FSF postal
82913         mail address; this is the style the FSF seems to prefer.
82914
82915         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
82916         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
82917         this updates FSF postal mail address.
82918
82919         Sync from coreutils.
82920         * modules/unlinkdir: New file.
82921         * modules/yesno (Depends-on): Add getline.
82922         * MODULES.html.sh (File system functions): Add unlinkdir.
82923
82924 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82925
82926         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
82927         lib/strsep.h:
82928         Change the initial comment to refer to GPL, not LGPL.
82929         gnulib-tool will change it to LGPL as needed.
82930
82931         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
82932         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
82933         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
82934         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
82935         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
82936         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
82937         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
82938         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
82939         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
82940         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
82941         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
82942         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
82943         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
82944         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
82945         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
82946         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
82947         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
82948         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
82949         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
82950         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
82951         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
82952         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
82953         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
82954         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
82955         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
82956         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
82957         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
82958         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
82959         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
82960         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
82961         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
82962         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
82963         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
82964         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
82965         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
82966         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
82967         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
82968         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
82969         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
82970         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
82971         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
82972         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
82973         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
82974         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
82975         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
82976         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
82977         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
82978         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
82979         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
82980         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
82981         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82982         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
82983         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
82984         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
82985         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
82986         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
82987         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
82988         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
82989         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
82990         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
82991         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
82992         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
82993         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
82994         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
82995         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
82996         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
82997         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
82998         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
82999         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83000         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83001         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83002         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83003         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83004         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83005         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83006         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83007         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83008         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83009         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83010         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83011         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83012         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83013         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83014         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83015         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83016         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83017         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83018         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83019         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83020         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83021         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83022         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83023         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83024         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83025         lib/yesno.c, lib/yesno.h:
83026         Update FSF postal mail address.
83027
83028 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83031         tests/test-memmem.c, tests/test-stpncpy.c:
83032         Update FSF postal mail address.
83033
83034 2005-05-13  Bruno Haible  <bruno@clisp.org>
83035
83036         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83037         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83038         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83039         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83040         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83041         Add support for 64-bit integers in the MSVC compiler.
83042
83043 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83044
83045         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83046
83047 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83048
83049         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83050
83051 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83052
83053         * doc/getdate.texi (General date syntax): Don't say that date
83054         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83055         Problem reported by Nic Ferrier.
83056
83057 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83058
83059         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83060         specified in ai_socktype. Fix invalid ai_protocol
83061         check. ai_protocol is usually set to 0 or depending on
83062         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83063         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83064         ai_socktype / ai_protocol in the returned addrinfo structure.
83065
83066 2005-05-10  Simon Josefsson  <jas@extundo.com>
83067
83068         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83069         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83070
83071 2005-05-10  Karl Berry  <karl@gnu.org>
83072
83073         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83074         (from http://www.gnu.org/licenses).
83075         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83076         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83077         fdl.texi suffices.
83078
83079 2005-05-10  Karl Berry  <karl@gnu.org>
83080
83081         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83082         (COPYING.DOC): remove.
83083
83084         * config/srclist-update: new FSF address.
83085
83086 2005-05-10  Derek Price  <derek@ximbiot.com>
83087
83088         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83089         possible.
83090
83091 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83092             Bruno Haible  <bruno@clisp.org>
83093
83094         * modules/inet_ntop: New file.
83095         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83096         inet_ntop.
83097
83098 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83099             Bruno Haible  <bruno@clisp.org>
83100
83101         * m4/inet_ntop.m4: New file.
83102
83103 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83104             Bruno Haible  <bruno@clisp.org>
83105
83106         * lib/inet_ntop.h: New file.
83107         * lib/inet_ntop.c: New file, from glibc with modifications.
83108
83109 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83110
83111         * modules/time_r (License): Change to LGPL.
83112         * modules/extensions (License): Change to LGPL.  Actually,
83113         the license is more permissive than that, but currently gnulib-tool
83114         doesn't know how to handle more-permissive licenses.
83115
83116         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83117         Problem reported by Dave Love.
83118
83119 2005-05-08  Jim Meyering  <jim@meyering.net>
83120
83121         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83122         blank.
83123
83124 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83125
83126         * modules/argmatch (Depends-on): Add stdbool.
83127         * modules/backupfile (Depends-on): Likewise.
83128         * modules/chdir-long (Depends-on): Likewise.
83129         * modules/closeout (Depends-on): Likewise.
83130         * modules/cycle-check (Depends-on): Likewise.
83131         * modules/dirname (Depends-on): Likewise.
83132         * modules/fnmatch (Depends-on): Likewise.
83133         * modules/fsusage (Depends-on): Likewise.
83134         * modules/fwriteerror (Depends-on): Likewise.
83135         * modules/getcwd (Depends-on): Likewise.
83136         * modules/getloadavg (Depends-on): Likewise.
83137         * modules/hard-locale (Depends-on): Likewise.
83138         * modules/makepath (Depends-on): Likewise.
83139         * modules/mountlist (Depends-on): Likewise.
83140         * modules/nanosleep (Depends-on): Likewise.
83141         * modules/posixtm (Depends-on): Likewise.
83142         * modules/quotearg (Depends-on): Likewise.
83143         * modules/readtokens (Depends-on): Likewise.
83144         * modules/readtokens0 (Depends-on): Likewise.
83145         * modules/readutmp (Depends-on): Likewise.
83146         * modules/save-cwd (Depends-on): Likewise.
83147         * modules/strftime (Depends-on): Likewise.
83148         * modules/userspec (Depends-on): Likewise.
83149         * modules/utimecmp (Depends-on): Likewise.
83150         * modules/xgetcwd (Depends-on): Likewise.
83151         * modules/xnanosleep (Depends-on): Likewise.
83152         * modules/xstrtod (Depends-on): Likewise.
83153         * modules/yesno (Depends-on): Likewise.
83154
83155 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83156
83157         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83158         needless checks.
83159
83160 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83161
83162         Merge from coreutils.  Among other things,
83163         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83164         * lib/fd-safer.c: New file.
83165         * lib/fcntl-safer.h, open-safer.c: Remove.
83166         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83167         * lib/dup-safer.c: Include unistd-safer.h first.
83168         Don't include errno.h.
83169         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83170         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83171         * lib/file-type.c: Rely on file-type.h change.
83172         * lib/getloadavg.c: Include unistd-safer.h.
83173         (getloadavg): Use safer open.
83174         * lib/getusershell.c: Include "stdio-safer.h".
83175         (getusershell): Use safer fopen.
83176         * lib/long-options.c (long_options): Use NULL rather than 0.
83177         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83178         'free'.
83179         * lib/modechange.c: Likewise.
83180         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83181         (MODE_DONE): New constant.
83182         (struct mode_change): Remove 'next' member.
83183         (make_node_op_equals): New function; like the old one of the
83184         same name, except it allocates an array.
83185         (mode_compile, mode_create_from_ref): Use it.
83186         (mode_compile): Allocate result as an array, not a linked list.
83187         Parse octal string ourself, so that we catch mistakes like "+0".
83188         (mode_adjust): Arg is an array, not a linked list.
83189         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83190         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83191         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83192         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83193         Remove.  This is now stat-macros.h's job.
83194         (talloc): Remove.  All callers replaced by xalloc, so that
83195         our invokers don't have to worry about reporting memory failures.
83196         (make_node_op_equals): Remove.
83197         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83198         New constants.
83199         (struct mode_change): Moved here from modechange.h.
83200         (mode_append_entry): Remove.
83201         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83202         apps to have incorrect behavior.  Use simpler algorithm for head
83203         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83204         Detect more invalid usages rather than having somewhat-random behavior.
83205         Don't insert an "a=" action, as that leads to incorrect behavior.
83206         (mode_compile, mode_create_from_ref): Return NULL on error instead
83207         of an enum, since now there's only one way to have an error.  All
83208         callers changed.
83209         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83210         at the correct time.  Simplify calculation of "+u" and its ilk.
83211         Don't mishandle "+X".
83212         (mode_free): Remove "register" and localize decls.
83213         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83214         (struct mode_change): Move to modechange.c; callers don't
83215         need to see this stuff.
83216         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83217         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83218         (mode_change, mode_adjust): Reflect the new signatures noted above.
83219         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83220         that might redefine system include files.
83221         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83222         (my_usleep): Use NULL rather than (void *) 0.
83223         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83224         Use siginterrupt to specify that system calls should be interrupted.
83225         (rpl_nanosleep): Move initialization of suspended closer to call of
83226         my_usleep.
83227         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83228         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83229         (desirable_utmp_entry): New function.
83230         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83231         using x2nrealloc, to simplify logic.
83232         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83233         size calculation.  Do not assume utmp file is a regular file.
83234         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83235         (READ_UTMP_CHECK_PIDS): New constant.
83236         * lib/save-cwd.c: Include unistd-safer.h.
83237         (save_cwd): Use fd_safer.
83238         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83239         [!_LIBC] Include "stat-macros.h" instead.
83240         * lib/unistd-safer.h (fd_safer): New decl.
83241
83242 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         * modules/getloadavg (Depends-on): Add unistd-safer.
83245         * modules/getusershell (Depends-on): Add stdio-safer.
83246         * modules/lstat (Depends-on): Remove xalloc.
83247         * modules/mkstemp (Depends-on): Add stat-macros.
83248         * modules/modechange (Depends-on): Remove xstrtol.
83249         Add stat-macros, xalloc.
83250         * modules/save-cwd (Depends-on): Add unistd-safer.
83251         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83252         * modules/unistd-safer (Files): Add lib/fd-safer.c
83253         (Makefile.am): Remove lib_SOURCES.
83254
83255         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83256         Remove fcntl-safer; unistd-safer supersedes it.
83257
83258 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83259
83260         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83261         AC_HEADER_STAT.
83262         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83263         (gl_PREREQ_CHOWN): Remove.
83264         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83265         it.  Don't require AC_HEADER_STAT.
83266         (gl_PREREQ_LSTAT): Remove.
83267         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83268         Don't require AC_HEADER_STAT.
83269         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83270         (gl_PREREQ_RMDIR): Remove.
83271         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83272         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83273         the stat-macros module a prerequisite.
83274         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83275         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83276         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83277         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83278         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83279         variable names.
83280         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83281         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83282         variable prefixes.
83283         * m4/fcntl-safer.m4: Remove.
83284         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83285         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83286         Invoke gl_PREREQ_FD_SAFER.
83287         (gl_PREREQ_FD_SAFER): New macro.
83288         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83289         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83290         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83291         Remove duplicate call to AC_LIBOBJ(readutmp).
83292         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83293
83294         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83295         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83296
83297 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83298
83299         * MODULES.html.sh (Misc): Add byteswap.
83300
83301 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83302
83303         * modules/getcwd (Depends-on): Add extensions.
83304         * modules/openat (Depends-on): Likewise.
83305
83306 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83307
83308         * modules/byteswap: New file.
83309
83310 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83311
83312         * m4/byteswap.m4: New file.
83313
83314 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83315
83316         * lib/byteswap_.h: New file.
83317
83318 2005-04-25  Karl Berry  <karl@gnu.org>
83319
83320         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83321
83322 2005-04-25  Albert Chin  <china@thewrittenword.com>
83323
83324         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83325         Toolkit C bug.
83326
83327 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83328
83329         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83330         (func_ln_if_changed): Remove forcibly for no error message
83331         in case file does not exist.
83332
83333 2005-04-19  Simon Josefsson  <jas@extundo.com>
83334
83335         * gnulib-tool (Options): Make --symlink mean --symbolic.
83336
83337 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83338
83339         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83340
83341 2005-04-16  Simon Josefsson  <jas@extundo.com>
83342
83343         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83344
83345 2005-04-15  Simon Josefsson  <jas@extundo.com>
83346
83347         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83348
83349 2005-04-15  Simon Josefsson  <jas@extundo.com>
83350
83351         * gnulib-tool: Rename --symlink to --symbolic.
83352
83353 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83354
83355         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83356         symbolic links to files instead of copying/moving.  Add --aux-dir,
83357         specifying directory relative --dir where auxiliary build tools
83358         are placed.
83359
83360 2005-04-14  Bruno Haible  <bruno@clisp.org>
83361
83362         * modules/allocsa (License): Change to LGPL.
83363         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83364
83365 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83366
83367         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83368         that "UTC +1 second" continues to work.  Problem reported
83369         by Dmitry V. Levin.
83370         (relunit_snumber): New rule.
83371         (relunit): Use it.
83372
83373 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83374
83375         * lib/getdate.y (universal_time_zone_table): New constant.
83376         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83377         universal_time_zone_table.
83378         (lookup_zone): Prefer universal_time_zone_table to
83379         local_time_zone_table, so that "GMT" time stamps are allowed in
83380         London during the summer.  Problem reported by Ian Abbott.
83381
83382 2005-04-12  Jim Meyering  <jim@meyering.net>
83383
83384         * lib/human.c (humblock): Set *options even when returning due to
83385         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83386         warning from gcc-4.
83387
83388 2005-04-09  Jim Meyering  <jim@meyering.net>
83389
83390         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83391         -Wuninitialized: initialize tm0.tm_year.
83392
83393 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
83394
83395         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
83396         count, since there's no maximum.  All uses changed.
83397         Add member dsts_seen.
83398         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
83399         not being INT_MAX.
83400         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
83401         Use pc_rels_seen to decide whther a date is absolute.
83402
83403         * lib/getdate.y (number): Don't overwrite year.
83404         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
83405         check.
83406
83407 2005-04-02  Simon Josefsson  <jas@extundo.com>
83408
83409         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
83410         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
83411
83412 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
83413
83414         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
83415         where no absolute path name can be longer than PATH_MAX.
83416
83417 2005-03-27  Jim Meyering  <jim@meyering.net>
83418
83419         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
83420
83421 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
83422
83423         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
83424         "one's complement" -> "ones' complement" in comment, as per Knuth.
83425         "value of type" -> "type or expression" in comment.
83426         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
83427
83428 2005-03-26  Jim Meyering  <jim@meyering.net>
83429
83430         Comment nits.
83431         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
83432         Correct typos: s/or/of/.
83433
83434 2005-03-26  Jim Meyering  <jim@meyering.net>
83435
83436         * modules/check-include-files: Move to ../ and rename to...
83437         * check-module: ...this.
83438
83439 2005-03-25  Jim Meyering  <jim@meyering.net>
83440
83441         * modules/xvasprintf (Files): Add xalloc.h.
83442
83443 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
83444
83445         * modules/gettext (Files): config/config.rpath ->
83446         build-aux/config.rpath
83447         * modules/iconv (Files): Likewise.
83448         Problem reported by Oskar Liljeblad.
83449
83450 2005-03-23  Jim Meyering  <jim@meyering.net>
83451
83452         * modules/check-include-files: New script to check for
83453         missing dependencies, multiple includes, etc.
83454
83455         * modules/c-strtold (Depends-on): Add xalloc.
83456         * modules/c-strtod (Depends-on): Add xalloc.
83457         * modules/hash (Depends-on): Add xalloc.
83458         (Files): Remove lib/xalloc.h.
83459
83460         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
83461         * modules/userspec (Files): Add lib/inttostr.h.
83462
83463 2005-03-23  Jim Meyering  <jim@meyering.net>
83464
83465         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
83466
83467 2005-03-22  Jim Meyering  <jim@meyering.net>
83468
83469         * modules/stat-macros: New module.
83470         * modules/canonicalize, modules/euidaccess, modules/file-type,
83471         * modules/filemode, modules/lchown, modules/makepath,
83472         * modules/rmdir, modules/stat: Depend on new stat-macros module
83473         rather than listing lib/stat-macros.h manually.
83474         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
83475
83476 2005-03-22  Jim Meyering  <jim@meyering.net>
83477
83478         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
83479
83480 2005-03-22  Bruno Haible  <bruno@clisp.org>
83481
83482         * config/srclist.txt: Replace target directory 'config' with
83483         'build-aux'.
83484         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
83485         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
83486         ../build-aux/.
83487
83488 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
83489
83490         * modules/chdir-long (Depends-on): Add mempcpy.
83491
83492         * modules/acl, modules/backupfile, modules/c-strtod,
83493         modules/c-strtold, modules/canon-host, modules/canonicalize,
83494         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
83495         modules/exclude, modules/exitfail, modules/file-type,
83496         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
83497         modules/getdate, modules/getline, modules/getpagesize,
83498         modules/getpass, modules/getugroups, modules/group-member,
83499         modules/hard-locale, modules/hash, modules/human, modules/idcache,
83500         modules/inttostr, modules/long-options, modules/makepath,
83501         modules/md5, modules/memcasecmp, modules/memcoll,
83502         modules/modechange, modules/mountlist, modules/path-concat,
83503         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
83504         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
83505         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
83506         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
83507         modules/strftime, modules/strndup, modules/strverscmp,
83508         modules/timespec, modules/unlocked-io, modules/userspec,
83509         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
83510         modules/yesno:
83511         Remove lib_SOURCES line from Makefile.am section, as this is now
83512         done automatically by the corresponding Autoconf macro.
83513
83514 2005-03-21  Jim Meyering  <jim@meyering.net>
83515
83516         Changes imported from coreutils.
83517
83518         * lib/cycle-check.c: Don't include xalloc.h.
83519
83520         * lib/path-concat.c: Don't include assert.h.
83521         (path_concat): Remove assertion that would have triggered
83522         for ABASE starting with more than one slash.
83523         Reported by Andreas Schwab.
83524
83525         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
83526         properly when ABASE is an absolute file name.
83527         Correct the description of this function.
83528         Include <assert.h>.
83529         Add an assertion and a test driver.
83530         This fixes a bug introduced on 2004-07-02.
83531         Andreas Schwab reported the resulting failure of cp --parents:
83532         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83533
83534 2005-03-21  Jim Meyering  <jim@meyering.net>
83535
83536         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83537         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83538
83539 2005-03-21  Jim Meyering  <jim@meyering.net>
83540         and  Paul Eggert  <eggert@cs.ucla.edu>
83541
83542         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83543         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83544         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83545         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83546         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83547         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83548         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83549         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83550         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83551         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83552         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83553         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83554         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83555         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83556         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83557         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83558         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83559         for these modules.
83560
83561 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83562
83563         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83564         (which shouldn't happen), generate nothing instead of returning 0
83565         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83566
83567 2005-03-16  Bruno Haible  <bruno@clisp.org>
83568
83569         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83570         HAVE_LONGLONG_64BIT.
83571
83572 2005-03-16  Bruno Haible  <bruno@clisp.org>
83573
83574         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83575         HAVE_LONGLONG_64BIT.
83576
83577 2005-03-16  Bruno Haible  <bruno@clisp.org>
83578
83579         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83580         HAVE_LONGLONG_64BIT.
83581
83582 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83583
83584         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83585         reliably distinguish strftime failure from empty output on POSIX
83586         hosts.
83587
83588 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83589
83590         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83591         (iconv_string): Don't guess a size-zero buffer, as that might cause
83592         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83593         result would be 'too large', where 'too large' is (heuristically)
83594         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83595         overflow concerns.  This will prevent some unwanted malloc failures
83596         when the inputs are very large.
83597
83598 2005-03-15  Karl Berry  <karl@gnu.org>
83599
83600         * config/srclist.txt (config.rpath): from gettext.
83601         * config/config.rpath: update.
83602
83603 2005-03-15  Bruno Haible  <bruno@clisp.org>
83604
83605         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83606         to 'negate'.
83607
83608         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83609         variable.
83610
83611         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83612         results.
83613
83614 2005-03-14  Simon Josefsson  <jas@extundo.com>
83615
83616         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83617         <fx@gnu.org>.
83618
83619 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83622         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83623         intprops.h.
83624         * lib/strtol.c: Likewise.
83625
83626 2005-03-14  Jim Meyering  <jim@meyering.net>
83627
83628         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83629         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83630         to be nonzero so that we (and caller) can detect the difference
83631         between a valid zero-length expansion and an error return, even
83632         when the underlying strftime fails before writing anything into
83633         that location.
83634
83635 2005-03-14  Bruno Haible  <bruno@clisp.org>
83636
83637         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83638         Update from GNU gettext 0.14.3.
83639
83640 2005-03-10  Jim Meyering  <jim@meyering.net>
83641
83642         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83643
83644 2005-03-10  Jim Meyering  <jim@meyering.net>
83645
83646         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83647         so that this module works on systems without fchdir.
83648
83649 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83650
83651         Factor int-properties macros into a single file, except for
83652         glibc-related files.
83653         * lib/intprops.h: New file.
83654         * lib/getloadavg.c: Include it instead of limits.h.
83655         (INT_STRLEN_BOUND): Remove.
83656         * lib/human.c: Include intprops.h.
83657         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83658         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83659         302/1000.
83660         * lib/inttostr.h: Include intprops.h instead of limits.h.
83661         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83662         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83663         for consistency with intprops.h.
83664         (time_t_is_integer, twos_complement_arithmetic): Use them.
83665         * lib/sig2str.h: Include <signal.h>, intprops.h.
83666         (INT_STRLEN_BOUND): Remove.
83667         * lib/strftime.c (TYPE_SIGNED): Remove.
83668         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83669         * lib/strtol.c: Adjust comments to match intprops.h.
83670         * lib/userspec.c: Include intprops.h.
83671         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83672         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83673         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83674         instead of rolling our own expressions.
83675         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83676
83677         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83678         instead of int.
83679         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83680         the right thing even if adding 1900 would overflow.  Similarly
83681         for tm_mon + 1 and tm_yday + 1.
83682         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83683         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83684         (DO_SIGNED_NUMBER): New macro.
83685         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83686
83687 2005-03-07  Bruno Haible  <bruno@clisp.org>
83688
83689         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83690
83691 2005-03-07  Bruno Haible  <bruno@clisp.org>
83692
83693         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83694
83695 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83696
83697         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83698         (func_import): Only replace files via --import when they have actually
83699         changed.
83700
83701 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83702
83703         * m4/mmap-anon.m4: New file.
83704         * m4/pagealign_alloc.m4: New file.
83705
83706 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83707             Bruno Haible  <bruno@clisp.org>
83708
83709         * modules/pagealign_alloc: New file.
83710         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83711
83712 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83713             Bruno Haible  <bruno@clisp.org>
83714
83715         * lib/pagealign_alloc.h: New file.
83716         * lib/pagealign_alloc.c: New file.
83717
83718 2005-03-03  Bruno Haible  <bruno@clisp.org>
83719
83720         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83721         Use an all-permissive copyright notice, recommended by RMS.
83722
83723 2005-03-02  Bruno Haible  <bruno@clisp.org>
83724
83725         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83726         of AIX, the replacement has to be done only after <string.h> is
83727         included, therefore not in config.h. stpncpy.h does the replacement,
83728         and stpncpy.c uses it.
83729
83730 2005-03-02  Bruno Haible  <bruno@clisp.org>
83731
83732         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83733         stpncpy.c uses it.
83734
83735 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83736
83737         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83738         The workaround isn't strictly needed for POSIX conformance, and
83739         it's too much of a pain to configure and maintain.  We'll ask
83740         people to fix their kernels instead.
83741         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83742         (NANOSLEEP_BUG_WORKAROUND): Remove.
83743         (xnanosleep): Remove the workaround.
83744
83745 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83746
83747         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83748         Reported by Derek Price.
83749         (Include): Add "timespec.h".
83750
83751         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83752
83753 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83754
83755         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83756         to detect nanosleep bug.
83757
83758 2005-03-01  Bruno Haible  <bruno@clisp.org>
83759
83760         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83761
83762 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83763
83764         * modules/gethrxtime: New file.
83765         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83766         (Depends-on): Add gethrxtime.
83767         (configure.ac): Add gl_XNANOSLEEP.
83768         (Makefile.am): Remove lib_SOURCES line.
83769
83770 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83771
83772         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83773         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83774
83775 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83776
83777         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83778         * lib/timespec.h (gettime): Return void, since it always
83779         succeeds now.  All uses changed.
83780         * lib/gettime.c (gettime): Likewise.
83781         [HAVE_NANOTIME]: Prefer nanotime.
83782         Assume gettimeofday succeeds, as POSIX requires.
83783         Assime time () succeeds, since other code already does.
83784         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83785         (timespec_subtract): Remove.
83786         (NANOSLEEP_BUG_WORKAROUND): New constant.
83787         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83788         things considerably.  Use it only on GNU/Linux hosts, since the
83789         workaround shouldn't be needed elsewhere.
83790
83791 2005-02-24  Bruno Haible  <bruno@clisp.org>
83792
83793         * modules/gettext (Files): Add m4/glibc2.m4.
83794
83795 2005-02-24  Bruno Haible  <bruno@clisp.org>
83796
83797         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83798         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83799         * m4/progtest.m4:
83800         Update from GNU gettext 0.14.2.
83801         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83802
83803 2005-02-24  Bruno Haible  <bruno@clisp.org>
83804
83805         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83806         * lib/config.charset: Update from GNU gettext 0.14.2.
83807
83808 2005-02-24  Bruno Haible  <bruno@clisp.org>
83809
83810         * lib/gettext.h: Update from GNU gettext 0.14.2.
83811
83812 2005-02-23  Simon Josefsson  <jas@extundo.com>
83813
83814         * m4/iconvme.m4: New file.
83815
83816 2005-02-23  Jim Meyering  <jim@meyering.net>
83817
83818         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83819         change.
83820         Thanks to Bruno Haible for catching it.
83821
83822 2005-02-22  Simon Josefsson  <jas@extundo.com>
83823
83824         * modules/iconvme: New file.
83825
83826         * MODULES.html.sh: Add iconvme.
83827
83828 2005-02-22  Simon Josefsson  <jas@extundo.com>
83829
83830         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83831
83832 2005-02-22  Simon Josefsson  <jas@extundo.com>
83833
83834         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83835
83836 2005-02-22  Jim Meyering  <jim@meyering.net>
83837
83838         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83839         s/ifndef/ifdef/.
83840
83841 2005-02-20  Neil Conway  <neilc@samurai.com>
83842
83843         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83844         returned by OSX/Darwin if the specified buffer is not large
83845         enough for the hostname.
83846
83847 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83848
83849         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83850         pass it to _help, otherwise the latter coredumps trying to
83851         dereference state.root_argp.
83852
83853 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83854
83855         * modules/chdir-long (Depends-on): Add memrchr.
83856         * modules/memrchr (Files): Add lib/memrchr.h.
83857         (Include): "memrchr.h".
83858
83859 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83860
83861         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83862
83863 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83864
83865         * lib/memrchr.h: New file.
83866         * lib/chdir-long.c: Include it.
83867         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83868         Don't bother including stddef.h.
83869
83870 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83871
83872         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83873         inclusion.
83874         Include <sys/types.h>, for dev_t.
83875         (ME_DUMMY, ME_REMOTE): Move from here....
83876         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83877         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83878         Dmitry V. Levin.
83879         Include mountlist.h first, to test the interface.
83880
83881 2005-01-29  Bruno Haible  <bruno@clisp.org>
83882
83883         * lib/progname.c (program_name): Initialize.
83884         Needed when linking statically on MacOS X.
83885
83886 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83887
83888         Sync from coreutils.
83889         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83890         (Depends-on): Add c-strtod.
83891         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83892
83893 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83894
83895         Sync from coreutils.
83896         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83897
83898         Remove files that are specific to coreutils.
83899         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83900
83901 2005-01-28  Bruno Haible  <bruno@clisp.org>
83902
83903         * modules/javacomp: New file.
83904         * MODULES.html.sh (Java): Add javacomp.
83905
83906 2005-01-28  Bruno Haible  <bruno@clisp.org>
83907
83908         * m4/javacomp.m4: New file, from GNU gettext.
83909
83910 2005-01-28  Bruno Haible  <bruno@clisp.org>
83911
83912         * lib/javacomp.sh.in: New file, from GNU gettext.
83913         * lib/javacomp.h: New file, from GNU gettext.
83914         * lib/javacomp.c: New file, from GNU gettext.
83915
83916 2005-01-26  Simon Josefsson  <jas@extundo.com>
83917
83918         * lib/gai_strerror.c: Use GPL in header.
83919
83920 2005-01-26  Bruno Haible  <bruno@clisp.org>
83921
83922         * modules/javaexec: New file.
83923         * MODULES.html.sh (Java): Add javaexec.
83924
83925 2005-01-26  Bruno Haible  <bruno@clisp.org>
83926
83927         * m4/javaexec.m4: New file, from GNU gettext.
83928
83929 2005-01-26  Bruno Haible  <bruno@clisp.org>
83930
83931         * lib/javaexec.sh.in: New file, from GNU gettext.
83932         * lib/javaexec.h: New file, from GNU gettext.
83933         * lib/javaexec.c: New file, from GNU gettext.
83934
83935 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83936
83937         * modules/lchown (Depends-on): Remove lchown.h
83938
83939 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83940
83941         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
83942         must be defined if the header file was not found, in order
83943         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
83944
83945 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83946
83947         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
83948         initializers for struct pentry_state.
83949         (__argp_error): Check return value of __asprintf
83950         (__argp_failure): Translate error message
83951
83952         * lib/argp-parse.c: Removed braces around the expansion of N_()
83953
83954 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83955
83956         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
83957         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
83958         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
83959         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
83960         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
83961         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
83962         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
83963         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
83964         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
83965         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
83966         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
83967         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
83968         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
83969         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
83970         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
83971         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
83972         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
83973         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
83974         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
83975         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
83976         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
83977         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
83978         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
83979         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
83980         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
83981         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
83982         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
83983         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
83984         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
83985         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
83986         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
83987         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
83988         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
83989         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
83990         xstrtol.m4, xstrtoumax.m4, yesno.m4:
83991         Use an all-permissive copyright notice, recommended by RMS.
83992
83993 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
83994
83995         * modules/chdir-long (Depends-on): Remove mempcpy.
83996
83997 2005-01-21  Jim Meyering  <jim@meyering.net>
83998
83999         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84000         same value as for Solaris 9.
84001
84002         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84003         component length.  This included changing the parameter to be
84004         of type `char *' rather than `char const *'.
84005         * lib/chdir-long.h (chdir_long): Update prototype.
84006
84007         * lib/openat.c (fdopendir, fstatat): New functions.
84008         * lib/openat.h: Include headers required for use of DIR and struct
84009         stat.
84010         [AT_SYMLINK_NOFOLLOW]: Define.
84011         (fdopendir, fstatat): Add prototypes.
84012
84013 2005-01-21  Bruno Haible  <bruno@clisp.org>
84014
84015         * modules/classpath: New file.
84016         * MODULES.html.sh (Java): Add classpath.
84017
84018 2005-01-21  Bruno Haible  <bruno@clisp.org>
84019
84020         * lib/classpath.h: New file, from GNU gettext.
84021         * lib/classpath.c: New file, from GNU gettext.
84022
84023 2005-01-20  Simon Josefsson  <jas@extundo.com>
84024
84025         * modules/version-etc-fsf: New file.
84026
84027 2005-01-20  Simon Josefsson  <jas@extundo.com>
84028
84029         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84030         * lib/version-etc.c: Remove version_etc_copyright.
84031         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84032         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84033
84034 2005-01-20  Simon Josefsson  <jas@extundo.com>
84035
84036         * lib/base64.h (isbase64): Add.
84037
84038         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84039         using a unsigned prototype, don't inline.
84040         (base64_decode): Use it.
84041
84042 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84043
84044         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84045         it.
84046
84047 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84048
84049         * lib/save-cwd.c (save_cwd): Remove code to support the case
84050         where fchdir is missing or flaky.
84051
84052 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84053
84054         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84055
84056 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84057
84058         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84059         AC_LIBSOURCES now does this.
84060         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84061         with new ullong_max module.
84062
84063 2005-01-19  Bruno Haible  <bruno@clisp.org>
84064
84065         * modules/sh-quote: New file.
84066         * MODULES.html.sh (Executing programs): Add sh-quote.
84067
84068 2005-01-19  Bruno Haible  <bruno@clisp.org>
84069
84070         * lib/sh-quote.h: New file, from GNU gettext.
84071         * lib/sh-quote.c: New file, from GNU gettext.
84072
84073 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84074
84075         Merge from coreutils.
84076         * m4/ullong_max.m4: New file.
84077         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84078         (gl_MACROS): Assume localeconv exists.
84079
84080 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84081
84082         Merge changes from coreutils, as described below in several
84083         changelogs dated today.
84084
84085         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84086         (O_DIRECTORY): Remove; not needed here, since "." must be
84087         a directory.  All uses removed.
84088         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84089         universal on Suns, and we also need to test for IRIX.
84090         Revamp code to use 'if' rather than '#if'.
84091         Avoid unnecessary comparison of cwd->desc to 0.
84092
84093         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84094         for known valid error numbers rather than observed invalid ones.
84095
84096 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84097
84098         * modules/ullong_max: New file.
84099
84100         * modules/chdir-long, modules/openat: New files.
84101         * modules/save-cwd (Depends-on): Depend on chdir-long.
84102         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84103
84104 2005-01-18  Jim Meyering  <jim@meyering.net>
84105
84106         Merge from coreutils.
84107         * m4/chdir-long.m4, m4/openat.m4: New files.
84108         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84109         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84110         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84111         is sane and DOES follow symlinks.  Besides, testing 20 different
84112         systems found no broken chown implementations.
84113         Prompted by a change in rsync's copy of this macro.
84114         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84115
84116         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84117
84118         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84119         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84120         NULL-means-set-to-current-time semantics.
84121         Remove temporary file immediately, rather than waiting
84122         for configure's at-exit trap code to do it.
84123
84124 2005-01-18  Jim Meyering  <jim@meyering.net>
84125
84126         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84127
84128         * lib/utimens.c (futimens): Account for the fact that futimes
84129         can also fail with errno == ENOSYS or errno == ENOENT.
84130         Patch from Dmitry V. Levin.
84131
84132         Change the name of the robust chdir function from chdir to chdir_long.
84133         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84134         (restore_cwd): Use chdir_long, not chdir.
84135         * lib/chdir-long.c: Renamed from chdir.c.
84136         * lib/chdir-long.h: Renamed from chdir.h.
84137         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84138         Hurd.
84139
84140 2005-01-18  Bruno Haible  <bruno@clisp.org>
84141
84142         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84143         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84144         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84145         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84146         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84147         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84148         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84149         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84150         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84151         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84152         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84153         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84154         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84155         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84156         Use an all-permissive copyright notice, recommended by RMS.
84157
84158 2005-01-18  Bob Proulx  <bob@proulx.com>
84159
84160         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84161         simplify offsetof() macro construct to avoid compile failure with
84162         native HP-UX 11.0 ANSI C compiler.
84163
84164 2005-01-17  Bruno Haible  <bruno@clisp.org>
84165
84166         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84167         redundant because stpncpy.m4 takes care of it.
84168
84169 2005-01-17  Bruno Haible  <bruno@clisp.org>
84170
84171         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84172
84173 2005-01-17  Bruno Haible  <bruno@clisp.org>
84174
84175         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84176         used.
84177
84178 2005-01-17  Bruno Haible  <bruno@clisp.org>
84179
84180         * lib/fwriteerror.h (fwriteerror): Change specification to include
84181         fclose.
84182         * lib/fwriteerror.c: Include <stdbool.h>.
84183         (fwriteerror): At the end, close the file stream. Record whether
84184         stdout was already closed.
84185
84186 2005-01-17  Bruno Haible  <bruno@clisp.org>
84187
84188         * lib/execute.c (environ): Declare if needed.
84189         * lib/pipe.c (environ): Likewise.
84190         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84191
84192 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84193
84194         * modules/argp: Depend on vsnprintf
84195
84196 2005-01-10  Jim Meyering  <jim@meyering.net>
84197
84198         * modules/closeout (Depends-on): Add atexit.
84199
84200 2005-01-06  Bruno Haible  <bruno@clisp.org>
84201
84202         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84203
84204 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84205
84206         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84207         definitions to be after all include files, to avoid collisions.
84208         Problem reported by Bob Proulx.
84209
84210 2005-01-04  Jim Meyering  <jim@meyering.net>
84211
84212         Changes imported from coreutils.
84213         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84214         as the mkstemp template, use a temporary directory and an
84215         8.3-friendly template to avoid trouble on systems like DJGPP.
84216         Reported by Juan M. Guerrero via Stepan Kasal.
84217         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84218         close. Remove the temporary directory right away, rather than waiting
84219         for configure's at-exit trap code to do it.
84220         Suggestion from Stepan Kasal.
84221
84222 2005-01-01  Simon Josefsson  <jas@extundo.com>
84223
84224         * gnulib-tool: Print #include directives when --import'ing.
84225
84226 2004-12-28  Simon Josefsson  <jas@extundo.com>
84227
84228         * tests/test-base64.c: Include required header files.  Remove
84229         unused variables.
84230
84231 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84232
84233         * modules/error (Depends-on): Remove gettext.
84234
84235 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84236
84237         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84238         not needed.  This removes a dependency on the gettext module.
84239         [defined _LIBC]: Do not include <libintl.h>; not needed.
84240
84241 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84242
84243         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84244         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84245
84246 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84247
84248         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84249         HAVE_DECL_STRTOLD.
84250
84251 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84252
84253         * modules/getdate (Depends-on): Remove alloca-opt.
84254
84255 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84256
84257         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84258
84259 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84260
84261         * lib/argp-parse.c: Include <stddef.h>.
84262         (alignof, alignto): New macros.
84263         (parser_init): Don't assume that void * is aligned sufficiently
84264         for struct option.
84265
84266         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84267         need to extend the stack.
84268         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84269         large.
84270
84271 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84272
84273         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84274
84275 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84276
84277         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84278         (2004-10-24) change.  Apparently this was a false alarm.
84279
84280         * modules/getdate: Depend on alloca-opt, not alloca.
84281
84282 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84283
84284         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84285         Remove now-obsolete comment about AIX.
84286         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84287         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84288         (YYMAXDEPTH): New macro.
84289
84290 2004-12-18  Simon Josefsson  <jas@extundo.com>
84291
84292         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84293
84294 2004-12-18  Bruno Haible  <bruno@clisp.org>
84295
84296         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84297
84298 2004-12-18  Bruno Haible  <bruno@clisp.org>
84299
84300         * lib/fatal-signal.c (fatal_signals): Make non-const.
84301         (init_fatal_signals): New function.
84302         (uninstall_handlers, install_handlers): Ignore signals that were set to
84303         SIG_IGN.
84304         (at_fatal_signal): Call init_fatal_signals.
84305         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84306         SIG_IGN.
84307         Reported by Paul Eggert.
84308
84309 2004-12-18  Bruno Haible  <bruno@clisp.org>
84310
84311         * doc/alloca.texi: New file.
84312         * doc/alloca-opt.texi: New file.
84313
84314 2004-12-17  Jim Meyering  <jim@meyering.net>
84315
84316         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84317         Otherwise, install-sh could exit with improper exit status when
84318         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84319
84320 2004-12-16  Simon Josefsson  <jas@extundo.com>
84321
84322         * tests/test-base64.c: Add license.
84323
84324 2004-12-15  Stepan Kasal  <address@hidden>
84325
84326         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84327
84328 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84329
84330         * modules/getcwd (Files): Add m4/d-ino.m4.
84331         Suggested by Mark D. Baushke.
84332
84333 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84334
84335         * lib/getdate.y (textint): New member "negative".
84336         (time_zone_hhmm): New function.
84337         Expect 14 shift-reduce conflicts, not 13.
84338         (o_colon_minutes): New rule.
84339         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84340         (yylex): Set the "negative" member of signed numbers.
84341
84342 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84343
84344         * doc/getdate.texi (Time of day items, Time zone items):
84345         Describe new formats +00:00, UTC+00:00.
84346
84347 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84348
84349         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84350         spurious "-l"s.  Problem reported by Stepan Kasal.
84351
84352 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84353
84354         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84355         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84356
84357 2004-12-04  Simon Josefsson  <jas@extundo.com>
84358
84359         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84360         Vandoorselaere <yoann@prelude-ids.org>.
84361
84362 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84363
84364         Changes imported from coreutils.
84365         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84366         exist.
84367         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84368
84369 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84370
84371         Changes imported from coreutils.
84372         * lib/hard-locale.c: Assume <locale.h> exists.
84373         Include "strdup.h".
84374         (GLIBC_VERSION): New macro.
84375         (hard_locale): Assume setlocale exists.
84376         Rewrite to avoid #ifdef.
84377         Use strdup rather than malloc + strcpy.
84378         * lib/human.c: Assume <locale.h> exists.
84379         (human_readable): Assume localeconv exists.
84380
84381 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84382
84383         * modules/hard-locale (Depends-on): Add strdup.
84384
84385 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84386
84387         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84388         convert T2, not T.  (Imported from libc.)
84389
84390 2004-11-30  Simon Josefsson  <jas@extundo.com>
84391
84392         * modules/restrict (License): Change to LGPL.
84393
84394 2004-11-30  Simon Josefsson  <jas@extundo.com>
84395
84396         * m4/restrict.m4: Add copyright and copying conditions.
84397
84398 2004-11-30  Simon Josefsson  <jas@extundo.com>
84399
84400         * m4/base64.m4: New file.
84401
84402 2004-11-30  Simon Josefsson  <jas@extundo.com>
84403
84404         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
84405         base64.
84406
84407         * tests/test-base64.c: New file.
84408
84409         * modules/base64: New file.
84410
84411 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84412
84413         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
84414         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
84415
84416         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
84417
84418 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84419
84420         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
84421         (__getcwd.c): Don't restore errno; glibc doesn't.
84422         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
84423         first, falling back to our code only if its results look suspicious.
84424         Ensure that the resulting buffer is only as large as necessary.
84425
84426         * lib/readutmp.c: Include readutmp.h first.
84427         Include <errno.h>, since readutmp.h no longer does that.
84428         * lib/readutmp.h: Don't include <errno.h>,
84429         <sys/param.h>, <time.h>; not needed to establish interface.
84430         (errno): Remove decl.
84431         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
84432         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
84433         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
84434
84435 2004-11-28  Simon Josefsson  <jas@extundo.com>
84436
84437         * lib/base64.h, base64.c: New file.
84438
84439 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
84440
84441         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
84442
84443 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
84444
84445         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
84446         (Depends-on): Remove pathmax, same.  Add mempcpy.
84447         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
84448         (Makefile.am): Append getcwd.h to lib_SOURCES.
84449         (Include): Add getcwd.h.
84450         (Maintainer): Change from Jim Meyering to "all, glibc",
84451         since getdate now uses intended-for-glibc code.
84452         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
84453         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
84454
84455 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84456
84457         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
84458         HP's ANSI C compiler.
84459         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
84460         Declaring int functions causes warnings on some modern systems and
84461         shouldn't be needed to compile on ancient ones.
84462         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
84463         defined.
84464
84465         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
84466         with the following changes.
84467         (__set_errno): Parenthesize properly.
84468         Include <stdbool.h>.
84469         (MIN, MAX, MATCHING_INO): New macros.
84470         (__getcwd): Define with prototype, not K&R form.
84471         Use heuristics to allocate default buffer on stack if possible.
84472         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
84473         behavior, and to avoid the PATH_MAX limit when computing
84474         ../../../../...
84475         Use MATCHING_INO to compare inode number to file.
84476         Check for arithmetic overflow in size calculations.
84477         Fix bug in reallocation of dot array that caused getcwd to fail
84478         on directories nested deeper than 75.
84479         Be more careful about saving errno on error.
84480         Do not use realloc; use only free+malloc, as this is a bit
84481         more flexible and avoids a needless copy operation.
84482         Do not inspect st_dev and st_ino for symbolic links; POSIX
84483         doesn't specify the latter.
84484         Check for closedir errors.
84485         Avoid needless casts.
84486         Use "#ifdef weak_alias" around weak_alias, to be like other
84487         glibc code.
84488         The following changes to getcwd.c have effect only when used in
84489         gnulib; they have no effect inside glibc proper.
84490         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
84491         as alloca isn't used.
84492         (alloca, __alloca): Likewise.
84493         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
84494         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84495         unconditionally, as gnulib assumes C89 or better.
84496         Do not include <sys/param.h>.
84497         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
84498         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
84499         better.
84500         (NULL) [!defined NULL]: Remove; we assume C89 or better.
84501         Include <dirent.h> in a way that is compatible with modern Autoconf.
84502         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
84503         New macros, if not already defined.
84504         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
84505         Use "_LIBC", not "defined _LIBC", for consistency.
84506         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
84507         a mempcpy module.
84508         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
84509         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
84510         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
84511         credit only to Jim Meyering and adjust the copyright dates.
84512         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
84513         <stdlib.h>, <unistd.h>, "pathmax.h".
84514         Instead, include "xgetcwd.h" (first) and "getcwd.h".
84515         (INITIAL_BUFFER_SIZE): Remove.
84516         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
84517
84518 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84519
84520         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
84521         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
84522         Use the _ONCE methods, for efficiency.
84523         Check for fcntl.h.  In test program, include <errno.h>
84524         and <fcntl.h> if available.  Remove old K&R cruft from
84525         test program.  Check for common errors in GNU/Linux,
84526         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
84527         don't do AC_LIBOBJ, as that's getcwd.m4's job.
84528         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
84529         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
84530         name accordingly.
84531         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
84532         accommodate new getcwd.c.
84533         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84534         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84535         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84536         that's all we need now.
84537
84538 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84539
84540         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84541         argp-parse.c depends on getopt internals, that means we should
84542         always use our getopt, to be on the safe side.
84543         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84544         order not to spoil the result of an eventual previous invocation
84545         of gl_GETOPT_SUBSTITUTE.
84546
84547 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84548
84549         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84550         redefinition warnings. To avoid them, include the defines
84551         in `#if !defined __need_getopt ... #endif'. The only place
84552         where __getopt_argv_const is used is in definitions
84553         of getopt_long and getopt_long_only below, which are as well
84554         protected by `#ifndef __need_getopt'.
84555         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84556         __need_getopt after including <stdio.h> and <unistd.h> These
84557         headers might have defined it.
84558
84559 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84560
84561         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84562
84563 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84564
84565         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84566         (futimens): New function, which uses futimes if available.
84567         (futimens, utimens): Support timespec==NULL, with same semantics
84568         as utime and utimens.
84569         * lib/utimens.h (futimens): New decl.
84570
84571 2004-11-23  Jim Meyering  <jim@meyering.net>
84572
84573         * lib/getopt_.h: Remove trailing blanks.
84574
84575 2004-11-23  Jim Meyering  <jim@meyering.net>
84576
84577         * lib/__fpending.c: Add comment.
84578
84579 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84580
84581         * modules/canonicalize (Depends-on): Add xreadlink.
84582         Problem reported by James Youngman.
84583
84584 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84585
84586         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84587         New macros.
84588         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84589         optopt): Use them instead of invoking ## directly; otherwise, the
84590         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84591
84592 2004-11-19  Bruno Haible  <bruno@clisp.org>
84593
84594         * lib/strtok_r.c: Move comments from here...
84595         * lib/strtok_r.h: ... to here.
84596
84597 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84598
84599         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84600         implementations that mishandle size_t overflow.
84601
84602 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84603
84604         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84605         might fail.  Problem reported by Yoann Vandoorselaere.
84606         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84607         implementations that mishandle size_t overflow.
84608
84609 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84610
84611         * modules/canon-host (Depends-on): Add strdup.
84612
84613 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84614
84615         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84616
84617 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84618
84619         * lib/canon-host.c: Include "strdup.h".
84620         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84621         Use strdup instead of malloc/strcpy to duplicate strings.
84622
84623         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84624         (human_space_before_unit): New constant.
84625         * lib/human.c (human_readable): Support it.
84626
84627         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84628         (xgetcwd): Set errno correctly when failing.
84629         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84630         the failure is actually due to a PATH_MAX problem.
84631
84632         Further getopt changes to make it more likely that glibc will
84633         buy the changes back.
84634         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84635         (getopt): Use it, so to preserve glibc semantic
84636         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84637         when compiling for libc.
84638         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84639         (getopt_long, getopt_long_only): Use it.
84640
84641         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84642         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84643         (getopt): Argv is now char * const *, as per standard.
84644         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84645         not char *__getopt_argv_const *.
84646         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84647         _getopt_long_only_r): Likewise.
84648         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84649         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84650         _getopt_long_r, _getopt_long_only_r): Likewise.
84651         * lib/getopt_.h (__getopt_argv_const): Remove.
84652         (getopt): Argv is now char * const *, as per standard.
84653
84654         * lib/getdate.y (tORDINAL): New token.
84655         (day, relunit): Allow it for relative times.
84656         (relative_time_table): Use tORDINAL for ordinals.
84657
84658 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84659
84660         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84661         Document that "second" isn't allowed as an ordinal number.
84662
84663 2004-11-16  Jim Meyering  <jim@meyering.net>
84664
84665         * modules/closeout (Depends-on): Add fpending.
84666
84667 2004-11-15  Jim Meyering  <jim@meyering.net>
84668
84669         * lib/closeout.c: Include "__fpending.h" once again.
84670         Include <stdbool.h>.
84671         (close_stdout): Don't fail just because stdout was closed initially,
84672         since some programs don't write to stdout in the normal course of
84673         operation (other than --version and --help), and we don't want this
84674         function to make e.g. `touch file >&-' fail.
84675         But do fail if it was closed and someone has tried to write to it.
84676         E.g., `printf foo >&-' must fail.
84677
84678 2004-11-13  Jim Meyering  <jim@meyering.net>
84679
84680         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84681
84682 2004-11-12  Simon Josefsson  <jas@extundo.com>
84683
84684         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84685         small doc fix is still pending.
84686
84687 2004-11-11  Simon Josefsson  <jas@extundo.com>
84688
84689         * modules/strtok_r: New file.
84690
84691         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84692         strtok_r.
84693
84694 2004-11-11  Simon Josefsson  <jas@extundo.com>
84695
84696         * m4/strtok_r.m4: New file.
84697
84698         * m4/getopt.m4: Replace opterr.
84699
84700 2004-11-11  Simon Josefsson  <jas@extundo.com>
84701
84702         * lib/strtok_r.h, strtok_r.c: New file.
84703
84704 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84705
84706         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84707         of replacing opterr, getopt, etc.  This should handle the
84708         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84709
84710 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84711
84712         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84713         we can stop lying to compilers about the constness of argv when we
84714         are compiled outside glibc.
84715         (getopt, getopt_long, getopt_long_only): Use it.
84716         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84717         _getopt_internal, getopt): Likewise.
84718         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84719         _getopt_long_only_r): Likewise.
84720         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84721         _getopt_long_r, _getopt_long_only_r): Likewise.
84722
84723         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84724         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84725         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84726         the other external symbols.
84727         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84728         declaration, since the above renaming now works around collisions.
84729
84730 2004-11-11  Jim Meyering  <jim@meyering.net>
84731
84732         * lib/linebreak.c: Remove trailing blanks.
84733         * lib/alloca_.h: Likewise.
84734         * lib/acosl.c: Likewise.
84735         * lib/euidaccess.c: Likewise.
84736         * lib/allocsa.h: Likewise.
84737
84738 2004-11-10  Simon Josefsson  <jas@extundo.com>
84739
84740         * m4/getaddrinfo.m4: New file.
84741
84742 2004-11-10  Simon Josefsson  <jas@extundo.com>
84743
84744         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84745
84746 2004-11-10  Simon Josefsson  <jas@extundo.com>
84747
84748         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84749         getaddrinfo.
84750
84751         * modules/getaddrinfo: New file.
84752
84753 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84754
84755         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84756
84757 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84758
84759         * lib/mktime.c (SHR): New macro, which is a portable
84760         substitute for >> that should work even on Crays.
84761         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84762         Problem reported by Mark D. Baushke in
84763         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84764         * lib/getdate.y (SHR): Likewise.
84765         (tm_diff): Use it.
84766         * lib/strftime.c (SHR): Likewise.
84767         (tm_diff): Use it.
84768         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84769         quote_these_too, so that right shifts are well defined.  All uses
84770         changed.
84771
84772 2004-11-10  Jim Meyering  <jim@meyering.net>
84773
84774         Ensure that no close failure goes unreported.
84775         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84776         return early when it seems there's nothing to flush.
84777         Don't include __fpending.h.
84778
84779 2004-11-10  Jim Meyering  <jim@meyering.net>
84780
84781         * modules/closeout (Depends-on): Remove fpending.
84782
84783 2004-11-10  Jim Meyering  <jim@meyering.net>
84784
84785         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84786
84787 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84788
84789         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84790         gl_FUNC_STRFTIME.
84791         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84792         and AC_REQUIRE when possible, to avoid duplicate checks.
84793         Check for <wchar.h>.
84794
84795 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84796
84797         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84798
84799 2004-11-09  Bruno Haible  <bruno@clisp.org>
84800
84801         * m4/sockpfaf.m4: New file.
84802
84803 2004-11-05  Bruno Haible  <bruno@clisp.org>
84804
84805         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84806         Reported by Mark D. Baushke <mdb@cvshome.org>.
84807
84808 2004-11-04  Bruno Haible  <bruno@clisp.org>
84809
84810         2004-09-11  Bruno Haible  <bruno@clisp.org>
84811                 * allocsa.valgrind: New file.
84812         2004-02-06  Bruno Haible  <bruno@clisp.org>
84813                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84814                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84815                 Reported by Christopher Seip <chris.seip@hp.com>.
84816
84817 2004-11-04  Bruno Haible  <bruno@clisp.org>
84818
84819         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84820         (Makefile.am): Distribute it.
84821
84822 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84823
84824         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84825         with errno == ERANGE if the buffer is too small.
84826         Problem reported by Mark D. Baushke.
84827
84828 2004-11-03  Albert Chin  <china@thewrittenword.com>
84829             Paul Eggert  <eggert@cs.ucla.edu>
84830
84831         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84832         equivalent, substitute $ac_type for equivalent type rather than
84833         blindly using uint32_t *always* which won't work if uint32_t is not
84834         available.  Define _UINT32_T to work around typedef of uint32_t if
84835         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84836         2.5.1.
84837
84838 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84839
84840         * m4/jm-macros.m4: Sync from coreutils.
84841         (gl_MACROS): Check for mbrlen, for pathchk.
84842         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84843
84844 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84845
84846         * lib/xreadlink.c (MAXSIZE): New macro.
84847         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84848         size does not exceed MAXSIZE.  Avoid cast.
84849         As suggested by Mark D. Baushke in
84850         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84851         if readlink fails with buffer size just under MAXSIZE, try again
84852         with MAXSIZE.
84853
84854 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84855
84856         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84857
84858 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84859         and  Paul Eggert  <eggert@cs.ucla.edu>
84860
84861         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84862         (get_date): Overparenthesize to avoid GCC warning.
84863
84864 2004-11-02  Bruno Haible  <bruno@clisp.org>
84865
84866         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84867         returns void.
84868
84869 2004-11-02  Bruno Haible  <bruno@clisp.org>
84870
84871         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84872         function returns void.
84873
84874 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84875
84876         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84877         fflush_unlocked, flockfile, funlockfile, funlockfile,
84878         fputs_unlocked, putc_unlocked.
84879
84880 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84881
84882         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84883         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84884         already declared.
84885
84886 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84887
84888         * modules/getdate (Files): Add doc/getdate.texi.
84889         (Depends-on): Add setenv, xalloc.
84890
84891 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84892
84893         * lib/getdate.y: Add support for TZ="foo" within a date string.
84894         Fix some bugs near time_t boundaries.  Reject dates with
84895         out-of-range components, e.g., "Sept 31".
84896         Include <stdlib.h>, "setenv.h", "xalloc.h".
84897         (ISDIGIT_LOCALE): Remove; unused.
84898         Note that the TZ and time functions used here are not reentrant.
84899         (mktime_ok, get_tz): New functions.
84900         (TZBUFSIZE): New constant.
84901         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84902         This requires that we sometimes generate our own TZ="XXX..." setting.
84903
84904 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84905
84906         * doc/getdate.texi: New file, from coreutils with modifications for
84907         the new TZ parsing.
84908
84909 2004-10-27  Derek R. Price  <derek@ximbiot.com>
84910
84911         * lib/mktime.c (not_equal_tm): Remove redundant check.
84912
84913 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84914
84915         * modules/regex (lib_SOURCES): Add regex.c.
84916         Reported by James Youngman in
84917         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
84918
84919 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84920
84921         * lib/getdate.y: Use Bison 1.875 features, and some minor
84922         code cleanups.  This change does not affect semantics.
84923         Don't include <stdlib.h>; no longer needed.
84924         Don't include unlocked-io.h; only the "#if TEST" code uses
84925         stdio, and performance isn't crucial there.
84926         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
84927         Bison 1.875 features as described below.
84928         All uses of "PC." replaced by "pc->".
84929         (YYSTYPE): Add a forward declaration.
84930         (yylex, yyerror): Use full prototypes in forward decls.
84931         Use "%pure-parser" rather than obsolescent "%pure_parser".
84932         Use %parse-param and %lex-param instead of obsolescent
84933         YYPARSE_PARAM and YYLEX_PARAM.
84934         (meridian_table, month_and_day_table, time_units_table,
84935         relative_time_table, time_zone_table, military_table,
84936         lookup_zone, lookup_word, get_date):
84937         Use NULL instead of 0 where appropriate.
84938         (to_hour): Avoid abort (), to avoid a dependency on
84939         stdlib.h.
84940         (yyerror, yylex): Now accepts parser_control * arg.
84941         (main) [TEST]: Use '\0' rather than 0 for char.
84942
84943 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84944
84945         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
84946
84947 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84948
84949         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
84950         It's now the caller's responsibility to handle the case where
84951         !HAVE_GETPAGESIZE && !defined getpagesize.
84952
84953         * lib/mktime.c (leapyear): Arg is long int, not int.
84954
84955 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
84956
84957         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
84958
84959 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84960
84961         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
84962         missing.  Problem reported by James Youngman.
84963
84964 2004-10-16  Simon Josefsson  <jas@extundo.com>
84965
84966         * gnulib-tool: Fix comments.  Fix parse problem.
84967         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
84968
84969 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
84970
84971         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
84972         implementation of getopt_long.  Problem reported by Alexander Taler in:
84973         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
84974
84975 2004-10-15  Bruno Haible  <bruno@clisp.org>
84976
84977         * gnulib-tool: Untabify. Initialize supplied_libname.
84978         (func_usage): More homogenous output.
84979         (func_modules_transitive_closure, func_modules_to_filelist,
84980         func_emit_lib_Makefile_am): New functions.
84981         (func_import): New function, extracted from big case statement. Use
84982         func_get_license, func_modules_transitive_closure,
84983         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
84984         opt_lgpl. Don't use test -a, as it's not portable.
84985         (func_create_testdir): Use func_modules_transitive_closure,
84986         func_modules_to_filelist, func_emit_lib_Makefile_am.
84987
84988 2004-10-15  Bruno Haible  <bruno@clisp.org>
84989
84990         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
84991
84992 2004-10-15  Bruno Haible  <bruno@clisp.org>
84993
84994         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
84995         the portions belonging to each module.
84996         Suggested by Derek Robert Price <derek@ximbiot.com>.
84997
84998 2004-10-12  Simon Josefsson  <jas@extundo.com>
84999
85000         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85001         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85002         to real functions.
85003
85004 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85005
85006         * modules/vsnprintf: New file.
85007
85008 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85009
85010         * m4/vsnprintf.m4: New file.
85011
85012 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85013
85014         * lib/vsnprintf.h: New file.
85015         * lib/vsnprintf.c: New file.
85016
85017 2004-10-11  Bruno Haible  <bruno@clisp.org>
85018
85019         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85020         vsnprintf.
85021
85022 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85023
85024         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85025
85026 2004-10-07  Bruno Haible  <bruno@clisp.org>
85027
85028         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85029         fits into the provided buffer.
85030
85031 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85032
85033         * lib/diacrit.c, diacrit.h: Add GPL notice.
85034
85035         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85036         notice.
85037         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85038         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85039         This avoids a potential constant-folding bug.
85040
85041 2004-10-05  Bruno Haible  <bruno@clisp.org>
85042
85043         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85044         for the declaration of strsep.
85045
85046 2004-10-05  Bruno Haible  <bruno@clisp.org>
85047
85048         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85049
85050 2004-10-04  Simon Josefsson  <jas@extundo.com>
85051
85052         * modules/memmem: New file.
85053         * tests/test-memmem.c: New file.
85054         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85055
85056 2004-10-04  Simon Josefsson  <jas@extundo.com>
85057
85058         * m4/memmem.m4: New file.
85059
85060 2004-10-04  Simon Josefsson  <jas@extundo.com>
85061
85062         * lib/memmem.h: New file.
85063         * lib/memmem.c: New file, taken from glibc.
85064
85065 2004-10-04  Simon Josefsson  <jas@extundo.com>
85066
85067         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85068         '#ifdef USE_UNLOCKED_IO'.
85069
85070 2004-10-04  Simon Josefsson  <jas@extundo.com>
85071
85072         * config/srclist.txt: Add memmem from glibc.
85073
85074 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85075
85076         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85077
85078         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85079         modules/exclude, modules/getdate, modules/getline,
85080         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85081         modules/getusershell, modules/linebuffer, modules/md5,
85082         modules/mountlist, modules/posixtm, modules/readtokens,
85083         modules/readutmp, modules/regex, modules/sha1,
85084         modules/version-etc, modules/yesno:
85085         Remove dependency on unlocked-io.
85086
85087 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85088
85089         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85090
85091         * m4/unlocked-io.m4: Add copyright notice.
85092         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85093
85094 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85095
85096         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85097         * lib/xmalloc.c (xmemdup): Likewise.
85098         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85099         XFREE): Remove these long-obsolescent macros.
85100         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85101         * lib/xstrdup.c: Remove.
85102
85103         * lib/regex.c (re_comp): Cast gettext return value to char *,
85104         Problem reported by Martin Neitzel via Mark D. Baushke.
85105
85106 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85107
85108         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85109         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85110         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85111         regex.c, sha1.c, version-etc.c, yesno.c:
85112         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85113         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85114         the includer's responsibility.
85115
85116         Sync from coreutils.
85117
85118         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85119         points to the start of a string, as the C Standard says the
85120         resulting behavior is undefined.
85121
85122         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85123         simple -> simple_backups, numbered_existing ->
85124         numbered_existing_backups, numbered -> numbered_backups
85125         to avoid shadowing problems.  All uses changed.
85126         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85127         * lib/backupfile.c (check_extension, numbered_backup):
85128         Rename locals to avoid shadowing 'basename'.
85129         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85130         once.
85131
85132         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85133         * lib/.cvsignore: Add getopt.h.
85134
85135 2004-10-04  Bruno Haible  <bruno@clisp.org>
85136
85137         * modules/README: New file.
85138         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85139         not a module.
85140
85141 2004-10-02  Jim Meyering  <jim@meyering.net>
85142
85143         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85144
85145 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85146
85147         * modules/strsep: New file.
85148
85149 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85150
85151         * m4/strsep.m4: New file.
85152
85153 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85154
85155         * lib/strsep.h: New file.
85156         * lib/strsep.c: New file.
85157
85158 2004-10-01  Simon Josefsson  <jas@extundo.com>
85159
85160         * lib/snprintf.c (snprintf): Handle size==0.
85161
85162 2004-10-01  Simon Josefsson  <jas@extundo.com>
85163             Bruno Haible  <bruno@clisp.org>
85164
85165         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85166         (snprintf): Declare 'args'.
85167
85168 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85169
85170         * lib/snprintf.c: Remove comments as to why each header is needed.
85171
85172 2004-10-01  Bruno Haible  <bruno@clisp.org>
85173
85174         * MODULES.html.sh: Add strsep.
85175
85176 2004-09-30  Simon Josefsson  <jas@extundo.com>
85177
85178         * modules/snprintf: New file.
85179
85180 2004-09-30  Simon Josefsson  <jas@extundo.com>
85181
85182         * m4/snprintf.m4: New file.
85183
85184 2004-09-30  Simon Josefsson  <jas@extundo.com>
85185
85186         * lib/snprintf.h, lib/snprintf.c: New files.
85187
85188 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85189
85190         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85191         (hol_entry_help): Never translate an empty string.
85192         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85193         * lib/argp.h (OPTION_NO_TRANS): New option.
85194
85195 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85196
85197         * modules/argp (Maintainer): Replace Simon Josefsson
85198         by Sergey Poznyakoff.
85199
85200 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85201
85202         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85203         changes merged back into glibc.
85204
85205 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85206
85207         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85208
85209 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85210
85211         * lib/xvasprintf.c: Include xalloc.h.
85212         (xvasprintf): Use xalloc_die, not xmalloc_die.
85213
85214 2004-09-29  Bruno Haible  <bruno@clisp.org>
85215
85216         * modules/alloca-opt: New file, derived from modules/alloca.
85217         * modules/allocsa: Depend on alloca-opt instead of alloca.
85218         * modules/setenv: Likewise.
85219         * modules/vasnprintf: Likewise.
85220         * MODULES.html.sh: Add alloca-opt.
85221
85222 2004-09-28  Simon Josefsson  <jas@extundo.com>
85223
85224         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85225         LGPL, and to replace license template from GPL to LGPL.
85226
85227 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85228
85229         * modules/dummy: Change license to LGPL.
85230
85231 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85232
85233         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85234
85235 2004-09-24  Simon Josefsson  <jas@extundo.com>
85236
85237         * modules/minmax (License): Change from GPL to LGPL.
85238
85239 2004-09-23  Simon Josefsson  <jas@extundo.com>
85240
85241         * gnulib-tool (--import): Typo.
85242
85243 2004-09-23  Simon Josefsson  <jas@extundo.com>
85244
85245         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85246
85247 2004-09-22  Bruno Haible  <bruno@clisp.org>
85248
85249         * modules/*: Add 'License' field.
85250         * gnulib-tool: Accept --extract-license option.
85251         (func_get_license): New function.
85252
85253 2004-09-21  Bruno Haible  <bruno@clisp.org>
85254
85255         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85256         Reported by Simon Josefsson.
85257
85258 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85259
85260         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85261         gl_AC_TYPE_LONG_LONG.
85262
85263 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85264
85265         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85266
85267 2004-09-18  Simon Josefsson  <jas@extundo.com>
85268         and  Paul Eggert  <eggert@cs.ucla.edu>
85269
85270         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85271         calls with autoreconf.  Define GL_LIB.
85272
85273 2004-09-14  Karl Berry  <karl@gnu.org>
85274
85275         * config/srclist.txt: unsync setenv.c, sigh.
85276
85277 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85278
85279         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85280         Problem reported by Bruno Haible in:
85281         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85282
85283 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85284
85285         * config/srclist.txt: Comment out argp-pvh.c.
85286
85287 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85288
85289         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85290         in case some system header has #define'd it.  Problem reported by
85291         Soeren D. Schulze in
85292         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85293
85294 2004-09-09  Karl Berry  <karl@gnu.org>
85295
85296         * regex.[ch]: delete from the root.  These were supposed to be
85297                 synced with emacs cvs, but this has not happened for about
85298                 a year, and anyway nothing else uses emacs regex.[ch].
85299                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85300                 lib/regex[.ch] is untouched.
85301
85302 2004-09-09  Bruno Haible  <bruno@clisp.org>
85303
85304         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85305
85306 2004-09-09  Bruno Haible  <bruno@clisp.org>
85307
85308         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85309         modifications.
85310         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85311
85312 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85313
85314         * modules/xvasprintf: New file.
85315         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85316
85317 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85318
85319         * lib/xvasprintf.h: New file.
85320         * lib/xvasprintf.c: New file.
85321         * lib/xasprintf.c: New file.
85322
85323 2004-09-08  Bruno Haible  <bruno@clisp.org>
85324
85325         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85326
85327 2004-09-08  Bruno Haible  <bruno@clisp.org>
85328
85329         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85330         length is > INT_MAX.
85331         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85332         more.
85333
85334 2004-09-08  Bruno Haible  <bruno@clisp.org>
85335
85336         * lib/stdint_.h: New file, taken from GNU clisp.
85337
85338 2004-09-08  Bruno Haible  <bruno@clisp.org>
85339             Oskar Liljeblad  <oskar@osk.mine.nu>
85340
85341         * modules/stdint: New file.
85342         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85343
85344 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85345
85346         Import from coreutils.
85347         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85348         strings on unbounded length.  alloca's performance benefits aren't
85349         that important here.
85350         (V_STRDUP): Remove.
85351         (parse_with_separator): New function, with most of the internals
85352         of the old parse_user_spec.  Allow user to omit both user and group,
85353         for compatibility with FreeBSD.
85354         Clone only the user name, not the entire spec.
85355         Do not set *uid, *gid unless entirely successful.
85356         Avoid memory leak in some failing cases.
85357         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85358         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85359         (parse_user_spec): Rewrite to use parse_with_separator.
85360
85361 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85362
85363         * modules/userspec: Don't depend on alloca.
85364
85365 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85366
85367         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85368
85369 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85370
85371         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85372         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85373         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85374
85375 2004-08-16  Simon Josefsson  <jas@extundo.com>
85376
85377         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85378         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85379         Add --dry-run for --import.
85380         Let user provided command line parameters override configure.ac
85381         settings.
85382
85383 2004-08-12  Simon Josefsson  <jas@extundo.com>
85384
85385         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85386         as discussed with Paul Eggert in threads rooted at
85387         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85388         and
85389         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85390         Before, the test was empty, and relied on ELIDE_CODE in source
85391         code.)
85392         (gl_PREREQ_GETOPT): New macro.
85393         (gl_GETOPT): Use them.
85394
85395 2004-08-12  Simon Josefsson  <jas@extundo.com>
85396
85397         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
85398         * lib/getopt_.h: Renamed from getopt.h.
85399
85400 2004-08-12  Simon Josefsson  <jas@extundo.com>
85401
85402         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
85403         Change default library name from libfoo to libgnu.
85404         Now, if you have a configure.ac that says:
85405                 gl_SOURCE_BASE(gl)
85406                 gl_M4_BASE(gl/m4)
85407                 gl_MODULES(error getopt etcetera)
85408                 gl_INIT
85409         you can import all you need by running:
85410                 ../gnulib/gnulib-tool --import
85411
85412         * modules/getopt (Files): Rename getopt.h to getopt_.h.
85413         (Makefile.am): Rewrite, use logic from argz.
85414         (Include): Use <getopt.h> instead of "getopt.h".
85415
85416 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85417
85418         * modules/argp (Files): Add m4/unlocked-io.m4.
85419         (Depends-on): Add extensions.
85420
85421 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85422
85423         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
85424         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
85425         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
85426         Check for program_invocation_name, program_invocation_short_name,
85427         flockfile, funlockfile, features.h, _getopt_long_only_r.
85428
85429 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85430
85431         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
85432         its complicated substitute.
85433         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
85434         and program_invocation_name.
85435         (__argp_basename) [!_LIBC]: Remove; the only use was
85436         replaced by its body.
85437         (__argp_short_program_name): Change condition from
85438         !defined __argp_short_program_name to
85439         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
85440         to match argp-namefrob.h.
85441         (__argp_failure): Don't assume strerror_r returns char *.
85442         * lib/argp-parse.c (N_): Define unconditionally.
85443         (argp_default_options): Fill out initializers with 0 to avoid
85444         gcc warnings.
85445
85446 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85447
85448         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
85449         getopt1.c.
85450
85451 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85452
85453         Merge from coreutils.
85454
85455         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
85456
85457         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
85458         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
85459
85460 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85461
85462         Merge from coreutils.
85463
85464         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
85465         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
85466         for Reliant Unix 5.43.
85467
85468         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
85469         (union fooround): Use uintmax_t, not long int.
85470         The rest is a merge from libc:
85471         [defined _LIBC]: Include <shlib-compat.h>.
85472         (_obstack) [defined _LIBC]: Remove after 2.3.4.
85473
85474         * lib/settime.c (settime): Recode to avoid warning with
85475         Sun Forte C 6U2.
85476
85477         * lib/strverscmp.c: Convert to UTF-8.
85478
85479 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85480
85481         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85482         m4/uintmax_t.m4.
85483
85484 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85485
85486         * modules/xalloc-die: New file.
85487         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
85488
85489         * modules/md5 (Files): Add m4/uint32_t.m4.
85490         * modules/sha1: Renamed from modules/sha.
85491         (Files):
85492         Rename lib/sha.h to lib/sha1.h.
85493         Rename lib/sha.c to lib/sha1.c.
85494         Rename m4/sha.m4 to m4/sha1.m4.
85495         (lib_SOURCES): Likewise.
85496         (configure.ac): Rename gl_SHA to gl_SHA1.
85497         (Include): sha.h -> sha1.h.
85498
85499 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85500
85501         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
85502         * m4/sha1.m4: Renamed from sha.m4.
85503         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
85504
85505 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85506
85507         * lib/obstack.h (obstack_empty_p):
85508         Don't assume that chunk->contents is suitably aligned.
85509         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
85510         Likewise. Problem reported by Benno in
85511         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
85512
85513         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
85514         readable.  This could be improved further but it'd take some work.
85515
85516 2004-08-08  Simon Josefsson  <jas@extundo.com>
85517
85518         * modules/xgethostname (Depends-on): Remove exit and error (not
85519         used).
85520
85521         * modules/getpass-gnu: Add getpass.h.
85522         (Depends-on): Add stdbool.
85523         * modules/getpass: Add getpass.h.
85524
85525 2004-08-08  Simon Josefsson  <jas@extundo.com>
85526
85527         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
85528         Check getpass declaration.
85529
85530 2004-08-08  Simon Josefsson  <jas@extundo.com>
85531
85532         * lib/xgethostname.c: Don't include error.h (not used).
85533
85534         * lib/getpass.h: Add.
85535         * lib/getpass.c: Include getpass.h first.
85536
85537 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85538
85539         * lib/xalloc-die.c: New file.
85540         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85541         All uses removed.
85542         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85543         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85544         xalloc-die.c.
85545         (_, N_, xalloc_die): Move to xalloc-die.c.
85546         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85547         so that we needn't mess with xalloc_msg_memory_exhausted.
85548
85549         * lib/sha1.h: Renamed from sha.h.
85550         (SHA1_H): Renamed from _SHA_H.
85551         (sha1_ctx): Renamed from sha_ctx.
85552         (sha1_init_ctx): Renamed from sha_init_ctx.
85553         (sha1_process_block): Renamed from sha_process_block.
85554         (sha1_process_bytes): Renamed from sha_process_bytes.
85555         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85556         (sha1_read_ctx): Renamed from sha_read_ctx.
85557         (sha1_stream): Renamed from sha_stream.
85558         (sha1_buffer): Renamed from sha_buffer.
85559         * lib/sha1.c: Likewise; renamed from sha.c.
85560         Do not include <sys/types.h>.
85561         Include <stddef.h> rather than <stdlib.h>.
85562
85563 2004-08-08  Bruno Haible  <bruno@clisp.org>
85564
85565         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85566         FILESYSTEM_PREFIX_LEN.
85567         * lib/progreloc.c: Likewise.
85568         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85569
85570 2004-08-06  Simon Josefsson  <jas@extundo.com>
85571
85572         * modules/progname (Depends-on): Don't depend on stdbool.
85573
85574 2004-08-06  Simon Josefsson  <jas@extundo.com>
85575
85576         * modules/getsubopt: New file.
85577         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85578         getsubopt.
85579
85580 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85581
85582         More merge from coreutils.
85583
85584         * m4/utimens.m4, m4/utimecmp.m4: New files.
85585         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85586         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85587         prereq.m4, sha.m4: Import changes from coreutils.
85588
85589 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85590
85591         More merge from coreutils.
85592         * modules/raise, modules/readtokens0, modules/utimens:
85593         * modules/utimecmp, module/xnanosleep: New files.
85594         * modules/strftime: Add lib/strftime.h.
85595         Change include from <time.h> to "strftime.h".
85596         * modules/yesno: Add lib/yesno.h.
85597         * modules/backupfile: Remove lib/addext.c.
85598         * modules/euidaccess: Add stat-macros.h.
85599         * modules/canonicalize, modules/euidaccess,
85600         modules/filemode, modules/lchown, modules/makepath,
85601         modules/rmdir, modules/stat: Likewise.
85602
85603 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85604
85605         Merge from tar.
85606         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85607         SIZE_MAX is a valid preprocessor constant.
85608         (__argp_basename): Change from "#ifndef _LIBC"
85609         to "#ifndef __argp_short_program_name", so that
85610         we don't compile these functions for tar.
85611
85612         More merges from coreutils.
85613         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85614         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85615         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85616         * lib/addext.c: Remove; no longer needed.
85617         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85618         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85619         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85620         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85621         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85622         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85623         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85624         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85625         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85626         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85627         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85628         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85629         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85630         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85631         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85632         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85633         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85634         Import changes from coreutils.
85635
85636 2004-08-05  Simon Josefsson  <jas@extundo.com>
85637
85638         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85639
85640 2004-08-05  Simon Josefsson  <jas@extundo.com>
85641
85642         * m4/getsubopt.m4: New file.
85643
85644 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85645
85646         Merge from coreutils.
85647
85648         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85649         * m4/getcwd-path-max.m4: New files.
85650
85651         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85652         FILESYSTEM_PREFIX_LEN ->
85653         FILE_SYSTEM_PREFIX_LEN.
85654         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85655         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85656         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85657         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85658
85659         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85660         prerequisite modules now handle the DOS stuff.
85661         Don't check for unistd.h.
85662
85663 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85664
85665         Merge from coreutils.
85666
85667         * lib/.gdb-history: Remove; this doesn't belong here.
85668
85669         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85670         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85671         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85672         * lib/getcwd.c: New files.
85673
85674         * lib/dirname.h: Include <stdbool.h>.
85675         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85676         for consistency with POSIX terminology.  All uses changed.
85677         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85678         (strip_trailing_slashes): Use bool for booleans.
85679         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85680
85681         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85682         sometimes returns a positive errno value even when it succeeds.
85683         (print_errno_message) [!LIBC]: Fall back on strerror if
85684         __strerror_r fails.
85685
85686         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85687         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85688         (longest_relative_suffix): New function.
85689         (path_concat): Use it.  Assume first argument is not NULL.
85690         Port to DOS.  Omit redundant separators.
85691         Report an error instead of returning NULL.
85692         Use mempcpy instead of memcpy.
85693         (xpath_concat): Remove: not declared or used.
85694
85695         * lib/same.h: Include <stdbool.h>
85696         (same_name): Return bool, not int.
85697         * lib/same.c (same_name): Likewise.
85698         (errno): Don't declare; we assume C89 or better now.
85699
85700         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85701         if not already defined.
85702
85703         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85704         * lib/dup-safer.c (errno): Likewise.
85705
85706 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85707
85708         Merge from coreutils.
85709         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85710         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85711         * modules/path-concat: Don't depend on strdup.
85712
85713 2004-08-03  Simon Josefsson  <jas@extundo.com>
85714
85715         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85716         * lib/progname.h: Don't include stdbool.h.
85717
85718 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85719
85720         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85721         * MODULES.html.sh (func_all_modules): Remove fatal.
85722
85723 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85724
85725         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85726
85727 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85728
85729         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85730         working.
85731
85732 2004-08-02  Simon Josefsson  <jas@extundo.com>
85733
85734         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85735         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85736         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85737
85738 2004-08-01  Simon Josefsson  <jas@extundo.com>
85739
85740         * lib/xgetdomainname.c: Include stdlib.h, for free().
85741
85742 2004-07-19  Bruno Haible  <bruno@clisp.org>
85743
85744         * MODULES.html.sh (func_all_modules): Add dummy.
85745
85746 2004-07-16  Simon Josefsson  <jas@extundo.com>
85747
85748         * modules/dummy: New file.
85749
85750 2004-07-16  Simon Josefsson  <jas@extundo.com>
85751
85752         * lib/dummy.c: New file.
85753
85754 2004-07-16  Bruno Haible  <bruno@clisp.org>
85755
85756         * lib/backupfile.h: Add extern "C" for C++.
85757         * lib/closeout.h: Likewise.
85758         * lib/copy-file.h: Likewise.
85759         * lib/findprog.h: Likewise.
85760         * lib/full-write.h: Likewise.
85761         * lib/pathname.h: Likewise.
85762         * lib/progname.h: Likewise.
85763         * lib/stpcpy.h: Likewise.
85764         * lib/stpncpy.h: Likewise.
85765         * lib/strcase.h: Likewise.
85766         * lib/strstr.h: Likewise.
85767         * lib/xalloc.h: Likewise.
85768
85769         * lib/mbswidth.h: Add extern "C" for C++.
85770         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85771
85772 2004-07-13  Robert Millan  <robertmh@gnu.org>
85773
85774         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85775
85776 2004-07-09  Simon Josefsson  <jas@extundo.com>
85777
85778         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85779         failed without this.)
85780
85781 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85782
85783         * modules/chown (Files): Add lib/fchown-stub.c, since
85784         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85785
85786 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85787
85788         * lib/fchown-stub.c: New file.
85789
85790 2004-06-24  Jim Meyering  <jim@meyering.net>
85791
85792         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85793
85794 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85795
85796         * modules/argz: Omit "#include".
85797
85798         * MODULES.html.sh (func_all_modules): Add calloc, to match
85799         2004-06-01 addition of calloc module.
85800
85801 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85802
85803         * m4/argz.m4: New file, which is autoupdated from libtool.
85804
85805 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85806
85807         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85808         libtool.
85809
85810 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85811
85812         * config/srclist-update: Don't insist on "USA." before the
85813         close-comment, as libtool omits the period and puts the */ on a
85814         separate line.
85815         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85816         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85817
85818 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85819
85820         * modules/argz: New file.
85821         * MODULES.html.sh (func_all_modules): Add argz.
85822
85823 2004-06-12  Jim Meyering  <jim@meyering.net>
85824         and  Paul Eggert  <eggert@cs.ucla.edu>
85825
85826         * modules/hash (Files): Add lib/xalloc.h.
85827         * modules/pipe (Depends-on): Add wait-process.
85828         * modules/stat (Depends-on): Add xalloc.
85829         * modules/userspec (Files): Add lib/userspec.h.
85830         * modules/xstrto
85831
85832         Upgrade from gettext-0.13.
85833         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85834         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85835         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85836
85837 2004-06-10  Jim Meyering  <jim@meyering.net>
85838
85839         * lib/calloc.c: New file.
85840
85841 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85842
85843         * lib/getdate.y (yylex): Allow space between sign and number.
85844         Problem reported by Dan Jacobson.
85845
85846 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85847
85848         Merge from coreutils CVS.
85849
85850         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85851         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85852         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85853         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85854         xstrtol.m4: Fix copyright date and/or serial number.
85855
85856         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85857         See if we need an fchown replacement.
85858         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85859         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85860         and use the replacement function if we detect either defect.
85861
85862         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85863         gl_UTIMECMP.
85864
85865 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85866         and  Jim Meyering  <jim@meyering.net>
85867
85868         Merge from coreutils CVS.
85869
85870         * lib/stat-macros.h: New file, with contents from file-type.h
85871         and coreutils' system.h.
85872         * lib/file-type.c: Include "stat-macros.h".
85873         * lib/file-type.h (file_type): Move all macro definitions to new file,
85874         stat-macros.h.
85875
85876         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85877         Wrap old code with this conditional.
85878         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85879         function that does not dereference symlinks.
85880         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85881
85882         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85883         dependency problems.
85884         (xreadlink): Accept new arg SIZE, for efficiency.
85885         All decls and uses changed.
85886         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85887
85888         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85889         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85890
85891         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85892         sysexits.h.
85893
85894 2004-06-01  Jim Meyering  <jim@meyering.net>
85895
85896         * m4/calloc.m4: New file.
85897
85898 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85899
85900         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85901         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85902         Also, fix a typo in a diagnostic.
85903
85904 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85905
85906         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
85907         or AC_FUNC_REALLOC.
85908
85909 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85910
85911         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
85912         macros to be defined.
85913         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
85914         the allocator returns NULL because the requested size is zero.
85915
85916 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85917
85918         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
85919         var.  Add comment explaining why libc still defines it.  This
85920         merges the following patch from glibc:
85921         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
85922
85923 2004-05-20  Andreas Schwab  <schwab@suse.de>
85924
85925         * m4/free.m4: Replace free if it not known to work, not the other
85926         way round.
85927
85928 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
85929
85930         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
85931         present in glibc since revision 1.1 of this file.
85932         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
85933         obstack_alignment_mask, obstack_alloc, obstack_base,
85934         obstack_blank, obstack_blank_fast, obstack_chunk_size,
85935         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
85936         obstack_grow0, obstack_init, obstack_int_grow,
85937         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
85938         obstack_next_free, obstack_object_size, obstack_ptr_grow,
85939         obstack_ptr_grow_fast, obstack_room): Remove declarations of
85940         nonexistent functions.
85941
85942 2004-05-18  Karl Berry  <karl@gnu.org>
85943
85944         * config/srclist.txt: break link for vasnprintf.c.
85945
85946 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85947
85948         Port obstack to the AS/400, where pointers are 16 bytes wide and
85949         you cannot cast an integer to a valid pointer.  This patch is
85950         currently waiting to be integrated into glibc; see
85951         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
85952
85953         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
85954         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
85955         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
85956         (struct obstack): temp member is now a union of a pointer and
85957         an integer, instead of an integer.  All integer uses changed.
85958         This does not affect the physical layout of struct obstack,
85959         except on hosts (like the AS/400) where the size or alignment of
85960         void * is greater than that of ptrdiff_t.
85961         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
85962         __STDC__)]: Store temporary in pointer member of union, not
85963         integer member.
85964         * lib/obstack.c: Include <stddef.h>, for offsetof.
85965         (struct fooalign): Remove; it doesn't need a name.
85966         (union fooround): Change double to long double, and add void *.
85967         (DEFAULT_ALIGNMENT): Use offsetof to compute.
85968         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
85969         not a macro.  Hence the values are always int; so remove all
85970         casts-to-int in uses.
85971
85972 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85973
85974         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
85975         we can get this patch merged into glibc.
85976
85977 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85978             Paul Eggert  <eggert@cs.ucla.edu>
85979
85980         * m4/argp: Depend on alloca.
85981
85982 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85983             Paul Eggert  <eggert@cs.ucla.edu>
85984
85985         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
85986         freecoding.
85987
85988 2004-05-17  Bruno Haible  <bruno@clisp.org>
85989
85990         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
85991         precision that consists of a '.' followed by an empty digit string.
85992         Patch by Tor Lillqvist <tml@iki.fi>.
85993
85994 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85995
85996         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
85997         for backward compatibility with older code.  We need our own
85998         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
85999         it under some other name, and our alloca.h will define it.
86000
86001 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86002             Derek Price  <derek@ximbiot.com>
86003
86004         * lib/alloca.c: Include <alloca.h>, to get our interface.
86005         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86006         include <alloca.h> first.  Use C89 prototype for alloca; this
86007         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86008         Use #elif for simplicity, since we can assume C89 now.
86009         Don't try to source the system alloca.h since it will not be found
86010         and to prevent recursively including its replacement.
86011         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86012         * lib/regex.c: Likewise.
86013
86014 2004-05-16  Derek Price  <derek@ximbiot.com>
86015             Paul Eggert  <eggert@cs.ucla.edu>
86016
86017         getline cleanup.  This changes the getndelim2 API: both order of
86018         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86019         no delimiter).
86020
86021         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86022         interface does that.
86023         (getline): Always use getdelim, so that we don't have two
86024         copies of this code.
86025         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86026         if available.
86027         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86028         (GETNDELIM2_MAXIMUM): New macro.
86029         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86030         instead of the old practice of delim2==0.  All callers changed.
86031         Return -1 on overflow, instead of returning junk.
86032         Do not set *linesize unless allocation succeeds.
86033         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86034         that we include sys/types.h.
86035         * lib/getnline.h: Likewise.
86036         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86037         (getndelim2): Reorder arguments.
86038         * lib/getnline.c (getnline, getndelim):
86039         Don't discard the NMAX argument.
86040         (getnline): Invoke getndelim, to avoid code duplication.
86041         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86042         of (size_t) -1 by callers of the getnline family.
86043
86044 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86045
86046         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86047         Check for gettimeofday.
86048         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86049         Check for settimeofday, stime.
86050
86051 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86052
86053         * lib/nanosleep.c (suspended): Change its type from int to
86054         sig_atomic_t volatile.
86055         (first_call): Make it private to rpl_nanosleep, and have it
86056         be zero initially as that's a bit faster.
86057         (my_usleep): Round up fractional times instead of truncating them,
86058         as this is the usual meaning for 'sleep'.
86059
86060         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86061         doesn't work.
86062         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86063         (ENOSYS): Define if not defined.
86064         (settime): Fall back on stime if it exists and settimeofday fails.
86065         But don't bother with fallbacks if a method fails with errno == EPERM.
86066
86067 2004-05-11  Jim Meyering  <jim@meyering.net>
86068
86069         Prior to this change, the save_cwd caller required read access to the
86070         current directory on most systems (ones with the fchdir function).
86071
86072         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86073         fails, try write-only, and finally, resort to using xgetcwd.
86074
86075 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86076
86077         * lib/obstack.c, obstack.h: Import changes from libc.
86078
86079 2004-04-28  Bruno Haible  <bruno@clisp.org>
86080
86081         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86082         also implicitly appends .exe to executables.
86083         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86084         accepts Windows pathnames.
86085         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86086         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86087         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86088         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86089         Reported by Derek Robert Price <derek@ximbiot.com>.
86090
86091 2004-04-21  Karl Berry  <karl@gnu.org>
86092
86093         * config/srclist.txt (localcharset.c): break sync.
86094
86095 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86096
86097         * m4/host-os.m4: Add a copyright notice.
86098
86099 2004-04-20  Jim Meyering  <jim@meyering.net>
86100
86101         Change UTILS_ to gl_ in AC_DEFINE'd names.
86102         Change utils_- and jm_-prefixed variables, too.
86103         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86104         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86105         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86106
86107         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86108         Don't emit trailing blanks.
86109         Also rename jm_-prefixed variables to have gl_ prefix.
86110
86111         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86112         Also rename jm_-prefixed variables to have gl_ prefix.
86113
86114         * m4/jm-macros.m4: Reflect the renamings.
86115         * m4/prereq.m4: Likewise.
86116
86117 2004-04-20  Jim Meyering  <jim@meyering.net>
86118
86119         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86120         memory.
86121
86122 2004-04-20  Jim Meyering  <jim@meyering.net>
86123             Bruno Haible  <bruno@clisp.org>
86124
86125         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86126         memory when realloc fails.
86127
86128 2004-04-19  Jim Meyering  <jim@meyering.net>
86129
86130         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86131         now that readutmp.c may call `free (0)'.
86132
86133 2004-04-19  Bruno Haible  <bruno@clisp.org>
86134
86135         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86136         * m4/inttypes_h.m4: Likewise.
86137         * m4/stdint_h.m4: Likewise.
86138         * m4/intmax_t.m4: Likewise.
86139         * m4/uintmax_t.m4: Likewise.
86140
86141 2004-04-18  Jim Meyering  <jim@meyering.net>
86142
86143         * m4/prereq.m4: Don't forbid jm_ prefix.
86144
86145         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86146         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86147         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86148         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86149         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86150         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86151         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86152         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86153         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86154         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86155         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86156         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86157         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86158         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86159         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86160         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86161         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86162         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86163         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86164
86165 2004-04-18  Jim Meyering  <jim@meyering.net>
86166
86167         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86168         failure, don't leak memory and do call END_UTMP_ENT.
86169
86170 2004-04-16  Jim Meyering  <jim@meyering.net>
86171
86172         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86173         coreutils' stat program.
86174         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86175
86176 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86177
86178         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86179         C89.
86180         (CHAR_BIT): Remove, since we assume C89.
86181         Include <stdint.h> if available, as per current Autoconf CVS advice.
86182
86183 2004-03-31  Jim Meyering  <jim@meyering.net>
86184
86185         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86186         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86187         * m4/xalloc.m4: Likewise.
86188
86189 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86190
86191         Merge from coreutils.
86192
86193         * m4/inttostr.m4: New file.
86194         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86195         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86196         Require gl_CLOCK_TIME.
86197         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86198
86199 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86200
86201         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86202         not bool, to be more consistent with Unix conventions.
86203         Suggested by Bruno Haible.
86204
86205         Merge from coreutils.
86206
86207         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86208         * lib/umaxtostr.c: New files.
86209
86210         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86211         the usual <time.h> dance.
86212         (get_date): Change signature to support fractional time stamps.
86213         All callers changed.
86214         * lib/getdate.y: Include "getdate.h" first, as we can now
86215         assume C89 and don't need to worry about 'const'.
86216         Similarly, include "unlocked-io.h" near start, not in middle.
86217         Include <limits.h>.
86218         (textint.value): Use long int rather than int.
86219         (textint.digits): Use size_t rather than int.
86220         (BILLION, LOG10_BILLION): New constants.
86221         (parser_control): New member rel_ns.  Members day_ordinal,
86222         time_zone, month, day, hour, minutes, rel_year, rel_month,
86223         rel_day, rel_hour, rel_minutes, rel_seconds
86224         are now long int, not int.  Member seconds is now struct timespec,
86225         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86226         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86227         not int.
86228         (%union.intval): Now long int, not int.
86229         New member timespec.
86230         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86231         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86232         (spec): Now is a timespec or an item list.
86233         (timespec, items): New nonterminals.
86234         (time, rel, relunit, number, get_date):
86235         Add support for fractional seconds.
86236         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86237         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86238         (to_hour): First arg is now long int, not int.
86239         (to_year): Returns long int, not int.
86240         Don't treat year -70 like 70.
86241         (tm_diff): Returns long int, not int.
86242         (lookup_word): Use bool instead of int when appropriate.
86243         (yylex): Use size_t for count, not int.
86244         Detect overflow when parsing large integer constants.
86245         Add support for fractions.
86246         (get_date): Make pointers 'const' if possible.
86247         Use more-portable code to detect integer overflow.
86248         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86249         Don't use ctime; it's not reliable if the year has >4 digits.
86250
86251         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86252         This is for compatibility with BSD.
86253
86254         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86255         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86256         From coreutils' system.h.
86257
86258         * lib/userspec.c: Don't include "posixver.h".
86259         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86260         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86261         compatible extension.  Simplify code by removing a boolean int
86262         that was always nonzero if a string was nonnull.
86263
86264 2004-03-30  Jim Meyering  <jim@meyering.net>
86265
86266         Merge from coreutils.
86267
86268         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86269         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86270         on some systems one must include <grp.h> before it.
86271         Reported by Christian Krackowizer.
86272
86273 2004-03-30  Jim Meyering  <jim@meyering.net>
86274
86275         Merge from coreutils.
86276
86277         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86278
86279         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86280         an empty input stream.
86281
86282         * lib/readtokens.c: Include <stdbool.h>.
86283         (readtoken): Use `size_t' rather than int/long.
86284         All callers adjusted.
86285         Use `bool' rather than `int' where appropriate.
86286         Use memset rather than an explicit loop.
86287         Use x2nrealloc rather than xrealloc.
86288         Allow the use of `\0' as a delimiter.
86289         (readtokens): Likewise.
86290         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86291
86292 2004-03-30  Jim Meyering  <jim@meyering.net>
86293
86294         * m4/realloc.m4: Remove file, since now it does no more than
86295         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86296         the `configure.ac' section of module/realloc.
86297         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86298
86299 2004-03-30  Bruno Haible  <bruno@clisp.org>
86300
86301         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86302         nonnull.
86303
86304 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86305
86306         Merge changes to getloadavg.c from coreutils and Emacs.
86307
86308         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86309         Define to an expression, not to the empty string.
86310         Include cloexec.h and xalloc.h.
86311         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86312         Use set_cloexec_flag rather than rolling our own.
86313         * lib/cloexec.c, lib/cloexec.h: New files.
86314
86315 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86316
86317         * m4/cloexec.m4: New file.
86318
86319 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86320
86321         * lib/getopt.h: Sync with libc CVS.
86322
86323 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86324             Bruno Haible  <bruno@clisp.org>
86325
86326         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86327         mbswidth.
86328
86329 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86330             Bruno Haible  <bruno@clisp.org>
86331
86332         * lib/mbswidth.h: Include <wchar.h> only if
86333         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86334         <wchar.h>.
86335         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86336
86337 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86338
86339         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86340         Sync with libc CVS.
86341         * lib/getopt_int.h: New file, also synced from libc.
86342
86343 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86344
86345         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86346         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86347         Bring back getopt.c, getopt.h, getopt1.c.
86348
86349 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86350
86351         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86352         All uses changed.  Check for sa_sigaction member; this fixes
86353         a bug first reported by Jason Andrade in
86354         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86355
86356 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86357
86358         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86359         '#if' expressions.  Unlike the code it replaces, it does not
86360         depend on (defined _SC_PAGESIZE).  However, it does depend on
86361         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86362         first reported by Jason Andrade in
86363         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86364
86365 2004-02-25  Simon Josefsson  <jas@extundo.com>
86366
86367         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86368
86369 2004-02-25  Simon Josefsson  <jas@extundo.com>
86370
86371         * lib/strdup.h: New file.
86372         * lib/strdup.c: Include it.
86373         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86374         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86375
86376 2004-02-23  Karl Berry  <karl@gnu.org>
86377
86378         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86379         (from fencepost.gnu.org:/gd/gnuorg).
86380
86381 2004-02-23  Karl Berry  <karl@gnu.org>
86382
86383         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86384         * config/srclist.txt: add maintain/standards documents.
86385
86386 2004-02-18  Bruno Haible  <bruno@clisp.org>
86387
86388         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86389         Reported by Derek Robert Price <derek@ximbiot.com>.
86390
86391 2004-02-16  Karl Berry  <karl@gnu.org>
86392
86393         * config/mkinstalldirs, install-sh: update from automake.
86394
86395 2004-02-06  Karl Berry  <karl@gnu.org>
86396
86397         * m4/po.m4: update from gettext 0.14.1.
86398
86399 2004-02-06  Karl Berry  <karl@gnu.org>
86400
86401         * lib/config.charset: update from gettext 0.14.1.
86402
86403 2004-02-05  Paul Eggert  <eggert@twinsun.com>
86404
86405         Add comments and code, prompted by suggestions from Bruno Haible
86406         for sh-quote.
86407         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
86408         describing the enum quoting_style values.
86409         * lib/quotearg.c (quotearg_alloc): New function.
86410         (quotearg_buffer_restyled): Treat lone { and } as special.
86411         Treat = as special.  Work around bug with older shells
86412         that "see" a '\' that is really the 2nd byte of a multibyte char.
86413         Quote empty string with shell_quoting_style.
86414
86415 2004-02-03  Bruno Haible  <bruno@clisp.org>
86416
86417         * m4/pipe.m4: New file, from GNU gettext.
86418
86419 2004-02-03  Bruno Haible  <bruno@clisp.org>
86420
86421         * lib/pipe.h: New file, from GNU gettext.
86422         * lib/pipe.c: New file, from GNU gettext.
86423
86424 2004-01-27  Bruno Haible  <bruno@clisp.org>
86425
86426         * m4/execute.m4: New file, from GNU gettext.
86427
86428 2004-01-27  Bruno Haible  <bruno@clisp.org>
86429
86430         * lib/execute.h: New file, from GNU gettext.
86431         * lib/execute.c: New file, from GNU gettext.
86432         * lib/w32spawn.h: New file, from GNU gettext.
86433
86434 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86435
86436         Merge from diffutils.
86437
86438         * lib/file-type.c (file_type): Add typed memory objects.
86439         * lib/file-type.h (S_TYPEISTMO): New macro.
86440
86441         * lib/c-stack.h (c_stack_action): Remove argv argument.
86442         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
86443         (die): Don't calculate message unless segv_action returns.
86444         (get_stack_location, min_address_from_argv, max_address_from_argv,
86445         volatile stack_base, volatile_stack_size): Remove.
86446         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
86447         that every segmentation violation is a stack overflow.  (Ouch!)
86448         See Debian bug 136249 (still outstanding) for more info about why
86449         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
86450
86451 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86452
86453         Exit-status fix from coreutils.
86454
86455         Use exit_failure consistently in place of EXIT_FAILURE,
86456         so that program exit statuses are consistent on failure.
86457
86458         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
86459         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
86460         * lib/argmatch.h: Comment fix to match the above.
86461         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
86462         Now a macro referring to exit_failure, instead of a separate
86463         variable.  Include "exitfail.h" to get it.
86464         * lib/xstrtol.h: Include "exitfail.h".
86465         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
86466
86467         * lib/long-options.c (parse_long_options): Use prototype
86468         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
86469         for clarity.
86470
86471 2004-01-21  Jim Meyering  <jim@meyering.net>
86472
86473         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
86474         so as not to conflict with a different-sized __mktime_internal
86475         function in GNU libc.
86476         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
86477         Problem building statically-linked `ls' reported by Michael Brunnbauer.
86478
86479 2004-01-20  Karl Berry  <karl@gnu.org>
86480
86481         * config/config.guess: update from config.
86482
86483         * config/srclistvars.sh: GNUWWWLICENSES for karl.
86484
86485 2004-01-20  Bruno Haible  <bruno@clisp.org>
86486
86487         Safer stack allocation.
86488         * lib/setenv.c: Include allocsa.h.
86489         (alloca): Remove fallback definition.
86490         (freea): Remove macro.
86491         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
86492         instead of freea.
86493
86494 2004-01-20  Bruno Haible  <bruno@clisp.org>
86495
86496         * m4/eealloc.m4: New file, from GNU gettext.
86497
86498 2004-01-20  Bruno Haible  <bruno@clisp.org>
86499
86500         * m4/allocsa.m4: New file, from GNU gettext.
86501
86502 2004-01-20  Bruno Haible  <bruno@clisp.org>
86503
86504         * lib/xallocsa.h: New file, from GNU gettext.
86505         * lib/xallocsa.c: New file, from GNU gettext.
86506
86507 2004-01-20  Bruno Haible  <bruno@clisp.org>
86508
86509         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
86510
86511 2004-01-20  Bruno Haible  <bruno@clisp.org>
86512
86513         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
86514         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
86515         specially.
86516
86517 2004-01-20  Bruno Haible  <bruno@clisp.org>
86518
86519         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
86520         patch.
86521
86522 2004-01-20  Bruno Haible  <bruno@clisp.org>
86523
86524         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
86525
86526 2004-01-20  Bruno Haible  <bruno@clisp.org>
86527
86528         * lib/eealloc.h: New file.
86529
86530 2004-01-20  Bruno Haible  <bruno@clisp.org>
86531
86532         * lib/binary-io.h: Avoid warnings on Cygwin.
86533
86534 2004-01-20  Bruno Haible  <bruno@clisp.org>
86535
86536         * lib/allocsa.h: New file, from GNU gettext.
86537         * lib/allocsa.c: New file, from GNU gettext.
86538
86539 2004-01-18  Karl Berry  <karl@gnu.org>
86540
86541         * doc/gpl.texi, doc/lgpl.texi: new files.
86542
86543 2004-01-18  Karl Berry  <karl@gnu.org>
86544
86545         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86546         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86547
86548 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86549
86550         Merge from coreutils.
86551
86552         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86553         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86554         (gl_DEFAULT_POSIX2_VERSION): Move
86555         the documentation from 'configure' into 'config.hin',
86556         so that 'configure --help' isn't burdened by it and
86557         we don't have to worry about its formatting there.
86558         Reword the documentation so that it's more succinct
86559         and can be run together into a single paragraph.
86560         * m4/same.m4 (gl_SAME): Check for pathconf.
86561
86562 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86563
86564         Merge from coreutils.
86565
86566         * lib/posixver.c: Include posixver.h.
86567
86568         * lib/same.c: Include <stdbool.h>, <limits.h>.
86569         (_POSIX_NAME_MAX): Define if not defined.
86570         (MIN): New macro.
86571         (same_name): If file names are silently truncated, report
86572         that the file names are the same if they are the same after
86573         the silent truncation.
86574
86575         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86576         conversion function.
86577         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86578         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86579         longer needed.
86580
86581 2004-01-15  Jim Meyering  <jim@meyering.net>
86582
86583         Merge from coreutils.
86584
86585         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86586         if no library is required.
86587         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86588         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86589         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86590         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86591         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86592         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86593         value, $ac_cv_search_crypt, if it's "none required".
86594         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86595         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86596         not gl_FUNC_GETLOADAVG.
86597         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86598         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86599
86600 2004-01-15  Jim Meyering  <jim@meyering.net>
86601
86602         Merge from coreutils.
86603
86604         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86605         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86606         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86607
86608         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86609         optional configure-time default.
86610
86611         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86612
86613         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86614
86615 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86616
86617         Merge from coreutils.
86618
86619         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86620         value, $ac_cv_search_nanosleep, if it's "none required".
86621
86622 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86623
86624         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86625         with like-named macro in fnmatch.c.
86626         (EXT): Use an internal constant instead.
86627
86628         Merge fnmatch patches from glibc.
86629         * lib/fnmatch.c (mbsinit): Remove define.
86630         Add libc_hidden_ver (__fnmatch, fnmatch).
86631         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86632         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86633
86634 2004-01-14  Karl Berry  <karl@gnu.org>
86635
86636         * config/install-sh: update from automake.
86637
86638 2004-01-13  Karl Berry  <karl@gnu.org>
86639
86640         * config/install-sh: update from automake.
86641
86642 2004-01-09  Karl Berry  <karl@gnu.org>
86643
86644         * config/install-sh: update from automake.
86645
86646 2004-01-05  Karl Berry  <karl@gnu.org>
86647
86648         * config/config.{sub,guess}: update from config.
86649
86650 2003-12-31  Karl Berry  <karl@gnu.org>
86651
86652         * config/depcomp: update from automake.
86653
86654 2003-12-14  Karl Berry  <karl@gnu.org>
86655
86656         * lib/config.charset: update from gettext-runtime.
86657
86658 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86659
86660         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86661         Bug reported by Alfred M. Szmidt.
86662
86663 2003-12-03  Bruno Haible  <bruno@clisp.org>
86664
86665         * m4/gettext.m4: Upgrade from gettext-0.13.
86666         * m4/po.m4: Upgrade from gettext-0.13.
86667         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86668         * m4/intmax.m4: New file, from gettext-0.13.
86669         * m4/printf-posix.m4: New file, from gettext-0.13.
86670
86671 2003-11-29  Karl Berry  <karl@gnu.org>
86672
86673         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86674
86675 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86676             Bruno Haible  <bruno@clisp.org>
86677
86678         * lib/printf-parse.h: Don't include sys/types.h.
86679         (ARG_NONE): New macro.
86680         (char_directive): Change type of *arg_index fields to size_t.
86681         * lib/printf-parse.c: Don't include sys/types.h.
86682         (SSIZE_MAX): Remove macro.
86683         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86684         Remove unnecessary overflow check.
86685         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86686         fields.
86687
86688 2003-11-25  Bruno Haible  <bruno@clisp.org>
86689
86690         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86691
86692 2003-11-25  Bruno Haible  <bruno@clisp.org>
86693
86694         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86695         gt_TYPE_SSIZE_T.
86696
86697 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86698
86699         * modules/alloca: Remove dependency on xalloc.
86700
86701 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86702
86703         * lib/alloca.c: Remove dependency on xalloc module.
86704         (xalloc_die): Remove.
86705         (memory_full) [!defined emacs]: New macro.
86706         [!defined emacs]: Don't include xalloc.h.
86707         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86708         address arithmetic overflows.  Change datatypes a bit to avoid
86709         unnecessary casts.
86710
86711 2003-11-22  Jim Meyering  <jim@meyering.net>
86712
86713         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86714         s/size/size_t/.
86715
86716 2003-11-21  Karl Berry  <karl@gnu.org>
86717
86718         * config/config.{sub,guess}: update from config.
86719
86720 2003-11-18  Karl Berry  <karl@gnu.org>
86721
86722         * config/config.{sub,guess}: update from config.
86723
86724         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86725
86726 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86727
86728         * README: Mention that S+T cannot overflow if S is the size of
86729         an existing object and T is sufficiently small.
86730
86731 2003-11-17  Jim Meyering  <jim@meyering.net>
86732
86733         On systems without utime and without a utimes function capable of
86734         dealing with a NULL struct utimbuf* argument, this utime replacement
86735         could -- in unusual circumstances -- leak a file descriptor.
86736         * lib/utime.c: Include <unistd.h> and <errno.h>.
86737         (utime_null): Be sure to close `fd' and to preserve errno.
86738         Reported by Geoff Collyer via Arnold Robbins.
86739
86740 2003-11-17  Bruno Haible  <bruno@clisp.org>
86741
86742         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86743         (Depends-on): Add xsize.
86744
86745 2003-11-17  Bruno Haible  <bruno@clisp.org>
86746
86747         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86748
86749 2003-11-17  Bruno Haible  <bruno@clisp.org>
86750
86751         * lib/vasnprintf.c (alloca): Remove fallback definition.
86752         (freea): Remove definition.
86753         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86754         Reported by Paul Eggert.
86755
86756 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86757             Bruno Haible  <bruno@clisp.org>
86758
86759         Protect against address arithmetic overflow.
86760         * lib/printf-args.h: Include stddef.h.
86761         (arguments): Change type of field 'count' to size_t.
86762         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86763         'unsigned int' where appropriate.
86764         * lib/printf-parse.h: Include sys/types.h.
86765         (char_directive): Change type of *arg_index fields to ssize_t.
86766         (char_directives): Change type of fields 'count', max_*_length to
86767         size_t.
86768         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86769         (SSIZE_MAX): Define fallback value.
86770         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86771         instead of 'int' where appropriate. Check a_allocated, d_allocated
86772         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86773         * lib/vasnprintf.c: Include xsize.h.
86774         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86775         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86776         overflow. Avoid wraparound when converting a width or precision from
86777         decimal to binary.
86778
86779 2003-11-16  Bruno Haible  <bruno@clisp.org>
86780
86781         Update from GNU gettext.
86782         * lib/printf-parse.c: Generalize to it can be compiled for wide
86783         strings.
86784         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86785         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86786         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86787         SNPRINTF): New macros.
86788         Don't include <alloca.h> if the file is used inside libintl.
86789         (local_wcslen): New function, for Solaris 2.5.1.
86790         (VASNPRINTF): Use it instead of wcslen.
86791
86792 2003-11-16  Bruno Haible  <bruno@clisp.org>
86793
86794         * lib/xsize.h (xmax): New function.
86795         (xsum, xsum3, xsum4): Declare as "pure" functions.
86796
86797 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86798
86799         * modules/xalloc (Files): Undo latest change, since xalloc.h
86800         no longer needs SIZE_MAX or PTRDIFF_MAX.
86801
86802 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86803
86804         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86805         gl_PTRDIFF_MAX.
86806
86807 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86808
86809         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86810         "return", to pacify some unknown compiler.  Problem reported
86811         by Joerg Schilling.
86812
86813 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86814
86815         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86816         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86817         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86818         heuristic is just as accurate as far as we know, and it removes a
86819         dependency on size_max.m4 and ptrdiff_max.m4.
86820
86821 2003-11-11  Bruno Haible  <bruno@clisp.org>
86822
86823         * modules/xsize (Files): Add m4/size_max.m4.
86824         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86825
86826 2003-11-11  Bruno Haible  <bruno@clisp.org>
86827
86828         * m4/size_max.m4: New file.
86829         * m4/ptrdiff_max.m4: New file.
86830         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86831         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86832         (gl_XALLOC): Invoke it.
86833
86834 2003-11-11  Bruno Haible  <bruno@clisp.org>
86835
86836         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86837         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86838         defined.
86839
86840 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86841
86842         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86843         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86844         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86845         From Bruno Haible.
86846         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86847         not (size_t) -1, since it's defined here.
86848
86849 2003-11-09  Karl Berry  <karl@gnu.org>
86850
86851         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86852
86853 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86854
86855         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86856         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86857         Reject sizes of exactly SIZE_MAX bytes.
86858         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86859         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86860
86861 2003-11-05  Bruno Haible  <bruno@clisp.org>
86862
86863         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86864         SIZE_MAX defined in <limits.h> on Solaris.
86865
86866 2003-11-04  Jim Meyering  <jim@meyering.net>
86867
86868         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86869         variable names, rather than @VAR@.
86870         * modules/poll: Likewise.
86871
86872 2003-11-04  Bruno Haible  <bruno@clisp.org>
86873
86874         * modules/xsize: New file.
86875         * modules/linebreak: Depend on xsize.
86876         * MODULES.html.sh (func_all_modules): Add xsize.
86877
86878 2003-11-04  Bruno Haible  <bruno@clisp.org>
86879
86880         * m4/xsize.m4: New file.
86881
86882 2003-11-04  Bruno Haible  <bruno@clisp.org>
86883
86884         * lib/xsize.h: New file.
86885         * lib/linebreak.c: Include xsize.h.
86886         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86887         argument for overflow.
86888         Suggested by Paul Eggert.
86889
86890 2003-11-03  Karl Berry  <karl@gnu.org>
86891
86892         * config/config.{guess,sub}: update from config.
86893
86894 2003-11-03  Jim Meyering  <jim@meyering.net>
86895
86896         * modules/userspec (lib_SOURCES): Add userspec.h.
86897         (Include): Add "userspec.h".
86898         Improve description.
86899
86900 2003-11-03  Jim Meyering  <jim@meyering.net>
86901
86902         * lib/userspec.c: Include "userspec.h".
86903         * lib/userspec.h: New file.
86904
86905 2003-11-03  Bruno Haible  <bruno@clisp.org>
86906
86907         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
86908
86909 2003-11-03  Bruno Haible  <bruno@clisp.org>
86910
86911         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
86912         available, to avoid (extremely rare) race condition.
86913         Suggested by Paul Eggert.
86914
86915 2003-11-02  Karl Berry  <karl@gnu.org>
86916
86917         * config/srclist.txt (vasprintf.c): sync broken, sigh.
86918
86919 2003-10-31  Paul Eggert  <eggert@twinsun.com>
86920
86921         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
86922         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
86923         (read_filesystem_list): Set and use me_type_malloced.
86924         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
86925         whatever the type happens to be), for brevity and consistency.
86926         Check for size calculation overflow on Alphas running OSF/1.
86927
86928 2003-10-31  Jim Meyering  <jim@meyering.net>
86929
86930         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
86931
86932         * lib/linebuffer.c: Include <string.h> for declaration of memset.
86933
86934 2003-10-30  Paul Eggert  <eggert@twinsun.com>
86935             Bruno Haible  <bruno@clisp.org>
86936
86937         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
86938         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
86939
86940 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
86941
86942         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
86943         netbsd*-gnu*.  Suggested by Robert Millan.
86944
86945 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86946
86947         * modules/group-member: Depend on stdbool.
86948
86949 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86950
86951         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
86952
86953 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86954
86955         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
86956         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
86957         after the 'gnu' in these cases.  This fixes some bugs in the
86958         previous change, and is based on suggestions by Robert Millan.
86959
86960 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86961
86962         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
86963         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
86964         no longer needed.
86965         * lib/quotearg.c (quotearg_n_options): Use it.
86966         * lib/group-member.c: Include <stdbool.h>.
86967         (free_group_info): Arg is now const *; don't free arg.
86968         (get_group_info): Now returns bool and accepts struct group_info *,
86969         rather than returning a malloc'ed struct group_info *.
86970         All uses changed.  Check for overflow in internal size calculation.
86971
86972         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
86973         rather than xmalloc/xrealloc.
86974         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
86975         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
86976         conformance bug: the old code used a pointer after freeing the
86977         storage that it addressed.
86978         * lib/hash.c (hash_initialize): Simplify the code by using
86979         xalloc_oversized rather than doing it by hand.
86980         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
86981         the buffer preserved.  Use free and xmalloc instead.
86982         * lib/quotearg.c (quotearg_n_options): Likewise.
86983         Use a simpler test for size overflow.  Don't use xalloc_oversized
86984         because unsigned int might be wider than size_t (!); this suggests
86985         that we should switch from unsigned int to size_t for slot numbers.
86986
86987 2003-10-28  Paul Eggert  <eggert@twinsun.com>
86988
86989         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
86990         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
86991         NetBSD kernels.  Requested by Richard Stallman.
86992
86993 2003-10-27  Paul Eggert  <eggert@twinsun.com>
86994
86995         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
86996         to allocate the returned structure.  Do not allocate a subarray,
86997         as x2nrealloc will do that.
86998         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
86999         instead of xnrealloc.
87000         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87001
87002 2003-10-27  Bruno Haible  <bruno@clisp.org>
87003
87004         * lib/stdbool_.h: Better support for BeOS.
87005
87006 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87007
87008         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87009         now uses inline.
87010
87011 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87012
87013         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87014         callers that want to do their own size-overflow checking.  Include
87015         <stdbool.h>, since xalloc_oversized returns bool.
87016         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87017         to use xalloc_oversized.
87018
87019         Add two functions x2realloc, x2nrealloc, for programs that grow
87020         arrays dynamically by doubling their sizes.
87021         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87022         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87023         New functions.
87024
87025         Port to C99 semantics for 'inline' of external functions.
87026         Bug reported by Bruno Haible.
87027         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87028         with the old contents of xnmalloc.
87029         (xnmalloc, xmalloc): Use it.
87030         (xnrealloc_inline): New static inline function,
87031         with the old contents of xnrealloc.
87032         (xnrealloc, xrealloc): Use it.
87033
87034         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87035         that.
87036
87037 2003-10-26  Karl Berry  <karl@gnu.org>
87038
87039         * config/srclist.txt (COPYING.DOC): no longer available from
87040         /gd/gnuorg; don't know where the ultimate source is.
87041
87042 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87043
87044         Fix several address-calculation bugs in the hash modules,
87045         plus some minor code cleanup.
87046
87047         * lib/hash.h: Include <stdbool.h>, for bool.
87048         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87049         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87050         hash_get_n_entries, hash_get_max_bucket_length,
87051         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87052         hash_rehash): Use size_t rather than unsigned.
87053         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87054         hash_get_n_buckets_used, hash_get_n_entries,
87055         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87056         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87057         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87058         Likewise.
87059         (SIZE_MAX): Define if not defined.
87060         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87061         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87062         hash_print):
87063         Use const * when possible.
87064         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87065         (check_tuning): Fix bug: if tuning parameters were very close to
87066         0 or 1, rounding errors could have caused subscript violations.
87067         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87068         (hash_initialize): Add 'fail:' label
87069         to free table and return NULL, and use it to simplify code.
87070         Use calloc rather than clearing the storage ourself.
87071         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87072         buffer size calculations.
87073         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87074         Include <stddef.h>, for size_t.
87075         * lib/hash-pjw.c (hash_pjw): Likewise.
87076         Switch to method described by Bruno Haible.
87077         Include <limits.h>, for CHAR_BIT.
87078         (SIZE_BITS): New macro.
87079
87080 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87081
87082         * m4/getline.m4 (AM_FUNC_GETLINE):
87083         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87084         hosts.  Problem reported by Derek Robert Price in
87085         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87086         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87087         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87088
87089 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87090
87091         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87092         ceiling the allocation at NMAX bytes rather than silently
87093         discarding input bytes before NMAX is reached.  This makes
87094         a difference only if NMAX exceeds SIZE_MAX / 2.
87095
87096         * lib/obstack.c: Merge from glibc.
87097         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87098         Add libc_hidden_def (_obstack_newchunk).
87099         (_obstack_free) [! defined _LIBC]: Remove.
87100         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87101         a clone of the function body.
87102         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87103         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87104
87105         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87106         glibc.
87107         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87108         arg to memcpy.
87109
87110         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87111         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87112         Don't use lvalue casts, as GCC plans to remove support for them
87113         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87114         was also present in the non-GCC version, indicating that this
87115         code had always been buggy and had never been widely used.
87116         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87117         Use the fast variant of each macro, rather than copying the
87118         definiens of the fast variant; that way, we'll be more likely to
87119         catch future bugs in the fast variants.
87120
87121 2003-10-20  Bruno Haible  <bruno@clisp.org>
87122
87123         * modules/wait-process: New file.
87124         * MODULES.html.sh (func_all_modules): Add wait-process.
87125
87126 2003-10-20  Bruno Haible  <bruno@clisp.org>
87127
87128         * m4/wait-process.m4: New file.
87129
87130 2003-10-20  Bruno Haible  <bruno@clisp.org>
87131
87132         * lib/wait-process.h: New file, from GNU gettext.
87133         * lib/wait-process.c: New file, from GNU gettext.
87134
87135 2003-10-19  Jim Meyering  <jim@meyering.net>
87136
87137         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87138         HPUX 10.20.
87139
87140 2003-10-18  Karl Berry  <karl@gnu.org>
87141
87142         * config/config.guess: update from config.
87143
87144 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87145
87146         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87147         (getgroups): First arg is int, not size_t.
87148         Don't let 'free' mangle errno.
87149
87150 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87151
87152         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87153
87154 2003-10-16  Karl Berry  <karl@gnu.org>
87155
87156         * config/config.{guess,sub}: update from config.
87157
87158 2003-10-16  Jim Meyering  <jim@meyering.net>
87159
87160         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87161         memcpy.
87162
87163 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87164
87165         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87166         (SIZE_MAX): Remove.
87167         (new_exclude, add_exclude_file): Initial size no longer needs to
87168         be a power of 2.
87169         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87170         our own address arithmetic overflow checking.
87171
87172         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87173         (fnmatch): Do not alloca more than 2000 wide characters;
87174         instead, use malloc for large buffers.
87175         Check for address arithmetic overflow, and return -1
87176         with errno set to ENOMEM in that case.
87177         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87178         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87179         instead, return -1.  Check for address arithmetic overflow.
87180
87181 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87182
87183         Handle invalid suffixes and overflow independently, so that
87184         callers can treat them independently as needed.  Fix some bugs in
87185         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87186         suffix for a human-readable blocksize.  The major caller-visible
87187         change is the addition of a new
87188         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87189         that both overflow and suffix chars were found.
87190
87191         * lib/human.c (humblock): Don't check separately for invalid suffix
87192         char; that is xstrtoumax's job (now that its bug is fixed).
87193         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87194         INTMAX_MAX]: New macros.
87195         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87196         TYPE_MAXIMUM): New macros.
87197         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87198         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87199         if overflow occurs, as it's what __strtol does and it's more useful
87200         in practice.
87201         (__xstrtol): If __strtol reports some error other than ERANGE,
87202         reflect it to the caller as LONGINT_INVALID.  If it reports
87203         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87204         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87205         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87206         value.
87207         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87208         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87209         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87210         [defined UINTMAX_MAX]: New macros.
87211
87212 2003-10-14  Bruno Haible  <bruno@clisp.org>
87213
87214         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87215
87216 2003-10-14  Bruno Haible  <bruno@clisp.org>
87217
87218         * m4/sig_atomic_t: New file, from GNU gettext.
87219         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87220
87221 2003-10-14  Bruno Haible  <bruno@clisp.org>
87222
87223         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87224         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87225         Also use volatile where needed.
87226
87227 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87228
87229         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87230         Change maintainer from Bruno Haible to 'all'.
87231
87232 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87233
87234         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87235
87236 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87237
87238         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87239         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87240         and define in terms of the other primitives.
87241         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87242         (SIZE_MAX): Define if not already defined.
87243         (array_size_overflow): New function.
87244         (xalloc_die): Abort instead of exiting if 'error' returns.
87245         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87246         (xmalloc, xrealloc): Use them.
87247         (xcalloc): Check for address arithmetic overflow.
87248         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87249         a bit faster than strcpy.
87250
87251 2003-10-10  Simon Josefsson  <jas@extundo.com>
87252
87253         * modules/argp (Depends-on): Add restrict and strcase.
87254
87255 2003-10-10  Simon Josefsson  <jas@extundo.com>
87256
87257         * m4/argp.m4: Add AC_C_INLINE.
87258
87259 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87260
87261         Merge getpass from libc, plus a few fixes.
87262
87263         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87264         Include <stdbool.h>.
87265         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87266         __fsetlocking to empty.
87267         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87268         do include <bits/libc-lock.h>.
87269         Do not include <fcntl.h>; not needed.
87270         [_LIBC]: Include <wchar.h>.
87271         (NOTCANCEL_MODE): New macro.
87272         (flockfile, funlockfile) [_LIBC]: New macros.
87273         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87274         [!_LIBC]: New macros.
87275         (call_fclose): New function.
87276         (getpass): Use it.  Save tty stream separately; this simplifies the
87277         code and makes it more reliable if stdin happens to equal stdout.
87278         Invoke __fsetlocking on tty.
87279         Handle thread cancellation if needed.
87280         Namespace cleanup (use __tcgetattr, __getline).
87281         Use bool for Booleans.
87282         [USE_IN_LIBIO]: Handle wide streams.
87283         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87284         stream might go where.
87285
87286         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87287         doesn't have to include <stdio.h> before us.
87288         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87289         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87290         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87291         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87292         if not declared, so that we can use getpass.c code from libc without
87293         rewriting it.
87294         (flockfile, ftrylockfile, funlockfile): New macros.
87295
87296 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87297
87298         * modules/getpass: Depend on stdbool.
87299
87300 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87301
87302         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87303
87304 2003-10-07  Karl Berry  <karl@gnu.org>
87305
87306         * config/config.{guess,sub}: update from config.
87307
87308 2003-10-06  Jim Meyering  <jim@meyering.net>
87309             Bruno Haible  <bruno@clisp.org>
87310
87311         This lets translators provide better translations for the
87312         "Written by ..." part of --version output.
87313         * lib/version-etc.h: Include stdarg.h.
87314         (version_etc_copyright): Declare as readonly.
87315         (version_etc): Make this function variadic with a NULL-terminated list
87316         of author name strings.
87317         (version_etc_va): New declaration.
87318         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87319         (version_etc_copyright): Declare as readonly.
87320         (version_etc_va): New function. Provide a different translatable string
87321         for each possible number of authors < 10. Abbreviate when there are 10
87322         authors or more.
87323         (version_etc): Make this function variadic. Call version_etc_va.
87324         Suggestion from Gary V. Vaughan.
87325
87326         * lib/long-options.h (parse_long_options): Change prototype: the
87327         authors string is moved to the end and becomes variadic.
87328         * lib/long-options.c: Include stdarg.h.
87329         (parse_long_options): Make this function variadic, too.
87330         Call version_etc_va, not version_etc.
87331
87332 2003-10-06  Bruno Haible  <bruno@clisp.org>
87333
87334         * modules/version-etc-2: Remove file.
87335         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87336
87337 2003-10-06  Bruno Haible  <bruno@clisp.org>
87338
87339         * modules/fatal-signal: New file.
87340         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87341
87342 2003-10-06  Bruno Haible  <bruno@clisp.org>
87343
87344         * m4/fatal-signal.m4: New file.
87345         * m4/signalblocking.m4: New file, from GNU gettext.
87346
87347 2003-10-06  Bruno Haible  <bruno@clisp.org>
87348
87349         * lib/version-etc-2.h: Remove file.
87350         * lib/version-etc-2.c: Remove file.
87351
87352 2003-10-06  Bruno Haible  <bruno@clisp.org>
87353
87354         * lib/fatal-signal.h: New file, from GNU gettext.
87355         * lib/fatal-signal.c: New file, from GNU gettext.
87356
87357 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87358
87359         * README: Rework advice for preventing empty .o files.
87360         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87361         not <sys/types.h>.
87362
87363 2003-10-04  Karl Berry  <karl@gnu.org>
87364
87365         * lib/argp*: update from libc.
87366
87367 2003-10-04  Karl Berry  <karl@gnu.org>
87368
87369         * config/config.{guess,sub}: update from config.
87370
87371 2003-10-02  Bruno Haible  <bruno@clisp.org>
87372
87373         * modules/lchown (Include): Add lchown.h.
87374         * modules/time_r (Include): Use "..." syntax.
87375         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87376
87377 2003-10-01  Simon Josefsson  <jas@extundo.com>
87378
87379         * MODULES.html.sh (func_all_modules): Move gethostname from section
87380         'based on' to section 'lacking' POSIX:2001.
87381
87382 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87383
87384         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87385         to output mode on the same stream.
87386
87387 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87388
87389         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87390         Fix arg typo in previous patch.
87391
87392 2003-09-28  Jim Meyering  <jim@meyering.net>
87393
87394         * lib/error.c: Correct cpp indentation.
87395
87396 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87397
87398         * modules/free: New file.
87399
87400 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87401
87402         * m4/free.m4: New file.
87403
87404 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87405
87406         * lib/minmax.h (MIN, MAX)
87407         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
87408         Omit the special code that used __typeof__, since we worry that
87409         it could be more trouble than it's worth.  See:
87410         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
87411         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
87412
87413         * lib/free.c: New file.
87414
87415 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
87416
87417         Trivial fixes to Makefile.am parts of module listings.
87418         * modules/strstr: Append strstr.h to lib_SOURCES.
87419         * modules/strcase: Likewise, for strcase.h.
87420
87421 2003-09-27  Karl Berry  <karl@gnu.org>
87422
87423         * config/mkinstalldirs: update from automake.
87424
87425 2003-09-26  Paul Eggert  <eggert@twinsun.com>
87426
87427         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
87428         (error_tail): Do not loop, reallocating temporary buffer, since
87429         the output cannot contain more wide characters than the input
87430         contains bytes, the size must be big enough already.  This avoids
87431         one potential size overflow calculation.  Check for size overflow
87432         when calculating temporary buffer size.  Free temporary buffer
87433         when done, if it was allocated with malloc; this plugs a memory
87434         leak.  Remove casts from void * to pointers, that are no longer
87435         needed now that we're assuming C89 or better.
87436
87437         Merge error changes from glibc.
87438
87439         * lib/error.c, error.h: Update copyright notice header to match glibc.
87440         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
87441         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
87442         Disable cancellation while printing error.
87443         * lib/error.h: Prepend __ to parameter names.
87444
87445 2003-09-26  Jim Meyering  <jim@meyering.net>
87446
87447         * lib/error.c (error_tail): Move some declarations
87448         into inner scope where the local variables are used.
87449
87450 2003-09-26  Bruno Haible  <bruno@clisp.org>
87451
87452         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
87453         stpncpy().
87454         Don't define stpncpy through config.h; it's now done through stpncpy.h.
87455
87456 2003-09-26  Bruno Haible  <bruno@clisp.org>
87457
87458         * lib/stpncpy.h (gnu_stpncpy): New declaration.
87459         (stpncpy): Define as alias for gnu_stpncpy.
87460         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
87461
87462 2003-09-25  Simon Josefsson  <jas@extundo.com>
87463
87464         * lib/xgetdomainname.h: New file.
87465         * lib/xgetdomainname.c: New file.
87466
87467 2003-09-25  Simon Josefsson  <jas@extundo.com>
87468             Bruno Haible  <bruno@clisp.org>
87469
87470         * modules/getdomainname: New file.
87471         * modules/xgetdomainname: New file.
87472         * MODULES.html.sh (func_all_modules): Add getdomainname,
87473         xgetdomainname.
87474
87475 2003-09-25  Simon Josefsson  <jas@extundo.com>
87476             Bruno Haible  <bruno@clisp.org>
87477
87478         * m4/getdomainname.m4: New file.
87479
87480 2003-09-25  Simon Josefsson  <jas@extundo.com>
87481             Bruno Haible  <bruno@clisp.org>
87482
87483         * lib/getdomainname.h: New file.
87484         * lib/getdomainname.c: New file.
87485
87486 2003-09-25  Karl Berry  <karl@gnu.org>
87487
87488         * lib/argp-fmtstream.c, argp-help.c: update from libc.
87489
87490 2003-09-25  Karl Berry  <karl@gnu.org>
87491
87492         * config/install-sh: update from automake.
87493
87494 2003-09-25  Bruno Haible  <bruno@clisp.org>
87495
87496         * modules/version-etc-2: New file, from modules/version-etc with
87497         modifications.
87498         * MODULES.html.sh (func_all_modules): Add version-etc-2.
87499
87500 2003-09-25  Bruno Haible  <bruno@clisp.org>
87501
87502         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
87503         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
87504
87505 2003-09-24  Simon Josefsson  <jas@extundo.com>
87506
87507         * modules/xgethostname: Add xgethostname.h.
87508
87509 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87510
87511         * lib/linebuffer.c (freebuffer): Don't free the argument, just
87512         the buffer associated with the argument.  Bug reported by
87513         Simon Josefsson.
87514
87515 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87516
87517         * README: Document assumptions that 'int' is at least 32 bits
87518         wide, that integer arithmetic is 2's complement without overflow,
87519         that there are no holes in integer values, that adding sizes of
87520         two nonoverlapping objects can't overflow, and that all-bits-zero
87521         yields scalar zero.  Fix spelling and capitalization typos.
87522
87523 2003-09-19  Karl Berry  <karl@gnu.org>
87524
87525         * lib/argp.h: update from libc.
87526
87527 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87528
87529         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
87530         to avoid spurious warnings like "AC_RUN_IFELSE was called before
87531         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
87532
87533 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87534
87535         * gnulib-tool: Use "test -h", not "test -L", for portability
87536         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87537         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87538         (sed_extract_prog): Issue s commands one-by-one, rather than
87539         using \| in one s command.
87540
87541 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87542
87543         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87544         input error, instead of returning NULL the next time we are called
87545         (and therefore losing track of errno).
87546
87547 2003-09-16  Bruno Haible  <bruno@clisp.org>
87548
87549         * gnulib-tool (func_create_testdir): Warn about duplicated
87550         dependencies.
87551
87552 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87553
87554         * modules/argmatch, modules/fatal, modules/obstack,
87555         modules/xalloc, modules/xgethostname: Sort dependencies by
87556         importance, not alphabetically.
87557
87558 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87559
87560         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87561         fails, so that the caller gets the proper errno.
87562
87563         * lib/readutmp.c (read_utmp): Likewise.
87564         Check for fstat error.  Close stream and free storage
87565         when failing.
87566
87567 2003-09-14  Karl Berry  <karl@gnu.org>
87568
87569         * config/srclist.txt (strdup.c): disable for c89 changes.
87570
87571 2003-09-14  Jim Meyering  <jim@meyering.net>
87572
87573         * lib/getloadavg.c: Correct cpp indentation.
87574         * lib/strdup.c: Likewise.
87575         * lib/vasnprintf.c: Likewise.
87576
87577 2003-09-14  Bruno Haible  <bruno@clisp.org>
87578
87579         * modules/fwriteerror: New file.
87580         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87581
87582 2003-09-14  Bruno Haible  <bruno@clisp.org>
87583
87584         * lib/fwriteerror.h: New file.
87585         * lib/fwriteerror.c: New file.
87586
87587 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87588
87589         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87590         modules/xgethostname, modules/xalloc: Depend on exit.
87591
87592 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87593
87594         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87595
87596         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87597         and AC_MINIX, too, so that their extensions are available.
87598
87599         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87600         This macro has been superseded by gl_BACKUPFILE.
87601
87602         More patches to assume C89 or better.
87603
87604         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87605
87606         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87607         unconditionally.
87608         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87609         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87610         Include <string.h>, <stdlib.h> unconditionally.
87611         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87612         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87613         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87614         headers or for string.h.
87615         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87616         or strtoul.
87617
87618         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87619         headers.
87620         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87621         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87622         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87623         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87624         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87625         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87626         memcpy, memset.
87627         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87628         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87629         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87630         strtol.
87631         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87632         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87633         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87634         strtoul.
87635
87636 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87637
87638         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87639         * lib/obstack.c [!defined _LIBC]: Likewise.
87640         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87641         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87642         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87643
87644         More changes to assume C89 or better.
87645
87646         * lib/error.c (error_tail): Assume vprintf.
87647
87648         * lib/argmatch.c (getenv): Remove decl.
87649         * lib/progreloc.c (get_full_program_name): Define via prototype.
87650         * lib/setenv.c (clearenv): Likewise.
87651         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87652         needed.
87653         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87654         (malloc, memcpy): Remove decls.
87655         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87656         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87657         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87658         (memcpy): Remove macro.
87659         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87660         (__P): Remove.  All uses removed.
87661         (PTR): Remove.  All uses changed to void *.
87662         (CHAR_BIT, NULL): Remove.
87663         (spaces, zeros, memset_space, memset_zero)
87664         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87665         Remove.
87666         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87667         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87668         Define with prototype.
87669         Remove now-unnecessary prototype decl.
87670         (extra_args_spec): Assume ANSI C.  All uses changed.
87671         (extra_args_spec_iso): Remove.
87672         (my_strftime, emacs_strftimeu): Define via prototype.
87673         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87674         unconditionally.
87675         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87676         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87677         (strtoul, strtol): Remove decls.
87678         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87679         LONG_MAX): Remove.
87680         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87681         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87682         (LOCALE_PARAM_PROTO): New macro.
87683         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87684         (INTERNAL (strtol), strtol): Define with a prototype.
87685         (PARAMS): Remove.  All uses removed.
87686         * lib/tempname.c: Include <string.h> unconditionally.
87687         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87688         * lib/xgethostname.c (main): Define with a prototype.
87689         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87690         Include <stdlib.h> unconditionally.
87691         (calloc, malloc, realloc, free): Remove decls.
87692         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87693         Include <stdlib.h> unconditionally.  Sort include file names.
87694         (strtod): Remove.
87695         (xstrtod): Define with a prototype.
87696         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87697         (strtol, strtoul): Remove decls.
87698
87699 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87700
87701         More patches to assume C89 or better.
87702         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87703         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87704         string.h, memchr, STDC_HEADERS.
87705
87706 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87707
87708         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87709         Include <stdlib.h>, <string.h> unconditionally.
87710         Remove now-unnecessary cast to char *.
87711         * lib/strnlen.c: Include <string.h> unconditionally.
87712         * lib/yesno.c (yesno): Define with a prototype.
87713
87714 2003-09-11  Bruno Haible  <bruno@clisp.org>
87715
87716         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87717
87718 2003-09-10  Jim Meyering  <jim@meyering.net>
87719
87720         * lib/error.c: Correct indentation of cpp directives.
87721
87722 2003-09-10  Bruno Haible  <bruno@clisp.org>
87723
87724         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87725         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87726         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87727         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87728         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87729         <stdlib.h> and <string.h> checks.
87730         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87731         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87732
87733 2003-09-10  Bruno Haible  <bruno@clisp.org>
87734
87735         * lib/strcspn.c: Include <string.h> unconditionally.
87736         * lib/strpbrk.c: Include <string.h> unconditionally.
87737         * lib/strstr.c: Include <string.h> unconditionally.
87738         * lib/unicodeio.c: Include <string.h> unconditionally.
87739         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87740         * lib/unsetenv.c: Likewise.
87741         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87742         * lib/yesno.c: Include <stdlib.h> unconditionally.
87743         (rpmatch): Add prototype.
87744
87745 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87746
87747         More patches to assume C89 or better.
87748         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87749         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87750         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87751         or for string.h.
87752         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87753         stdlib.h.
87754         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87755         C headers.
87756         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87757         string.h.
87758         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87759         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87760         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87761         or for string.h.
87762         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87763         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87764         C headers.
87765         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87766         memcpy.
87767         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87768         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87769         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87770         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87771         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87772         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87773         string.h, free.
87774         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87775         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87776         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87777         C headers, or for string.h.
87778         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87779         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87780         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87781         headers, memory.h, stdlib.h, string.h, strings.h.
87782         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87783         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87784         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87785         strchr.
87786         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87787         headers, memory.h, string.h.
87788         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87789         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87790         free.
87791         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87792         headers.
87793         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87794         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87795         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87796         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87797         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87798
87799 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87800
87801         More K&R removal.
87802
87803         * lib/acosl.c (main): Use a prototype.
87804         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87805         tanl.c: Likewise.
87806
87807         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87808
87809         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87810         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87811         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87812         with a prototype.
87813         * lib/getopt.c (const): Remove macro.
87814         Include <string.h> unconditionally.
87815         (my_index): Remove; all uses changed to strchr.
87816         (strlen): Remove decl.
87817         (exchange): Remove forward decl; no longer needed.
87818         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87819         Define with prototype.
87820         * lib/getopt1.c (const): Remove macro.
87821         (getopt_long, getopt_long_only, main): Define with prototype.
87822
87823         * lib/getugroups.c: Include <string.h> unconditionally.
87824
87825         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87826         (getusershell, setusershell, endusershell, readname, main):
87827         Define with prototypes.
87828
87829         * lib/group-member.c: Include group-member.h first.
87830         Include <stdlib.h> unconditionally.
87831
87832         * lib/hard-locale.c: Include hard-locale.h first.
87833         Include <stdlib.h>, <string.h> unconditionally.
87834
87835         * lib/hash.c (free, malloc): Remove decls.
87836         Include <stdlib.h> unconditionally.
87837
87838         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87839         (getenv): Do not declare.
87840
87841         * lib/idcache.c: Include <string.h> unconditionally.
87842
87843         * lib/long-options.c: Include long-options.h first, to test interface.
87844         Include <stdlib.h> unconditionally.
87845
87846         * lib/makepath.c: Include makepath.h first, to test interface.
87847         Include <stdlib.h> and <string.h> unconditionally.
87848
87849         * lib/linebuffer.c: Include <stdlib.h>.
87850         (free): Remove decl.
87851
87852         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87853         stddef.h. rpl_malloc returns void *, not char *.
87854         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87855         prototype.
87856
87857         * lib/md5.h: Include <limits.h> unconditionally.
87858         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87859         (__P): Remove; all uses removed.
87860         * lib/md5.c: Include "md5.h" first.
87861         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87862         md5_buffer, md5_process_bytes, md5_process_block):
87863         Define with prototypes.
87864         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87865         * lib/sha.c: Include "sha.h" first.
87866         Include <stdlib.h>, <string.h> unconditionally.
87867
87868         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87869         * lib/memcmp.c (__ptr_t): Likewise.
87870         * lib/memrchr.c (__ptr_t): Likewise.
87871         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87872         Include <string.h> unconditionally.
87873         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87874         * lib/memchr.c: Include <stdlib.h> unconditionally.
87875         * lib/memchr.c (LONG_MAX): Remove.
87876         * lib/memrchr.c (LONG_MAX): Likewise.
87877         * lib/memchr.c (__memchr): Define via a prototype.
87878         * lib/memrchr.c (__memrchr): Likewise.
87879         * lib/memcmp.c (__P): Remove, and remove all uses.
87880         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87881         Remove forward decls; no longer needed.
87882         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87883         Use types required by C89 in prototype.
87884
87885         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87886         * lib/savedir.c: Likewise.
87887         * lib/mkdir.c (free): Remove decl.
87888         * lib/rmdir.c (rmdir): Define with a prototype.
87889         * lib/savedir.c: Include savedir.h first, to test interface.
87890
87891         * lib/mktime.c (STDC_HEADERS): Remove.
87892         Include <stdlib.h>, <string.h> unconditionally.
87893
87894         * lib/modechange.c: Include <stdlib.h> unconditionally.
87895         (malloc): Remove decl.
87896
87897         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87898         (free): Remove decl.
87899
87900         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87901         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87902         (This type really should be intptr_t, but that's a C99ism.)
87903         (_obstack_memcpy): Remove: all uses changed to memcpy.
87904         Include <string.h> unconditionally.
87905         (struct obstack): Assume __STDC__ for types of members
87906         chunkfun, freefun, extra_arg.
87907         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
87908         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
87909         obstack_begin, obstack_specify_allocation,
87910         obstack_specify_allocation_with_arg, obstack_chunkfun,
87911         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
87912         Remove unprototyped decls and the macros that use them.
87913         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
87914         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
87915         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
87916         (defined __STDC__ && __STDC__)]:
87917         Remove nonprototyped code.
87918         Include <stdlib.h> unconditionally.
87919         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
87920         _obstack_allocated_p, _obstack_free, obstack_free,
87921         _obstack_memory_used, print_and_abort):
87922         Define using prototypes.
87923         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
87924         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
87925         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
87926         obstack_next_free, obstack_object_size, obstack_room) [0]:
87927         Remove unused, unprototyped code.
87928
87929         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
87930
87931         * lib/physmem.c (physmem_total, physmem_available, main): Define
87932         with prototypes.
87933
87934         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
87935         (main): Define with a prototype.
87936
87937         * lib/posixver.c (getenv): Remove decl.
87938
87939         * lib/putenv.c (malloc): Returns void *, not char *.
87940         Include <string.h> unconditionally.
87941         (strchr, memcpy, NULL): Do not define.
87942
87943         * lib/readtokens.c: Include readtokens.h first, to test interface.
87944         Include <stdlib.h>, <string.h> unconditionally.
87945         (init_tokenbuffer): Define with a prototype.
87946
87947         * lib/regex.c (PARAMS): Remove.  All uses removed.
87948         All uses of _RE_ARGS removed, too.
87949         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87950         unconditionally.
87951         (bzero): Assume memset exists.
87952         (memcmp, memcpy, NULL): Remove.
87953         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
87954         char, or assignments to local vars of type signed char.
87955         (init_syntax_once, PREFIX(extract_number_and_incr),
87956         PREFIX(print_partial_compiled_pattern),
87957         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
87958         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
87959         PREFIX(regex_grow_registers), PREFIX(regex_compile),
87960         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
87961         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
87962         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
87963         wcs_compile_range, byte_compile_range, truncate_wchar,
87964         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
87965         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
87966         count_mbs_length, wcs_re_match_2_internal,
87967         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
87968         PREFIX(alt_match_null_string_p),
87969         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
87970         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
87971         regfree, PREFIX(extract_number)): Define with prototype.  Remove
87972         now-unnecessary declaration, if any.
87973         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
87974         regcomp, regexec):
87975         Remove now-unnecessary casts among pointer types.
87976         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
87977
87978         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
87979         (free): Remove decl.
87980
87981         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
87982
87983         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
87984         (free): Remove decl.
87985
87986         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
87987         * lib/xgetcwd.c: Likewise.
87988
87989         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
87990         (free): Remove decl.
87991
87992         * lib/strchrnul.c (strchrnul): Define with a prototype.
87993         Fix bug: c_in was not converted to char before searching.
87994
87995         The following changes are not K&R related:
87996
87997         * lib/group-member.h: Include <sys/types.h>, so that this file is
87998         self-contained.
87999         * lib/makepath.h: Likewise.
88000
88001         * lib/getusershell.c (readname, default_index, line_size, readname):
88002         Use size_t, not int, for sizes.
88003         (readname): If the size overflows, report an error instead of
88004         looping forever.
88005
88006 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88007
88008         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88009         libc.
88010
88011 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88012
88013         * README: New section: portability guidelines.
88014
88015 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88016
88017         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88018         C89 spec.
88019
88020 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88021
88022         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88023
88024 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88025
88026         Assume C89 or better; remove K&R cruft.
88027         A few of these changes were first proposed by Derek Robert Price
88028         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88029
88030         * lib/addext.c: Include <string.h> unconditionally.
88031         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88032         Don't declare getenv or malloc.
88033
88034         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88035         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88036         (NULL): Remove.
88037         (find_stack_direction, alloca): Use prototypes.
88038
88039         * lib/atexit.c (atexit): Define using a prototype.
88040
88041         * lib/basename.c, dirname.c, stripslash.c:
88042         Include <string.h> unconditionally.
88043
88044         * lib/bcopy.c: Include <stddef.h>.
88045         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88046
88047         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88048
88049         * lib/error.h (error, error_at_line, error_print_progname)
88050         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88051         * lib/error.c: Include error.h first, to check interface.
88052         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88053         (VA_START): Remove; all uses changeed to va_start.
88054         (exit, strerror): Remove decls.
88055         (error_print_progname): Prototype uncondionally.
88056         Don't include <errno.h>; no longer needed.
88057         (private_strerror): Remove.
88058         (error_tail): Always define.
88059         (error, error_at_line): Assume C89 or better; always use prototypes.
88060         * lib/fatal.c: Include "fatal.h" first, to test interface.
88061         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88062         (VA_START): Remove; all uses changed to va_start.
88063         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88064         this case.
88065         (exit): Remove decl.
88066         (fatal): Prototype unconditionally.  Assume va_start works.
88067         Abort at end, to pacify gcc.
88068
88069         * lib/euidaccess.c (main): Define with a prototype.
88070
88071         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88072
88073         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88074
88075         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88076         prototypes.
88077         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88078         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88079         (getenv): Remove decl.
88080         (fnmatch): Define using a prototype.
88081         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88082         (FCT): Define using a prototype.
88083
88084         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88085
88086         * lib/gethostname.c: Include <stddef.h>.
88087         (gethostname): Define with prototype.  Length is size_t, not int.
88088
88089 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88090
88091         Assume C89 or better; remove K&R cruft.
88092         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88093         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88094         string.h, getenv, malloc.
88095         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88096         headers.
88097         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88098         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88099         do not check for strerror.
88100         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88101         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88102         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88103         do not check for doprnt or vprintf.
88104         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88105         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88106
88107 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88108
88109         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88110         getversion.c should have been removed then, but was accidentally
88111         preserved.
88112
88113         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88114         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88115
88116 2003-09-08  Karl Berry  <karl@gnu.org>
88117
88118         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88119                 config, forget about prep.
88120
88121         * config/depcomp, missing: update from automake.
88122
88123 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88124
88125         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88126         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88127
88128 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88129
88130         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88131         copy_tm_result.  Bug reported by Simon Josefsson in
88132         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88133
88134 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88135
88136         * m4/time_r.m4: New file.
88137         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88138         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88139         is. Check for timegm declaration.
88140         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88141         Do not check for gmtime_r.
88142         Replace mktime if __mktime_internal does not exist and if mktime
88143         hasn't been replaced already.
88144
88145 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88146
88147         * lib/time_r.c, lib/time_r.h: New files.
88148
88149         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88150         __localtime_r.
88151         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88152         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88153
88154         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88155         __gmtime_r.
88156         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88157         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88158         Include <time_r.h>.
88159
88160         * lib/timegm.c: Switch to glibc implementation, with the following
88161         changes:
88162         [defined HAVE_CONFIG_H]: Include <config.h>.
88163         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88164         (__mktime_internal) [!defined _LIBC]: New decl.
88165         (__gmtime_r) [!defined _LIBC]: New macro and function.
88166         (timegm): Use a prototype, since gnulib assumes C89.
88167         Do not bother declaring tmp to be const, as it's not really usefu.
88168         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88169         (timegm): Declare only if HAVE_DECL_TIMEGM.
88170
88171 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88172
88173         * MODULES.html.sh (func_all_modules): Add time_r.
88174         * modules/time_r: New file.
88175         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88176         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88177
88178 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88179
88180         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88181         Bug reported by Lute Kamstra in
88182         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88183
88184         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88185         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88186         course with correspondingly smaller numbers for tomorrow and
88187         yesterday.  From Tadayoshi Funaba.  Originally installed into
88188         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88189         coreutils merge?).
88190
88191 2003-08-31  Simon Josefsson  <jas@extundo.com>
88192
88193         * modules/timegm: New file.
88194         * MODULES.html.sh (func_all_modules): Add timegm.
88195
88196 2003-08-31  Simon Josefsson  <jas@extundo.com>
88197
88198         * m4/timegm.m4: New file.
88199
88200 2003-08-31  Simon Josefsson  <jas@extundo.com>
88201
88202         * lib/timegm.h: New file.
88203         * lib/timegm.c: New file.  Based on
88204         wget-1.8.2/src/http.c:mktime_from_utc.
88205
88206 2003-08-31  Karl Berry  <karl@gnu.org>
88207
88208         * lib/argp.h: update from libc.
88209
88210 2003-08-28  Bruno Haible  <bruno@clisp.org>
88211
88212         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88213         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88214         followed by '#define fnmatch fnmatch_posix' gives an error.
88215
88216 2003-08-28  Bruno Haible  <bruno@clisp.org>
88217
88218         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88219         warning on QNX, which defines O_BINARY to 000000.
88220
88221 2003-08-27  Jim Meyering  <jim@meyering.net>
88222
88223         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88224         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88225         would fail after 32.  Reported by Danny Levinson.  Details here:
88226         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88227
88228 2003-08-24  Bruno Haible  <bruno@clisp.org>
88229
88230         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88231         MSVC7 <stdio.h> is included later.
88232
88233 2003-08-22  Simon Josefsson  <jas@extundo.com>
88234
88235         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88236
88237 2003-08-20  Karl Berry  <karl@gnu.org>
88238
88239         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88240
88241 2003-08-20  Bruno Haible  <bruno@clisp.org>
88242
88243         * modules/progname: New file.
88244         * MODULES.html.sh (func_all_modules): Add progname.
88245
88246 2003-08-20  Bruno Haible  <bruno@clisp.org>
88247
88248         * lib/progname.h: New file, from GNU gettext.
88249         * lib/progname.c: New file, from GNU gettext.
88250         * lib/progreloc.c: New file, from GNU gettext.
88251
88252 2003-08-19  Jim Meyering  <jim@meyering.net>
88253
88254         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88255         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88256
88257 2003-08-19  Bruno Haible  <bruno@clisp.org>
88258
88259         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88260         more.
88261
88262 2003-08-19  Bruno Haible  <bruno@clisp.org>
88263
88264         * lib/xstrdup.c: Assume <string.h> exists.
88265
88266 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88267
88268         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88269         in makefile rules.
88270
88271 2003-08-18  Jim Meyering  <jim@meyering.net>
88272
88273         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88274         * m4/lib-ld.m4: Likewise.
88275
88276 2003-08-18  Jim Meyering  <jim@meyering.net>
88277
88278         * lib/setenv.h: Indent nested cpp directive.
88279         * lib/vasnprintf.c: Remove trailing blanks.
88280
88281 2003-08-17  Simon Josefsson  <jas@extundo.com>
88282
88283         * modules/xstrndup: New file.
88284         * MODULES.html.sh (func_all_modules): Add xstrndup.
88285
88286 2003-08-17  Simon Josefsson  <jas@extundo.com>
88287
88288         * modules/argp: Fix autoconf macro name. Add more dependencies.
88289
88290 2003-08-17  Simon Josefsson  <jas@extundo.com>
88291
88292         * m4/xstrndup.m4: New file.
88293
88294 2003-08-17  Simon Josefsson  <jas@extundo.com>
88295
88296         * m4/argp.m4: New file.
88297
88298 2003-08-17  Simon Josefsson  <jas@extundo.com>
88299             Bruno Haible  <bruno@clisp.org>
88300
88301         * lib/xstrndup.h: New file.
88302         * lib/xstrndup.c: New file.
88303
88304 2003-08-17  Bruno Haible  <bruno@clisp.org>
88305
88306         * modules/strndup (Files, Include): Add lib/strndup.h.
88307
88308 2003-08-17  Bruno Haible  <bruno@clisp.org>
88309
88310         * modules/euidaccess (Files): Add lib/euidaccess.h.
88311
88312 2003-08-17  Bruno Haible  <bruno@clisp.org>
88313
88314         * lib/strndup.h: New file.
88315
88316 2003-08-17  Bruno Haible  <bruno@clisp.org>
88317
88318         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88319         like AC_GNU_SOURCE.
88320         * modules/extensions (configure.ac): Comment out the invocation of
88321         gl_USE_SYSTEM_EXTENSIONS.
88322
88323 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88324
88325         Merges from coreutils, etc.
88326         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88327         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88328         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88329         fixing a typo.
88330         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88331         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88332
88333 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88334
88335         Document merge from coreutils.
88336         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88337         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88338         * modules/utime: Add m4/utimes-null.m4.
88339
88340 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88341
88342         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88343         space, undoing this 2003-08-12 change:
88344         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88345
88346 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88347
88348         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88349         strtoul.c from libc, undoing this 2003-08-12 change:
88350         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88351
88352 2003-08-16  Jim Meyering  <jim@meyering.net>
88353
88354         Merges from coreutils.
88355         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88356         prefix.  Adjust cache variables similarly.  Create 500 rather than
88357         just 300 files, to exercise bug on Darwin6.5, too.
88358         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88359         $missing_dir.
88360         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88361         AM_SYS_POSIX_TERMIOS.
88362         Reported by mkc@mathdogs.com.
88363         Also change use of $am_cv_sys_posix_termios
88364         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88365         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88366         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88367         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88368         in /proc/mounts until it finds one with matching device number.  This
88369         is unnecessary when the FILE argument *is* a mount point.  No stat call
88370         is necessary in that case.  So, disable the statvfs-testing code on
88371         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88372         as RedHat bug# 84846.
88373         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88374         to 1MB, so as not to render systems with no stack size limit (e.g.,
88375         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88376         Include <unistd.h>.  On some systems,
88377         it is required for the definition of _SC_PAGESIZE.
88378
88379 2003-08-16  Jim Meyering  <jim@meyering.net>
88380
88381         Merge from coreutils.
88382         * lib/xstrtoimax.c: #else #if -> #elif.
88383         * lib/xstrtoumax.c: Likewise.
88384
88385 2003-08-16  Jim Meyering  <jim@meyering.net>
88386
88387         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88388         * m4/utimes.m4: Removed.
88389         * m4/utimes-null.m4: Renamed from utimes.m4.
88390
88391         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88392         to 1MB, so as not to render systems with no stack size limit (e.g.,
88393         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88394         Include <unistd.h>.  On some systems,
88395         it is required for the definition of _SC_PAGESIZE.
88396
88397 2003-08-16  Jim Meyering  <jim@meyering.net>
88398         and Paul Eggert  <eggert@cs.ucla.edu>
88399
88400         Merges from coreutils, etc.
88401
88402         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
88403         using the latest version from cvs.  This avoids problems with #line
88404         directives using a vendor (Sun) compiler.
88405         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
88406         Don't set GETGROUPS_LIB here; now it's
88407         done via getgroups.m4's wrapper function.
88408         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
88409         rather than just in sh-util/configure.in, so that the
88410         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
88411         same.
88412         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
88413         AC_FUNC_GETLOADAVG where to find getloadavg.c.
88414         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
88415         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
88416         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
88417         Remove code that is now done by the newly-required macros.
88418         Append $(EXEEXT) to DF_PROG.
88419         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
88420         Do not invoke or require the following here,
88421         since prereq.m4 or some gnulib .m4 now does this for us:
88422         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
88423         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
88424         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
88425         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
88426         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
88427         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
88428         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
88429         AC_FUNC_OBSTACK.
88430         Do not replace the following functions, as this is now the job
88431         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
88432         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
88433         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
88434         atexit getpass, strdup, getpagesize.
88435         Replace 'raise'.
88436         Do not check for the following functions, as this is now the job
88437         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
88438         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
88439         setregid.
88440         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
88441         Check for sys/sysctl.h.
88442         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
88443         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
88444         of checking for ssize_t ourselves.
88445
88446         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
88447         Require every macro that gnulib/modules/* suggests for us.
88448         (jm_PREREQ_ADDEXT): New macro.
88449         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
88450         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
88451
88452         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
88453         (gl_PHYSMEM): Use it.
88454         Also check for `table' function.
88455         Check for new headers and functions.
88456         Add check for sys/sysmp.h.
88457         With suggestions from Kaveh Ghazi.
88458         Ignore headers that are present but cannot be compiled.  This
88459         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
88460         C 5.4.
88461
88462 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88463
88464         Document merge from coreutils.
88465         * modules/userspec: Depend on posixver.
88466         * modules/strftime: Depend on tzset.
88467
88468 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88469
88470         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
88471         rather than tab, after '#' in shell-script copyright notices.
88472         Suggested by Bruno Haible.
88473
88474 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88475
88476         * config/srclist-update: Use three spaces, rather than tab, after '#'
88477         in shell-script copyright notices.  Suggested by Bruno Haible.
88478         Remove unnecessary parenthesization in regular expression.
88479
88480 2003-08-15  Jim Meyering  <jim@meyering.net>
88481
88482         Merge from coreutils.
88483         * lib/xgethostname.c: Include <stdlib.h>.
88484         (xghostname): Don't exit for anything other than memory-related
88485         failure; just return NULL.
88486         * lib/userspec.c: Include "posixver.h".
88487         (parse_user_spec): Accept `.' as a separator only
88488         in pre-POSIX-200112 mode.
88489         * lib/strtoimax.c: Use #elif rather than #else #if.
88490         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
88491         Remove function, now that we can rely on a working tzset function.
88492         [!_LIBC]: Ensure that the required autoconf test has been run.
88493         [!defined _NL_CURRENT && HAVE_STRFTIME]:
88494         Use underlying_strftime for %r.
88495         * lib/sha.c: Merge in some clean-up and optimization changes from
88496         glibc.
88497         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
88498         Ensure that it is a multiple of 64.
88499         Rearrange loop exit tests so as to avoid performing an
88500         additional fread after encountering an error or EOF.
88501         * lib/realloc.c: Update copyright date.
88502
88503 2003-08-15  Jim Meyering  <jim@meyering.net>
88504         and Paul Eggert  <eggert@twinsun.com>
88505
88506         Merge from coreutils.
88507         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
88508         member but strut utmpx does not.  Needed for AIX 4.3.3.
88509         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
88510
88511 2003-08-15  Jim Meyering  <jim@meyering.net>
88512         and Paul Eggert  <eggert@cs.ucla.edu>
88513
88514         Merges from coreutils, etc.
88515         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
88516         Require gl_FUNC_TZSET_CLOBBER.
88517         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
88518         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
88519         members.
88520
88521 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88522
88523         Help the merge from coreutils.
88524         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
88525         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
88526         * m4/tzset.m4: Use it too.
88527
88528 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88529
88530         * modules/tzset: New file.
88531
88532 2003-08-14  Jim Meyering  <jim@meyering.net>
88533
88534         Merges from coreutils.
88535         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88536         variable names, rather than @FNMATCH_H@.
88537         * modules/alloca: Likewise for $(ALLOCA_H).
88538
88539         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88540         the three copies of the literal target, `fnmatch.h'.
88541         * modules/alloca (alloca.h): Likewise.
88542
88543 2003-08-14  Jim Meyering  <jim@meyering.net>
88544
88545         Merge from coreutils.
88546         * m4/tzset.m4: New file.
88547         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88548         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88549         otherwise, AIX 5.1 systems would end up using the latter.
88550         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88551         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88552         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88553         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88554
88555 2003-08-14  Jim Meyering  <jim@meyering.net>
88556
88557         Merge from coreutils.
88558         * lib/obstack.h: Whitespace changes.
88559         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88560         and xcalloc return values.
88561         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88562         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88563         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88564         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88565         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88566         error from mntctl.
88567         Use mntctl's return value to drive the entry-processing loop, since
88568         we can't rely on the value of the vmt_length member in the last
88569         entry.  On some systems doing so could result in exhausting
88570         virtual memory.  Based in part on a patch from Mike Jetzer.
88571
88572 2003-08-14  Jim Meyering  <jim@meyering.net>
88573         and Paul Eggert  <eggert@twinsun.com>
88574
88575         Merges from coreutils, plus other fixes.
88576         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88577         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88578         for credits and details.  Thanks to Kaveh Ghazi for helping
88579         to keep these files in sync.
88580         (ARRAY_SIZE): Define it.
88581         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88582         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88583         (memcasecmp): Don't assume size_t fits in unsigned int.
88584         Remove casts and duplicate code.
88585         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88586         (memcpy): Remove definition.
88587         Merge in some clean-up and optimization changes from glibc.
88588         [BLOCKSIZE]: Move definition to top of file.
88589         Ensure that it is a multiple of 64.
88590         Rearrange loop exit tests so as to avoid performing an
88591         additional fread after encountering an error or EOF.
88592         * lib/md5.h (md5_uintptr): Define.
88593         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88594         return to the initial working directory.  Preserve errno
88595         for caller.
88596         * lib/idcache.c: Include "xalloc.h".
88597         (xmalloc, xrealloc): Remove decls.
88598         (getuser): Remove casts no longer required in C89.
88599         * lib/human.c: Include stdio.h, for sprintf.
88600         * lib/group-member.c: Include "xalloc.h".
88601         (xmalloc, xrealloc): Remove decls.
88602         (get_group_info): Remove casts no longer required in C89.
88603         * lib/getusershell.c (readname): Remove casts no longer required in
88604         C89.
88605         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88606         * lib/getline.c: Whitespace fix, from coreutils.
88607
88608 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88609
88610         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88611         Check for isascii.
88612
88613         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88614         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88615         Undo previous (whitespace-only) change.
88616
88617 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88618
88619         * lib/exclude.c: Include <ctype.h>
88620         (IN_CTYPE_DOMAIN): New macro.
88621         (is_space): New fn.
88622         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88623         and empty lines.
88624
88625         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88626         Undo previous (whitespace-only) change.
88627
88628 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88629
88630         * config/srclist-update: Change update back to the old behavior,
88631         leaving whitespace alone.  Use one 'sed' command rather than a
88632         pipeline.
88633         (fixlicense): Now a variable, not a function.
88634         (remove_trailing_blanks): Remove.
88635         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88636         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88637         Undo previous (whitespace-only) change.
88638
88639 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88640
88641         Merge from coreutils.
88642         * modules/euidaccess: Add lib_SOURCES, include for new
88643         file euidaccess.h
88644
88645 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88646
88647         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88648         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88649         Normalize leading white space and remove trailing white space.
88650
88651         Merge from coreutils
88652         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88653
88654         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88655         0.12.1.  These files are now being upgraded automatically by
88656         ../config/srclist-update.
88657
88658 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88659
88660         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88661         Normalize leading white space and remove trailing white space.
88662         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88663         notice, as per ../config/srclist-update.
88664
88665         Merge from coreutils.
88666         * lib/euidaccess.h: New file.
88667         * lib/euidaccess.c: Include it.
88668         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88669         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88670         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88671
88672 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88673
88674         * config/srclist-update: Add copyright notice.
88675         (remove_id_lines, remove_trailing_blanks): New constants.
88676         (fixfile): Use them to normalize spacing a bit in copied files.
88677         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88678         Normalize leading white space and remove trailing white space.
88679
88680         * config/texinfo.tex: Sync with texinfo.
88681
88682         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88683         strtoul.c from libc, to merge coreutils whitespace changes.
88684
88685         * config/srclist.txt: Get the following m4 files from gettext:
88686         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88687         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88688         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88689         wint_t.m4.
88690
88691 2003-08-12  Karl Berry  <karl@gnu.org>
88692
88693         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88694         been made.
88695
88696 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88697
88698         * modules/gnu-source, m4/gnu-source.m4:
88699         Remove; we're assuming Autoconf 2.54 or later now.
88700         Suggested by Bruno Haible.
88701         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88702
88703 2003-08-11  Bruno Haible  <bruno@clisp.org>
88704
88705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88706
88707 2003-08-11  Bruno Haible  <bruno@clisp.org>
88708
88709         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88710         (vasnprintf): Use it instead of wcslen.
88711
88712 2003-08-11  Bruno Haible  <bruno@clisp.org>
88713
88714         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88715         value to ensure that _Bool promotes to int. Use #define for _Bool when
88716         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88717
88718 2003-08-10  Karl Berry  <karl@gnu.org>
88719
88720         * lib/regex.h: update from libc (whitespace fix).
88721
88722 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88723
88724         Merge some files from coreutils.  These changes were
88725         originally made by Jim Meyering.
88726         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88727         many older Unixes require this.
88728         * lib/alloca.c (alloca): Remove cast to argument of free;
88729         no longer needed in C89.
88730         * lib/alloca_.h, regex.h: Fix white space to match
88731         what GNU indent does.
88732
88733 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88734
88735         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88736         apparently Emacs's Unicode mode got confused before my 2003-08-05
88737         checkin.
88738
88739 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88740
88741         * m4/extensions.m4: New file.
88742         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88743         Require gl_USE_SYSTEM_EXTENSIONS.
88744         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88745         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88746
88747 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88748
88749         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88750         * modules/extensions, modules/gnu-source: New files.
88751         * modules/timespec, modules/unlocked-io: Depend on extensions.
88752
88753 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88754
88755         * modules/restrict: New file.
88756         * MODULES.html.sh (func_all_modules): Add restrict.
88757         * modules/regex: Depend on restrict.
88758
88759 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88760
88761         * m4/restrict.m4: New file.
88762         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88763
88764 2003-08-07  Bruno Haible  <bruno@clisp.org>
88765
88766         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88767         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88768
88769 2003-08-07  Bruno Haible  <bruno@clisp.org>
88770
88771         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88772         makes the module 'getndelim2' compatible with the module 'getline'.
88773
88774 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88775
88776         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88777         byte with "\201" to avoid glitches when editing that source file
88778         with multi-gnome-terminal.
88779
88780 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88781
88782         * lib/bumpalloc.h: Remove.
88783
88784 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88785
88786         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88787         * modules/bumpalloc: Remove.
88788
88789 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88790
88791         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88792         GNU coding style.
88793
88794         Merge from coreutils.
88795         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88796         1. From glibc.
88797         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88798         from Karl Berry, implemented by Jim Meyering.
88799         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88800         from Dmitry V. Levin.
88801         Remove anachronistic cast of xrealloc.
88802         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88803         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88804         type. Otherwise, it wouldn't compile with at least /bin/cc on
88805         ymp-cray-unicos9.0.2.X.
88806         Combine two mostly-identical uses of alloca into one.
88807         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88808
88809 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88810
88811         [From Emacs.]
88812
88813         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88814         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88815         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88816         obsolete NLIST_NAME_UNION.
88817         [__GNU__]: Undef BSD and FSCALE.
88818         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88819
88820 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88821
88822         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88823         an enum type, so that it's guaranteed to promote to int.  See:
88824         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88825
88826 2003-08-03  Karl Berry  <karl@gnu.org>
88827
88828         * config/depcomp: update from automake.
88829
88830 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88831
88832         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88833         (strerror): Don't assume that a printable int fits in 14 bytes.
88834
88835 2003-07-31  Bruno Haible  <bruno@clisp.org>
88836
88837         * modules/getpass-gnu: New file.
88838         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88839
88840 2003-07-31  Bruno Haible  <bruno@clisp.org>
88841
88842         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88843
88844 2003-07-24  Karl Berry  <karl@gnu.org>
88845
88846         * config/missing: update from automake.
88847
88848 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88849             Bruno Haible  <bruno@clisp.org>
88850
88851         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88852         * lib/getline.c (getline, getdelim): Likewise.
88853         Remove _GNU_SOURCE define; now it's defined in config.h through
88854         m4/getline.m4.
88855
88856 2003-07-23  Karl Berry  <karl@gnu.org>
88857
88858         * config/config.sub: update from prep.
88859
88860 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88861
88862         * modules/xalloc (Depends-on): Add exitfail.
88863         * modules/xmemcoll: Likewise.
88864
88865 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88866
88867         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88868         over-parenthesization in macros.
88869
88870         Sync with coreutils.
88871
88872         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88873         required by C99.
88874
88875         Use `exit_failure' for xalloc and xmemcoll instead of their own
88876         private exit-failure variables.
88877         * lib/xalloc.h (xalloc_exit_failure): Remove.
88878         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88879         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88880         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88881         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88882         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88883
88884 2003-07-20  Jim Meyering  <jim@meyering.net>
88885
88886         * modules/closeout (Depends-on): Add exitfail.
88887         Suggestion from Bruno Haible.
88888
88889 2003-07-19  Karl Berry  <karl@gnu.org>
88890
88891         * config/config.sub: update from prep.
88892
88893 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88894
88895         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88896         Remove.
88897         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88898         to test that it can stand by itself.  Include "exitfail.h".
88899         Clients should set exit_failure instead.
88900         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88901
88902 2003-07-18  Bruno Haible  <bruno@clisp.org>
88903
88904         * modules/getndelim2: New file.
88905         * modules/getline: Share files with module getndelim2.
88906         * modules/getnline: Depend on getndelim2 instead of sharing files with
88907         it. Add getnline.c to lib_SOURCES.
88908         * MODULES.html.sh (func_all_modules): Add getndelim2.
88909
88910 2003-07-18  Bruno Haible  <bruno@clisp.org>
88911
88912         * m4/getndelim2.m4: New file.
88913         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
88914         invoke gl_PREREQ_GETNDELIM2.
88915         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
88916         gl_PREREQ_GETNDELIM2.
88917         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
88918         gl_GETNDELIM2.
88919
88920 2003-07-18  Bruno Haible  <bruno@clisp.org>
88921
88922         * lib/getndelim2.h: New file.
88923         * lib/getndelim2.c: Make into a module of its own. Include config.h,
88924         getndelim2.h.
88925         (getndelim2): Make non-static. Change return type to ssize_t.
88926         * lib/getline.h: Change argument names.
88927         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
88928         * lib/getnline.c: Include getndelim2.h.
88929
88930 2003-07-18  Andreas Schwab  <schwab@suse.de>
88931
88932         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
88933
88934 2003-07-17  Karl Berry  <karl@gnu.org>
88935
88936         * config/config.sub: update from prep.
88937
88938 2003-07-17  Bruno Haible  <bruno@clisp.org>
88939
88940         * modules/getnline: New file.
88941         * modules/getline: Add lib/getndelim2.c to source file list.
88942         * MODULES.html.sh (func_all_modules): Add getnline.
88943
88944 2003-07-17  Bruno Haible  <bruno@clisp.org>
88945
88946         * m4/getnline.m4: New file.
88947
88948 2003-07-17  Bruno Haible  <bruno@clisp.org>
88949
88950         * m4/Makefile.am.in: Remove file.
88951         * m4/Makefile.am: Remove file.
88952         * m4/Makefile.in: Remove file.
88953
88954 2003-07-17  Bruno Haible  <bruno@clisp.org>
88955
88956         * lib/getnline.h: New file.
88957         * lib/getnline.c: New file.
88958         * lib/getndelim2.c: New file, extracted from getline.c.
88959         (getndelim2): Renamed from getdelim2, with added nmax argument.
88960         * lib/getline.c: Include getndelim2.c.
88961         (getdelim2): Moved out to getndelim2.c.
88962         (getline, getdelim): Update.
88963
88964 2003-07-17  Bruno Haible  <bruno@clisp.org>
88965
88966         * lib/Makefile.am: Remove file.
88967         * lib/Makefile.in: Remove file.
88968
88969 2003-07-17  Bruno Haible  <bruno@clisp.org>
88970
88971         * configure.in: Remove file.
88972         * Makefile.in: Remove file.
88973
88974 2003-07-17  Bruno Haible  <bruno@clisp.org>
88975
88976         * MODULES.html.sh: Put the </BODY> right before </HTML>.
88977
88978 2003-07-16  Karl Berry  <karl@gnu.org>
88979
88980         * config/srclist-update: was running fixlicense twice, which caused
88981                 texinfo.tex to be nullified for some reason.  Simplify,
88982                 $gplsrc is no longer needed as far as I can see?
88983
88984 2003-07-16  Jim Meyering  <jim@meyering.net>
88985
88986         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
88987
88988 2003-07-15  Paul Eggert  <eggert@twinsun.com>
88989
88990         * config/srclist.txt: Get the following files from gettext-runtime/intl
88991         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
88992         ref-del.sin.  From Bruno Haible.
88993         * config/srclist-update (fixfile): Change grep pattern again, since the
88994         previous fix didn't work (there was another trailing $).  Use
88995         '[$]' to escape the $s.
88996
88997 2003-07-15  Karl Berry  <karl@gnu.org>
88998
88999         * lib/vasnprintf.c: update from gettext.
89000
89001 2003-07-15  Karl Berry  <karl@gnu.org>
89002
89003         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89004         gets expanded when surrounded by '$'.
89005
89006 2003-07-15  Jim Meyering  <jim@meyering.net>
89007
89008         * modules/save-cwd: Don't depend on error.  From Derek Price.
89009
89010 2003-07-15  Jim Meyering  <jim@meyering.net>
89011
89012         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89013
89014 2003-07-14  Simon Josefsson  <jas@extundo.com>
89015
89016         * modules/mempcpy: New file.
89017         * MODULES.html.sh (func_all_modules): Add mempcpy.
89018
89019 2003-07-14  Simon Josefsson  <jas@extundo.com>
89020
89021         * m4/mempcpy.m4: New file.
89022
89023 2003-07-14  Simon Josefsson  <jas@extundo.com>
89024
89025         * lib/mempcpy.h: New file.
89026         * lib/mempcpy.c: New file.
89027
89028 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89029
89030         * modules/getdate, modules/posixtm: Depend on mktime.
89031
89032 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89033
89034         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89035         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89036         unicodeio.c, unicodeio.h, unlocked-io.h:
89037         Switch from LGPL to GPL.
89038
89039 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89040
89041         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89042         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89043         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89044         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89045         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89046         updated automatically by ../config/srclist-update.  This changes
89047         their license from LPGL to GPL.
89048
89049 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89050
89051         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89052         assumed to refer to the root of the most recent stable gettext version.
89053         * config/srclistvars.sh: Add defaults for eggert.
89054         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89055         Match "This program" as well as "The program".  This is needed
89056         for gettext.
89057
89058 2003-07-14  Jim Meyering  <jim@meyering.net>
89059
89060         Don't emit diagnostics.  Let callers do that.
89061         * lib/save-cwd.c: Don't include "error.h".
89062         (save_cwd): Don't call error.  Ensure that errno is valid
89063         when returning nonzero.
89064
89065         * lib/save-cwd.h (restore_cwd): Update prototype.
89066         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89067         Simplify.  Don't call error upon failure.  Let callers do that.
89068         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89069         when auditing is enabled.  But don't bother updating the #if.
89070
89071 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89072
89073         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89074         it breaks C++ compilation.
89075         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89076
89077 2003-07-10  Simon Josefsson  <jas@extundo.com>
89078
89079         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89080
89081 2003-07-10  Jim Meyering  <jim@meyering.net>
89082
89083         * m4/clock_time.m4: Remove trailing blank.
89084         * m4/intmax_t.m4: Likewise.
89085
89086 2003-07-10  Jim Meyering  <jim@meyering.net>
89087
89088         * lib/vasnprintf.c: Remove trailing blanks.
89089         Make cpp indentation consistent.
89090
89091 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89092
89093         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89094         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89095         Switch from LGPL to GPL.
89096
89097 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89098
89099         * config/srclist.txt: Sort sublists.  Add
89100         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89101         that differ from gnulib for one reason or another; we'd like this list
89102         to be smaller but for now let's document what we have.
89103
89104 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89105
89106         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89107         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89108         and sweeter "eval x=$x".
89109         * config/srclist.txt: Get lib/argp* from glibc.
89110
89111 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89112
89113         * lib/mktime.c: Fix some boundary cases and remove need for floating
89114         point.
89115
89116         Issue a compile-time diagnostic if time_t is floating point, or if
89117         two's complement arithmetic is not in effect, or if arithmetic
89118         right shift does not propagate the sign.  These assumptions were
89119         all in the original code but they weren't checked.
89120
89121         (TIME_T_MIDPOINT, verify): New macros.
89122         (__isleap): Remove; it has integer overflow problems.
89123         (leapyear): New function, without those problems.
89124         (ydhms_tm_diff): Remove; splitting into two parts.
89125         (ydhms_diff): New function, containing the arithmetic part of
89126         the old ydhms_tm_diff function.  Issue a compile-time
89127         diagnostic if we are not using C99 integer division.
89128         Avoid casts when possible.
89129         (guess_time_tm): New function, containing the checking part of
89130         the old ydhms_tm_diff function.  Return the new value, rather than
89131         the difference between it and the old.  Accept a new argument T
89132         so that *T specifies the old value.  Check for overflow in the result.
89133
89134         (__mktime_internal): Use a time_t offset, not a long int offset.
89135         This undoes the 2003-06-04 change, which is no longer needed now
89136         that we have better overflow checking.
89137         (localtime_offset): Likewise.
89138
89139         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89140         and long are 64-bit but int is only 32-bit.
89141         (ydhms_diff): Use long int to store year1 and yday1.
89142         Issue a compile-time diagnostic if long int is not wide enough.
89143
89144         (__mktime_internal): Use long int to store adjusted year and yday.
89145         Use plain C rather than preprocessor commands, if that doesn't
89146         affect efficiency.
89147         Check for overflow (and try to repair) after each probe
89148         rather than checking only at the very end.  This avoids some bugs
89149         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89150         does not equal GMT offset at maximum time).
89151         Use integer to check for overflow rather than floating point; this
89152         is more portable to non-IEEE hosts, and is a tad faster.
89153         When we detect that we are oscillating between two values,
89154         don't check whether tm_isdst has the requested value, since
89155         we already know the answer.  When tm_isdst has the wrong value,
89156         use a different heuristic to find the right one, based on the
89157         extreme values actually observed in practice in tz2003a,
89158         rather than the (overly optimistic) "previous 3 calendar quarters".
89159
89160         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89161         "T const" to accommodate glibc style.
89162         (check_result): Use less-confusing report format.  "long" -> "long int.
89163         (main): Likewise.
89164         Don't loop if the iteration overflows time_t.
89165         Allow a negative step in the iteration.
89166
89167 2003-07-06  Karl Berry  <karl@gnu.org>
89168
89169         * config/depcomp: update from automake.
89170         * config/config.sub: update from prep.
89171
89172 2003-07-03  Karl Berry  <karl@gnu.org>
89173
89174         * config/config.guess: update from prep.
89175
89176 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89177
89178         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89179         xreadlink.c now includes it unconditionally.
89180
89181 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89182
89183         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89184         having it depend on HAVE_SYS_TYPES_H.
89185
89186 2003-07-01  Bruno Haible  <bruno@clisp.org>
89187
89188         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89189         <sys/types.h> should be sufficient.
89190         Reported by Paul Eggert.
89191
89192 2003-06-26  Karl Berry  <karl@gnu.org>
89193
89194         * config/depcomp: update from automake.
89195
89196 2003-06-26  Bruno Haible  <bruno@clisp.org>
89197
89198         * modules/human: Depend on module stdbool.
89199
89200 2003-06-25  Bruno Haible  <bruno@clisp.org>
89201
89202         * modules/readlink: New file.
89203         * modules/xreadlink: Depend on it.
89204         * MODULES.html.sh (func_all_modules): Add readlink.
89205
89206 2003-06-25  Bruno Haible  <bruno@clisp.org>
89207
89208         * m4/readlink.m4: New file.
89209
89210 2003-06-25  Bruno Haible  <bruno@clisp.org>
89211
89212         * lib/readlink.c: New file.
89213
89214 2003-06-22  Karl Berry  <karl@gnu.org>
89215
89216         * config/srclist.txt: update mkinstalldirs from automake.
89217         * config/mkinstalldirs: update.
89218
89219 2003-06-22  Bruno Haible  <bruno@clisp.org>
89220
89221         Portability to mingw32.
89222         * m4/ssize_t.m4: New file, from GNU gettext.
89223         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89224         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89225
89226 2003-06-22  Bruno Haible  <bruno@clisp.org>
89227
89228         * modules/safe-read: Add m4/ssize_t.m4.
89229         * modules/xreadlink: Add m4/ssize_t.m4.
89230
89231 2003-06-20  Bruno Haible  <bruno@clisp.org>
89232
89233         Assume C89, so PARAMS isn't needed.
89234         * lib/unicodeio.h (PARAMS): Remove.
89235         * lib/unicodeio.c: Don't use PARAMS.
89236
89237 2003-06-18  Karl Berry  <karl@gnu.org>
89238
89239         * config/config.{guess,sub}: update from prep.
89240
89241 2003-06-18  Jim Meyering  <jim@meyering.net>
89242
89243         Merge changes from coreutils.
89244         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89245         Remove explicit declarations of xmalloc and realloc.
89246         Include xalloc.h.
89247         (read_utmp): Remove anachronistic cast of xmalloc.
89248
89249 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89250
89251         Assume C89, so PARAMS isn't needed.
89252         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89253         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89254         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89255         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89256         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89257         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89258         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89259         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89260         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89261         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89262         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89263         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89264         no longer needed. Anyway, config.h should always be included before any
89265         other file.
89266
89267 2003-06-11  Simon Josefsson  <jas@extundo.com>
89268
89269         * modules/sysexits: New file.
89270         * MODULES.html.sh (func_all_modules): Add sysexits.
89271
89272 2003-06-11  Simon Josefsson  <jas@extundo.com>
89273
89274         * lib/sysexit_.h: New file.
89275
89276 2003-06-11  Derek Price  <derek@ximbiot.com>
89277
89278         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89279         necessary.
89280
89281 2003-06-11  Bruno Haible  <bruno@clisp.org>
89282
89283         * m4/sysexits.m4: New file.
89284
89285 2003-06-10  Simon Josefsson  <jas@extundo.com>
89286
89287         * lib/argp.h: New file, from glibc.
89288         * lib/argp-ba.c: New file, from glibc.
89289         * lib/argp-eexst.c: New file, from glibc.
89290         * lib/argp-fmtstream.c: New file, from glibc.
89291         * lib/argp-fmtstream.h: New file, from glibc.
89292         * lib/argp-fs-xinl.c: New file, from glibc.
89293         * lib/argp-help.c: New file, from glibc.
89294         * lib/argp-namefrob.h: New file, from glibc.
89295         * lib/argp-parse.c: New file, from glibc.
89296         * lib/argp-pv.c: New file, from glibc.
89297         * lib/argp-pvh.c: New file, from glibc.
89298         * lib/argp-xinl.c: New file, from glibc.
89299
89300 2003-06-10  Simon Josefsson  <jas@extundo.com>
89301
89302         * modules/strchrnul: New file.
89303
89304 2003-06-10  Simon Josefsson  <jas@extundo.com>
89305
89306         * modules/argp: New file.
89307
89308 2003-06-10  Simon Josefsson  <jas@extundo.com>
89309
89310         * m4/strchrnul.m4: New file.
89311
89312 2003-06-10  Simon Josefsson  <jas@extundo.com>
89313
89314         * lib/strchrnul.h: New file.
89315         * lib/strchrnul.c: New file.
89316
89317 2003-06-10  Bruno Haible  <bruno@clisp.org>
89318
89319         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89320
89321 2003-06-07  Karl Berry  <karl@gnu.org>
89322
89323         * config/config.{guess,sub}: update from prep.
89324
89325 2003-06-07  Jim Meyering  <jim@meyering.net>
89326
89327         * modules/strtod: Use $(...) notation, not @...@ for
89328         AC_REPLACE'd variables.
89329         * modules/localcharset: Likewise.
89330
89331 2003-06-07  Jim Meyering  <jim@meyering.net>
89332
89333         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89334         in place of my name in the copyright comment.
89335         Remove definition and uses of __P.
89336
89337         From coreutils.
89338         * lib/stat.c: Don't declare xmalloc explicitly.
89339         Instead, include "xalloc.h".
89340         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89341         xrealloc, and xcalloc return values.
89342         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89343         Improve comment.
89344         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89345
89346 2003-06-07  Bruno Haible  <bruno@clisp.org>
89347
89348         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89349         avoid AC_CONFIG_LINKS.
89350         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89351         fnmatch.h, to avoid AC_CONFIG_LINKS.
89352         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89353
89354 2003-06-07  Bruno Haible  <bruno@clisp.org>
89355
89356         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89357         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89358         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89359         directory.
89360         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89361         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89362         directory.
89363
89364 2003-06-06  Jim Meyering  <jim@meyering.net>
89365
89366         Merge from coreutils.
89367         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89368         Consolidate declarations and initializations of *_base* locals.
89369
89370         Merge from coreutils.
89371         This avoids a core dump on systems without GNU putenv,
89372         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89373         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89374         (unsetenv): New static function, from GNU libc.
89375         (rpl_putenv): Use it.
89376
89377         * lib/modechange.c: Remove trailing blanks.
89378
89379         Merge from coreutils.
89380         * lib/fsusage.c: Remove declaration of statfs.
89381         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89382
89383         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89384
89385 2003-06-06  Jim Meyering  <jim@meyering.net>
89386
89387         * lib/stdbool_.h: Renamed from stdbool.h.in.
89388
89389 2003-06-06  Jim Meyering  <jim@meyering.net>
89390             Bruno Haible  <bruno@clisp.org>
89391
89392         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89393         Adjust Makefile.am snippet not to redirect directly to target.
89394         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
89395
89396 2003-06-05  Paul Eggert  <eggert@twinsun.com>
89397
89398         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
89399         mismatch, look in future quarters as well as past.  This fixes a
89400         bug when processing fall-backwards gaps immediately after a long
89401         period of daylight-saving time.
89402
89403         * lib/mktime.c: Assume freestanding C89 or better.
89404         (HAVE_LIMITS_H): Remove.  Assume it's 1.
89405         (__P): Remove; not used.
89406         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
89407         (mktime, not_equal_tm, print_tm, check_result,
89408         main): Use prototypes.  Use const * where appropriate.
89409         (main): Fix typo in testing code that uncovered by above changes.
89410         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
89411
89412 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89413
89414         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
89415         locale.h, localeconv.  This merges changes from coreutils.
89416
89417         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
89418         It can be removed after the next Autoconf is released.
89419         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
89420         needed.
89421
89422 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89423
89424         * lib/mktime.c: Fix Debian bug 177940
89425         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
89426         (localtime_offset): Now long int, not time_t, because we want it
89427         to be guaranteed to be signed.  All uses changed.
89428         (__mktime_internal): If overflow would occur when adding offset,
89429         don't add it.
89430
89431         Merge 'human' changes from coreutils.  Rewrite to support
89432         locale-specific notations like thousands separators.
89433         * lib/human.c: Simplify authorship notice.
89434         Include human.h immediately after config.h.
89435         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
89436         <limits.h>: Do not include, since human.h does.
89437         (SIZE_MAX, UINTMAX_MAX): New macros.
89438         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
89439         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
89440         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
89441         (power_letter): Renamed from suffixes.
89442         (generate_suffix_backwards): Remove.
89443         (adjust_value): Now takes int style (because of human.h changes)
89444         and long double value (for greater precision on some platforms).
89445         (group_number): New function.
89446         (human_readable): Use it.  Use integer options, not enum.
89447         Put the options before the sizes in the arg list.
89448         Support all the new options.
89449         The old human_readable function has been removed;
89450         use inttostr.h instead.
89451         (human_readable, default_block_size, humblock):
89452         Use uintmax_t, not int, for block sizes.
89453         (human_readable_inexact, block_size_types): Remove.
89454         (block_size_opts): New constant.
89455         (human_options): Renamed from human_block_size, with new signature
89456         that allows block sizes up to UINTMAX_MAX.  All callers changed.
89457         * lib/human.h: Add copyright and authorship notice.
89458         Include <limits.h> and <stdbool.h> unconditionally.
89459         (PARAMS): Remove.  All uses removed.
89460         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
89461         (enum human_inexact_style): Remove tag; now a nameless enum.
89462         (human_floor, human_ceiling, human_round_to_even): Now have
89463         values 2, 0, 1 rather than -1, 1, 0.
89464         (human_group_digits, human_suppress_point_zero, human_autoscale,
89465         human_base_1024, human_SI, human_B): New constants.
89466         (human_readable_inexact, human_block_size): Remove.
89467         (human_readable): Size args are now uintmax_t, not int.
89468         (human_options): New decl.
89469
89470         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
89471         unnecessary now that we assume C89 or better.  This change
89472         imported from coreutils.
89473
89474         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89475         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
89476         in the 2003-05-30 sync from glibc.
89477
89478         .h files should stand alone, but we shouldn't include <sys/types.h>
89479         if we can get away with just <stddef.h>.
89480
89481         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
89482         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
89483         rather than <sys/types.h>, as we merely need size_t.
89484         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
89485         to get size_t.
89486         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
89487         Include <stdio.h>, to get FILE.
89488         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
89489         memcasecmp.h has included <stddef.h> and all we need is size_t.
89490         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
89491         our interface, instead of including <sys/types.h>
89492
89493 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89494
89495         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
89496         now, as glibc mktime is buggy on non-glibc systems.
89497
89498 2003-06-03  Karl Berry  <karl@gnu.org>
89499
89500         * config/config.sub: update from prep.
89501
89502 2003-06-02  Paul Eggert  <eggert@twinsun.com>
89503
89504         [from coreutils]
89505         Fix some minor time-related bugs with POSIX time arguments.
89506         Some valid time stamps were being rejected (notably -1, and
89507         time stamps before 1900 on 64-bit hosts).  And some invalid
89508         time stamps were being accepted, e.g. September 31.
89509
89510         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
89511         that we can return (time_t) -1 successfully.
89512         * lib/posixtm.c: Likewise.
89513         [HAVE_STDBOOL_H]: Include <stdbool.h>.
89514         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
89515         (t): Remove static var.
89516         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
89517         of static var.  All uses changed.
89518         (year): Do not reject years before 1900; they can occur with
89519         64-bit time_t.
89520         (posix_time_parse): Do not check for out-of-range components;
89521         that is now the caller's responsibility, since our checks were
89522         only approximations.
89523         (posixtime): Use mktime to check for out-of-range components,
89524         since it knows them exactly.
89525         If mktime returns (time_t) -1, check whether an error actually occurred
89526         by invoking localtime on -1.
89527         (main) [TEST_POSIXTIME]: Check for input data errors, and report
89528         posixtime failures better.
89529         Improve the test data (in comments only).
89530
89531 2003-06-02  Karl Berry  <karl@gnu.org>
89532
89533         * config/mkinstalldirs (version): new variable.
89534         (--version): new option.
89535         (usage): improve message.
89536
89537 2003-05-30  Karl Berry  <karl@gnu.org>
89538
89539         * lib/mktime.c: update from libc.
89540
89541 2003-05-30  Bruno Haible  <bruno@clisp.org>
89542
89543         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89544         * config/config.rpath: Upgrade to gettext-0.12.1.
89545
89546 2003-05-30  Bruno Haible  <bruno@clisp.org>
89547
89548         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89549         * m4/nls.m4: New file, from gettext-0.12.1.
89550         * m4/po.m4: New file, from gettext-0.12.1.
89551         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89552
89553 2003-05-30  Bruno Haible  <bruno@clisp.org>
89554
89555         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89556         * lib/localcharset.h: Likewise.
89557         * lib/localcharset.c: Likewise.
89558
89559 2003-05-29  Karl Berry  <karl@gnu.org>
89560
89561         * config/config.rpath: update from gettext.
89562
89563 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89564
89565         Assume the headers required for C89 freestanding compilers.
89566         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89567         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89568         * m4/human.m4 (gl_HUMAN): Likewise.
89569         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89570         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89571         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89572         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89573         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89574         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89575
89576 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89577
89578         Assume the headers required for C89 freestanding compilers.
89579         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89580         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89581         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89582         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89583         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89584         define, since <limits.h> is guaranteed to do that.
89585         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89586         * lib/exclude.c: Include <stdbool.h> unconditionally.
89587         * lib/tempname.c: Include <stddef.h> unconditionally.
89588         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89589         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89590         <stddef.h> does that.
89591         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89592         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89593         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89594         needed.
89595         * lib/xstrtol.c: Likewise.
89596         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89597         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89598
89599         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89600         warnings on some platforms.
89601
89602         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89603         arbitrarily.
89604
89605 2003-05-26  Jim Meyering  <jim@meyering.net>
89606
89607         Merge in a change from coreutils:
89608         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89609         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89610         that condition, rather than `-1' which is slightly misleading.
89611         Change the name of the cache variable to have the gl_ prefix.
89612         Prompted by a patch from Richard Dawe for DJGPP.
89613
89614 2003-05-24  Karl Berry  <karl@gnu.org>
89615
89616         * config/config.guess: update from prep.
89617
89618 2003-05-22  Karl Berry  <karl@gnu.org>
89619
89620         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89621
89622 2003-05-20  Karl Berry  <karl@gnu.org>
89623
89624         * config/config.guess: update from prep.
89625
89626 2003-05-18  Karl Berry  <karl@gnu.org>
89627
89628         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89629         might actually be set by the user.
89630
89631         * config/depcomp, install-sh, mdate-sh: update from automake.
89632
89633 2003-05-17  Bruno Haible  <bruno@clisp.org>
89634
89635         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89636         invalid expansion for AC_EGREP_CPP.
89637         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89638         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89639         Suggested by Akim Demaille <akim@epita.fr> in
89640         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89641
89642 2003-05-12  Jim Meyering  <jim@meyering.net>
89643
89644         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89645         the space-padded-by-default conversion specifiers, %e, %k, %l.
89646
89647 2003-05-12  Bruno Haible  <bruno@clisp.org>
89648
89649         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89650         the string is longer than 4 KB.
89651
89652 2003-05-11  Karl Berry  <karl@gnu.org>
89653
89654         * config/config.{guess,sub}: update from prep.
89655
89656 2003-05-09  Bruno Haible  <bruno@clisp.org>
89657
89658         * modules/error: Add m4/strerror_r.m4 to file list.
89659
89660 2003-05-03  Bruno Haible  <bruno@clisp.org>
89661
89662         Upgrade to Unicode-4.0.
89663         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89664         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89665         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89666         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89667         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89668         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89669         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89670         Change width of U+E0100..U+E01EF from 1 to 0.
89671
89672 2003-04-25  Jim Meyering  <jim@meyering.net>
89673
89674         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89675         of type size_t, not int.
89676
89677 2003-04-25  Bruno Haible  <bruno@clisp.org>
89678
89679         * lib/copy-file.c: Include <stddef.h>, for size_t.
89680
89681 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89682
89683         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89684         code which expansion is under static control.  Patch imported from
89685         Akim Demaille's patch to Bison; see
89686         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89687
89688 2003-04-14  Bruno Haible  <bruno@clisp.org>
89689
89690         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89691
89692 2003-04-11  Jim Meyering  <jim@meyering.net>
89693
89694         Merge changes from Coreutils.
89695
89696         2003-03-22  Jim Meyering  <jim@meyering.net>
89697
89698         * lib/strftime.c (widen): Cast alloca return value to proper type.
89699
89700         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89701
89702         From GNU libc.
89703         * lib/strftime.c (my_strftime): Handle very large width
89704         specifications for numeric values correctly.  Improve checks for
89705         overflow.
89706
89707         2003-01-19  Jim Meyering  <jim@meyering.net>
89708
89709         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89710         definitions.
89711         (nl_get_alt_digit) [! defined my_strftime]: Define.
89712         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89713         _nl_get_alt_digit and _nl_get_walt_digit.
89714
89715         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89716         libc. These changes have no effect outside of _LIBC.
89717
89718 2003-04-10  Bruno Haible  <bruno@clisp.org>
89719
89720         * modules/findprog: New file.
89721         * MODULES.html.sh (func_all_modules): Add it.
89722
89723 2003-04-10  Bruno Haible  <bruno@clisp.org>
89724
89725         * m4/findprog.m4: New file.
89726         * m4/eaccess.m4: New file.
89727
89728 2003-04-10  Bruno Haible  <bruno@clisp.org>
89729
89730         * lib/findprog.h: New file, from GNU gettext.
89731         * lib/findprog.c: New file, from GNU gettext.
89732
89733 2003-04-05  Jim Meyering  <jim@meyering.net>
89734
89735         Merge changes from Coreutils.
89736
89737         * lib/exclude.h (PARAMS): Remove definition and uses.
89738         * lib/exclude.c: Remove uses of `PARAMS'.
89739
89740         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89741         Add test-cases for DOS filenames. Declare program_name.
89742         (main): Set up program_name.  Patch by Rich Dawe.
89743
89744         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89745         error from mntctl.
89746         Use mntctl's return value to drive the entry-processing loop, since
89747         we can't rely on the value of the vmt_length member in the last
89748         entry.  On some systems doing so could result in exhausting
89749         virtual memory.  Based in part on a patch from Mike Jetzer.
89750
89751 2003-04-04  Bruno Haible  <bruno@clisp.org>
89752
89753         * modules/linebreak: New file.
89754         * MODULES.html.sh (func_all_modules): Add it.
89755
89756 2003-04-04  Bruno Haible  <bruno@clisp.org>
89757
89758         * m4/linebreak.m4: New file.
89759
89760 2003-04-04  Bruno Haible  <bruno@clisp.org>
89761
89762         * lib/linebreak.h: New file, from GNU gettext.
89763         * lib/linebreak.c: New file, from GNU gettext with slight
89764         modifications.
89765         * lib/lbrkprop.h: New file, from GNU gettext.
89766
89767 2003-04-03  Bruno Haible  <bruno@clisp.org>
89768
89769         * modules/utf8-ucs4: New file.
89770         * modules/utf16-ucs4: New file.
89771         * modules/ucs4-utf8: New file.
89772         * modules/ucs4-utf16: New file.
89773         * MODULES.html.sh (func_all_modules): Add them.
89774
89775 2003-04-03  Bruno Haible  <bruno@clisp.org>
89776
89777         * m4/utf-ucs4.m4: New file.
89778         * m4/ucs4-utf.m4: New file.
89779
89780 2003-04-03  Bruno Haible  <bruno@clisp.org>
89781
89782         * lib/utf8-ucs4.h: New file, from GNU gettext.
89783         * lib/utf16-ucs4.h: New file, from GNU gettext.
89784         * lib/ucs4-utf8.h: New file, from GNU gettext.
89785         * lib/ucs4-utf16.h: New file, from GNU gettext.
89786
89787 2003-04-02  Bruno Haible  <bruno@clisp.org>
89788
89789         * modules/binary-io: New file.
89790         * MODULES.html.sh (func_all_modules): Add it.
89791
89792 2003-04-02  Bruno Haible  <bruno@clisp.org>
89793
89794         * lib/binary-io.h: New file, from GNU gettext.
89795
89796 2003-04-01  Bruno Haible  <bruno@clisp.org>
89797
89798         * modules/pathname: New file.
89799         * MODULES.html.sh (func_all_modules): Add it.
89800
89801 2003-04-01  Bruno Haible  <bruno@clisp.org>
89802
89803         * lib/pathname.h: New file, from GNU gettext.
89804         * lib/concatpath.c: New file, from GNU gettext.
89805
89806 2003-03-30  Bruno Haible  <bruno@clisp.org>
89807
89808         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89809
89810 2003-03-30  Bruno Haible  <bruno@clisp.org>
89811
89812         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89813         function chown() doesn't exist.
89814
89815 2003-03-28  Bruno Haible  <bruno@clisp.org>
89816
89817         * modules/copy-file: New file.
89818         * MODULES.html.sh (func_all_modules): Add it.
89819
89820 2003-03-28  Bruno Haible  <bruno@clisp.org>
89821
89822         * m4/copy-file.m4: New file.
89823
89824 2003-03-28  Bruno Haible  <bruno@clisp.org>
89825
89826         * lib/copy-file.h: New file, from GNU gettext.
89827         * lib/copy-file.c: New file, from GNU gettext.
89828
89829 2003-03-18  Jim Meyering  <jim@meyering.net>
89830
89831         * lib/quote.c (quote_n): Fix typo in comment.
89832
89833 2003-03-18  Bruno Haible  <bruno@clisp.org>
89834
89835         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89836         checking.
89837         * m4/onceonly_2_57.m4: Likewise.
89838
89839 2003-03-17  Bruno Haible  <bruno@clisp.org>
89840
89841         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89842         (m4_quote): Remove macro.
89843         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89844
89845 2003-03-14  Jim Meyering  <jim@meyering.net>
89846
89847         Merge changes from Coreutils.
89848         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89849         to be const, in order to avoid warnings.
89850         (obstack_room): Likewise.
89851         (obstack_empty_p): Likewise.
89852
89853 2003-03-14  Bruno Haible  <bruno@clisp.org>
89854
89855         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89856         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89857
89858 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89859
89860         Merge changes from Bison.
89861         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89862         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89863         when compiling Bison 1.875's `bitset bset = obstack_alloc
89864         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89865         * lib/hash.c: Include <stdbool.h> unconditionally.
89866
89867 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89868
89869         * m4/onceonly.m4 (m4_quote): New macro.
89870         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89871         Quote AC_FOREACH variable-expansions properly.
89872
89873 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89874
89875         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89876
89877 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89878
89879         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89880         Reported by Bruce Becker; see:
89881         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89882
89883 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89884             Bruno Haible  <bruno@clisp.org>
89885
89886         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89887         Reported by John Hughes, see
89888         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89889
89890 2003-02-20  Bruno Haible  <bruno@clisp.org>
89891
89892         * MODULES.html.sh (func_all_modules): Add poll.
89893
89894 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89895
89896         * modules/poll: New file.
89897
89898 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89899
89900         * lib/poll_.h: New file.
89901         * lib/poll.c: New file.
89902
89903 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89904
89905         * m4/poll.m4: New file.
89906
89907 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89908
89909         * modules/mathl: New file.
89910
89911 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89912
89913         * lib/mathl.h: New file.
89914         * lib/acosl.c: New file.
89915         * lib/asinl.c: New file.
89916         * lib/atanl.c: New file.
89917         * lib/ceill.c: New file.
89918         * lib/cosl.c: New file.
89919         * lib/expl.c: New file.
89920         * lib/floorl.c: New file.
89921         * lib/frexpl.c: New file.
89922         * lib/ldexpl.c: New file.
89923         * lib/logl.c: New file.
89924         * lib/sincosl.c: New file.
89925         * lib/sinl.c: New file.
89926         * lib/sqrtl.c: New file.
89927         * lib/tanl.c: New file.
89928         * lib/trigl.c: New file.
89929         * lib/trigl.h: New file.
89930
89931 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89932
89933         * m4/mathl.m4: New file.
89934
89935 2003-02-18  Bruno Haible  <bruno@clisp.org>
89936
89937         * MODULES.html.sh (func_all_modules): Add mathl.
89938
89939 2003-02-17  Bruno Haible  <bruno@clisp.org>
89940
89941         * modules/mkdtemp: New module.
89942         * MODULES.html.sh (func_all_modules): Add it.
89943
89944 2003-02-17  Bruno Haible  <bruno@clisp.org>
89945
89946         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
89947
89948 2003-02-17  Bruno Haible  <bruno@clisp.org>
89949
89950         * lib/mkdtemp.h: New file, from GNU gettext.
89951         * lib/mkdtemp.c: New file, from GNU gettext.
89952
89953 2003-02-02  Jim Meyering  <jim@meyering.net>
89954
89955         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
89956         e.g. glibc-2.2.93.
89957
89958 2003-01-31  Bruno Haible  <bruno@clisp.org>
89959
89960         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
89961         'rpl_rename'.
89962         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
89963         'rpl_strnlen'.
89964         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
89965         'rpl_strtod'.
89966         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
89967         'rpl_utime'.
89968
89969 2003-01-31  Bruno Haible  <bruno@clisp.org>
89970
89971         * lib/rename.c: #undef rename before defining rpl_rename.
89972         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
89973
89974 2003-01-30  Bruno Haible  <bruno@clisp.org>
89975
89976         * modules/vasnprintf, modules/vasprintf: New modules.
89977         * MODULES.html.sh (func_all_modules): Add them.
89978
89979 2003-01-30  Bruno Haible  <bruno@clisp.org>
89980
89981         * m4/signed.m4: New file, from GNU gettext.
89982         * m4/longdouble.m4: New file, from GNU gettext.
89983         * m4/wchar_t.m4: New file, from GNU gettext.
89984         * m4/wint_t.m4: New file, from GNU gettext.
89985         * m4/vasnprintf.m4: New file.
89986         * m4/vasprintf.m4: New file.
89987
89988 2003-01-30  Bruno Haible  <bruno@clisp.org>
89989
89990         * lib/printf-args.h: New file, from GNU gettext.
89991         * lib/printf-args.c: New file, from GNU gettext.
89992         * lib/printf-parse.h: New file, from GNU gettext.
89993         * lib/printf-parse.c: New file, from GNU gettext.
89994         * lib/vasnprintf.h: New file, from GNU gettext.
89995         * lib/vasnprintf.c: New file, from GNU gettext.
89996         * lib/asnprintf.c: New file, from GNU gettext.
89997         * lib/vasprintf.h: New file, from GNU gettext with modifications.
89998         * lib/vasprintf.c: New file, from GNU gettext.
89999         * lib/asprintf.c: New file, from GNU gettext.
90000
90001 2003-01-29  Bruno Haible  <bruno@clisp.org>
90002
90003         * modules/stpncpy: New module.
90004         * MODULES.html.sh (func_all_modules): Add it.
90005
90006 2003-01-29  Bruno Haible  <bruno@clisp.org>
90007
90008         * m4/stpncpy.m4: New file.
90009
90010 2003-01-29  Bruno Haible  <bruno@clisp.org>
90011
90012         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90013         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90014
90015 2003-01-28  Bruno Haible  <bruno@clisp.org>
90016
90017         * modules/c-ctype: New module.
90018         * MODULES.html.sh (func_all_modules): Add it.
90019
90020 2003-01-28  Bruno Haible  <bruno@clisp.org>
90021
90022         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90023         Paul Eggert.
90024         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90025         Paul Eggert.
90026
90027 2003-01-27  Bruno Haible  <bruno@clisp.org>
90028
90029         * modules/xsetenv: New module.
90030         * MODULES.html.sh (func_all_modules): Add it.
90031
90032 2003-01-27  Bruno Haible  <bruno@clisp.org>
90033
90034         * lib/xsetenv.h: New file, from GNU gettext.
90035         * lib/xsetenv.c: New file, from GNU gettext.
90036
90037 2003-01-23  Jim Meyering  <jim@meyering.net>
90038
90039         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90040         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90041
90042 2003-01-23  Bruno Haible  <bruno@clisp.org>
90043
90044         * modules/minmax: New module.
90045         * MODULES.html.sh (func_all_modules): Add it.
90046
90047 2003-01-23  Bruno Haible  <bruno@clisp.org>
90048
90049         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90050         Eggert.
90051
90052 2003-01-22  Bruno Haible  <bruno@clisp.org>
90053
90054         * modules/exit: New module.
90055         * MODULES.html.sh (func_all_modules): Add it.
90056
90057 2003-01-22  Bruno Haible  <bruno@clisp.org>
90058
90059         * lib/exit.h: New file, from GNU gettext.
90060
90061 2003-01-19  Bruno Haible  <bruno@clisp.org>
90062
90063         * gnulib-tool: Recognize option --extract-maintainer.
90064         (func_get_maintainer): New function.
90065         * modules/*: Add Maintainer entry.
90066
90067 2003-01-16  Jim Meyering  <jim@meyering.net>
90068
90069         * m4/regex.m4: The `regex' struct is both input and output.
90070         Initialize it before each use.  Patch by Tim Waugh.
90071
90072 2003-01-16  Bruno Haible  <bruno@clisp.org>
90073
90074         * MODULES.html.sh: Add a table of contents. Add the module name as
90075         leftmost column. Add hyperlinks.
90076
90077 2003-01-15  Bruno Haible  <bruno@clisp.org>
90078
90079         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90080
90081 2003-01-15  Bruno Haible  <bruno@clisp.org>
90082
90083         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90084         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90085         suffix.
90086
90087 2003-01-15  Bruno Haible  <bruno@clisp.org>
90088
90089         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90090
90091 2003-01-15  Bruno Haible  <bruno@clisp.org>
90092
90093         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90094         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90095
90096 2003-01-14  Jim Meyering  <jim@meyering.net>
90097
90098         * lib/same.c (same_name): Tweak a comment.
90099
90100 2003-01-14  Bruno Haible  <bruno@clisp.org>
90101
90102         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90103         when a string comparison is sufficient.
90104
90105 2003-01-14  Bruno Haible  <bruno@clisp.org>
90106
90107         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90108         'unsigned int'.
90109
90110 2003-01-14  Bruno Haible  <bruno@clisp.org>
90111
90112         * lib/hash-pjw.c: Add comment about low quality of this function.
90113
90114 2003-01-13  Bruno Haible  <bruno@clisp.org>
90115
90116         * modules/stpcpy: Distribute lib/stpcpy.h.
90117         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90118
90119 2003-01-13  Bruno Haible  <bruno@clisp.org>
90120
90121         * modules/*: Add a description.
90122         * modules/strpbrk: Fix Makefile.am snippet.
90123         * modules/strtoimax: Fix dependencies.
90124         * modules/strtoumax: Likewise.
90125
90126 2003-01-13  Bruno Haible  <bruno@clisp.org>
90127
90128         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90129         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90130         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90131
90132 2003-01-13  Bruno Haible  <bruno@clisp.org>
90133
90134         * gnulib-tool (func_create_testdir): Store config/* files in the main
90135         directory.
90136         * config.rpath: Move to ...
90137         * config/config.rpath: ... here.
90138         * modules/gettext: Contains config/config.rpath, not config.rpath.
90139         * modules/iconv: Likewise.
90140
90141 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90142
90143         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90144         to avoid collisions with libcurses and libreadline.
90145
90146         * m4/getstr.m4: Remove.
90147         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90148
90149 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90150
90151         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90152         to avoid collisions with libcurses and libreadline.
90153
90154         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90155         * lib/getstr.h, getstr.c: Remove.
90156         * lib/getline.c: Include "getline.h", to check interface.
90157         Move body of old getstr.c here: this defines MIN_CHUNK and
90158         declares getdelim2, which is renamed from getstr.
90159         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90160
90161         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90162         All uses changed.
90163         * lib/linebuffer.h: Likewise.
90164         (readline): Remove backward-compatibility macro.
90165
90166 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90167
90168         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90169         to avoid collisions with libcurses and libreadline.
90170         * getstr: Remove.
90171         * MODULES.html.sh: Remove getstr.
90172         * modules/getline: Depend on unlocked-io, not getstr.
90173
90174 2003-01-12  Jim Meyering  <jim@meyering.net>
90175
90176         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90177
90178 2003-01-10  Bruno Haible  <bruno@clisp.org>
90179
90180         * modules/alloca: Change Makefile.am requirements. Simplify Include
90181         requirements. Add lib/alloca_.h to file list.
90182
90183 2003-01-10  Bruno Haible  <bruno@clisp.org>
90184
90185         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90186
90187 2003-01-10  Bruno Haible  <bruno@clisp.org>
90188
90189         * lib/alloca_.h: New file.
90190         * lib/getdate.y: Unconditionally include alloca.h.
90191         * lib/makepath.c: Likewise.
90192         * lib/setenv.c: Likewise.
90193         * lib/userspec.c: Likewise.
90194
90195 2003-01-09  Karl Berry  <karl@gnu.org>
90196
90197         * MODULES.html.sh: include `dirname $0` in PATH, to find
90198         gnulib-tool.
90199
90200 2003-01-09  Bruno Haible  <bruno@clisp.org>
90201
90202         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90203         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90204
90205 2003-01-09  Bruno Haible  <bruno@clisp.org>
90206
90207         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90208
90209 2003-01-09  Bruno Haible  <bruno@clisp.org>
90210
90211         * lib/stdbool.h.in: New file.
90212
90213 2003-01-09  Bruno Haible  <bruno@clisp.org>
90214
90215         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90216         * MODULES.html.sh: Likewise.
90217
90218 2003-01-08  Jim Meyering  <jim@meyering.net>
90219
90220         * lib/full-write.c: Undefine and define-away `const' after inclusion
90221         of errno.h, not before.  Suggestion from Bruno Haible.
90222
90223 2003-01-08  Bruno Haible  <bruno@clisp.org>
90224
90225         * modules/full-read: Depend on full-write.
90226
90227 2003-01-08  Bruno Haible  <bruno@clisp.org>
90228
90229         * lib/safe-read.c: Include specification header first, to ensure its
90230         selfcontainedness.
90231         * lib/full-write.c: Likewise.
90232
90233 2003-01-07  Jim Meyering  <jim@meyering.net>
90234
90235         * lib/full-write.c: Rework so that it may serve to define full_read,
90236         too.
90237         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90238
90239 2003-01-07  Bruno Haible  <bruno@clisp.org>
90240
90241         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90242         <inttypes.h>.
90243         * lib/xstrtol.h: Likewise.
90244         * lib/xstrtoimax.c: Likewise.
90245         * lib/xstrtoumax.c: Likewise.
90246         * lib/human.h: Likewise.
90247
90248         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90249         on systems that have <inttypes.h> but not <stdint.h>.
90250
90251 2003-01-07  Bruno Haible  <bruno@clisp.org>
90252
90253         * MODULES.html.sh: Add copyright notice.
90254         (missed_files): Omit CVS directory entries.
90255         (func_module): Make it work with sed-3.02.
90256         * MODULES.txt: Remove file.
90257
90258 2003-01-06  Jim Meyering  <jim@meyering.net>
90259
90260         * lib/version-etc.c: Update year in translatable copyright string.
90261
90262 2003-01-03  Karl Berry  <karl@gnu.org>
90263
90264         * config/config.{guess,sub}: update from prep.
90265
90266 2003-01-02  Karl Berry  <karl@gnu.org>
90267
90268         * doc/COPYING.DOC: belatedly updated to 1.2.
90269
90270 2003-01-01  Karl Berry  <karl@gnu.org>
90271
90272         * gnulib-tool (func_verify_module): report module name $module in
90273         error message, not $1.
90274         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90275         be created, only if it doesn't exist.
90276         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90277
90278 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90279
90280         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90281
90282 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90283
90284         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90285         memcmp if strcoll doesn't work.
90286
90287 2002-12-31  Bruno Haible  <bruno@clisp.org>
90288
90289         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90290         nonempty.
90291
90292 2002-12-31  Bruno Haible  <bruno@clisp.org>
90293
90294         * lib/memcoll.c (STRCOLL): New macro.
90295         (memcoll): Use it.
90296
90297 2002-12-31  Bruno Haible  <bruno@clisp.org>
90298
90299         * lib/localcharset.h: New file.
90300         * lib/localcharset.c: Include it.
90301         * lib/unicodeio.c: Likewise.
90302
90303 2002-12-31  Bruno Haible  <bruno@clisp.org>
90304
90305         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90306         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90307
90308 2002-12-31  Bruno Haible  <bruno@clisp.org>
90309
90310         * lib/getline.h: Include <stddef.h>, for size_t.
90311
90312         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90313         * lib/unicodeio.c: Don't include <stddef.h>.
90314
90315 2002-12-31  Bruno Haible  <bruno@clisp.org>
90316
90317         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90318         HAVE_TM_ZONE.
90319
90320 2002-12-24  Karl Berry  <karl@gnu.org>
90321
90322         * config/config.guess: update from prep.
90323
90324 2002-12-24  Bruno Haible  <bruno@clisp.org>
90325
90326         General infrasructure.
90327         * m4/README: Rewritten.
90328         * m4/onceonly.m4: New file.
90329         * m4/onceonly_2_57.m4: New file.
90330
90331         Module atexit.
90332         * m4/atexit.m4: New file.
90333
90334         Module strtod.
90335         * m4/strtod.m4: New file.
90336
90337         Module strtol.
90338         * m4/strtol.m4: New file.
90339
90340         Module strtoul.
90341         * m4/strtoul.m4: New file.
90342
90343         Module memchr.
90344         * m4/memchr.m4: New file.
90345
90346         Module memcmp.
90347         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90348         (jm_FUNC_MEMCMP): Invoke it.
90349
90350         Module memcpy.
90351         * m4/memcpy.m4: New file.
90352
90353         Module memmove.
90354         * m4/memmove.m4: New file.
90355
90356         Module memset.
90357         * m4/memset.m4: New file.
90358
90359         Module strcspn.
90360         * m4/strcspn.m4: New file.
90361
90362         Module strpbrk.
90363         * m4/strpbrk.m4: New file.
90364
90365         Module strstr.
90366         * m4/strstr.m4: New file.
90367
90368         Module strerror.
90369         * m4/strerror.m4: New file.
90370
90371         Module mktime.
90372         * m4/mktime.m4: Renamed from jm-mktime.m4.
90373         (gl_PREREQ_MKTIME): New macro.
90374         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90375
90376         Module malloc.
90377         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90378         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90379         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90380
90381         Module realloc.
90382         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90383         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90384         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90385
90386         Module strftime.
90387         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90388         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90389         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90390         gl_TM_GMTOFF.
90391         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90392
90393         Module xalloc.
90394         * m4/xalloc.m4: New file.
90395
90396         Module alloca.
90397         * m4/alloca.m4: New file.
90398
90399         Module putenv.
90400         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
90401         (jm_FUNC_PUTENV): Invoke it.
90402
90403         Module setenv.
90404         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
90405         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
90406         when invoked twice.
90407         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
90408         gt_FUNC_SETENV.
90409
90410         Module memrchr.
90411         * m4/memrchr.m4: New file.
90412
90413         Module stpcpy.
90414         * m4/stpcpy.m4: New file.
90415
90416         Module strcase.
90417         * m4/strcase.m4: New file.
90418
90419         Module strdup.
90420         * m4/strdup.m4: New file.
90421
90422         Module strnlen.
90423         * m4/strnlen.m4: New file.
90424
90425         Module strndup.
90426         * m4/strndup.m4: New file.
90427
90428         Module xstrtod.
90429         * m4/xstrtod.m4: New file.
90430
90431         Module xstrtol.
90432         * m4/xstrtol.m4: New file.
90433
90434         Module getdate.
90435         * m4/getdate.m4: New file.
90436
90437         Module unlocked-io.
90438         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
90439         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
90440         * m4/jm-glibc-io.m4n: Remove file.
90441
90442         Module long-options.
90443         * m4/long-options.m4: New file.
90444
90445         Module md5.
90446         * m4/md5.m4: New file.
90447
90448         Module sha.
90449         * m4/sha.m4: New file.
90450
90451         Module getstr.
90452         * m4/getstr.m4: New file.
90453
90454         Module getline.
90455         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
90456         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
90457         <sys/types.h>, for size_t. Use the function name gnu_getline, not
90458         simply getline. Infoke gl_PREREQ_GETLINE.
90459
90460         Module obstack.
90461         * m4/obstack.m4: New file.
90462
90463         Module hash.
90464         * m4/hash.m4: New file.
90465
90466         Module readtokens.
90467         * m4/readtokens.m4: New file.
90468
90469         Module strverscmp.
90470         * m4/strverscmp.m4: New file.
90471
90472         Module stdbool.
90473         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
90474         OSF/1.
90475
90476         Module strtoll.
90477         * m4/strtoll.m4: New file.
90478
90479         Module strtoull.
90480         * m4/strtoull.m4: New file.
90481
90482         Module strtoimax.
90483         * m4/strtoimax.m4: New file.
90484
90485         Module strtoumax.
90486         * m4/strtoumax.m4: New file.
90487
90488         Module xstrtoimax.
90489         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
90490         jm_AC_PREREQ_XSTRTOIMAX.
90491         Moved the strtol prerequisites to strtol.m4.
90492         Moved the strtoll prerequisites to strtoll.m4.
90493         Moved the strtoimax prerequisites to strtoimax.m4.
90494
90495         Module xstrtoumax.
90496         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
90497         jm_AC_PREREQ_XSTRTOUMAX.
90498         Moved the strtoul prerequisites to strtoul.m4.
90499         Moved the strtoull prerequisites to strtoull.m4.
90500         Moved the strtoumax prerequisites to strtoumax.m4.
90501
90502         Module chown.
90503         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
90504         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
90505
90506         Module dup2.
90507         * m4/dup2.m4: New file.
90508
90509         Module ftruncate.
90510         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
90511         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
90512
90513         Module getgroups.
90514         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
90515         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
90516
90517         Module gettimeofday.
90518         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
90519         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
90520         gl_PREREQ_GETTIMEOFDAY.
90521
90522         Module mkdir.
90523         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
90524         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
90525
90526         Module mkstemp.
90527         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
90528         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
90529         jm_AC_TYPE_UINTMAX_T.
90530         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
90531
90532         Module stat.
90533         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90534         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90535
90536         Module lstat.
90537         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90538         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90539
90540         Module timespec.
90541         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90542         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90543         * m4/st_mtim.m4: Indentation.
90544
90545         Module nanosleep.
90546         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90547         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90548         gl_PREREQ_NANOSLEEP.
90549
90550         Module regex.
90551         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90552         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90553         (gl_REGEX): New macro.
90554
90555         Module rename.
90556         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90557         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90558
90559         Module rmdir.
90560         * m4/rmdir.m4: New file.
90561
90562         Module utime.
90563         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90564         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90565         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90566
90567         Module dirname.
90568         * m4/dirname.m4: New file.
90569
90570         Module getopt.
90571         * m4/getopt.m4: New file.
90572
90573         Module unistd-safer.
90574         * m4/unistd-safer.m4: New file.
90575
90576         Module fnmatch.
90577         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90578         declaration.
90579         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90580         (gl_FUNC_FNMATCH_POSIX): New macro.
90581         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90582         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90583         simply fnmatch.
90584
90585         Module exclude.
90586         * m4/exclude.m4: New file.
90587
90588         Module human.
90589         * m4/human.m4: New file.
90590
90591         Module acl.
90592         * m4/acl.m4: Nop.
90593
90594         Module backupfile.
90595         * m4/backupfile.m4: New file.
90596         * m4/d-ino.m4: Indentation.
90597
90598         Module fsusage.
90599         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90600         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90601         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90602
90603         Module dirfd.
90604         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90605         requirements.
90606
90607         Module euidaccess.
90608         * m4/euidaccess.m4: New file.
90609
90610         Module file-type.
90611         * m4/file-type.m4: New file.
90612
90613         Module fileblocks.
90614         * m4/fileblocks.m4: New file.
90615
90616         Module filemode.
90617         * m4/filemode.m4: New file.
90618
90619         Module isdir.
90620         * m4/isdir.m4: New file.
90621
90622         Module lchown.
90623         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90624         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90625
90626         Module makepath.
90627         * m4/makepath.m4: New file.
90628
90629         Module modechange.
90630         * m4/modechange.m4: New file.
90631
90632         Module mountlist.
90633         * m4/mountlist.m4: New file.
90634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90635         Indentation.
90636
90637         Module path-concat.
90638         * m4/path-concat.m4: New file.
90639
90640         Module pathmax.
90641         * m4/pathmax.m4: New file.
90642
90643         Module same.
90644         * m4/same.m4: New file.
90645
90646         Module save-cwd.
90647         * m4/save-cwd.m4: New file.
90648
90649         Module savedir.
90650         * m4/savedir.m4: New file.
90651
90652         Module xgetcwd.
90653         * m4/xgetcwd.m4: New file.
90654         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90655
90656         Module xreadlink.
90657         * m4/xreadlink.m4: New file.
90658
90659         Module safe-read.
90660         * m4/safe-read.m4: New file.
90661
90662         Module safe-write.
90663         * m4/safe-write.m4: New file.
90664
90665         Module closeout.
90666         * m4/closeout.m4: New file.
90667
90668         Module stdio-safer.
90669         * m4/stdio-safer.m4: New file.
90670
90671         Module getpass.
90672         * m4/getpass.m4: New file.
90673
90674         Module getugroups.
90675         * m4/getugroups.m4: New file.
90676
90677         Module group-member.
90678         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90679         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90680
90681         Module idcache.
90682         * m4/idcache.m4: New file.
90683
90684         Module userspec.
90685         * m4/userspec.m4: New file.
90686
90687         Module gettime.
90688         * m4/clock_time.m4: New file.
90689         * m4/gettime.m4: New file.
90690
90691         Module settime.
90692         * m4/settime.m4: New file.
90693
90694         Module posixtm.
90695         * m4/posixtm.m4: New file.
90696
90697         Module gethostname.
90698         * m4/gethostname.m4: New file.
90699
90700         Module canon-host.
90701         * m4/canon-host.m4: New file.
90702
90703         Module gettext.
90704         * m4/codeset.m4: New file, from gettext-0.11.5.
90705         * m4/gettext.m4: New file, from gettext-0.11.5.
90706         * m4/glibc21.m4: New file, from gettext-0.11.5.
90707         * m4/iconv.m4: New file, from gettext-0.11.5.
90708         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90709         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90710         * m4/inttypes.m4: New file, from gettext-0.11.5.
90711         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90712         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90713         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90714         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90715         * m4/lib-link.m4: New file, from gettext-0.11.5.
90716         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90717         * m4/progtest.m4: New file, from gettext-0.11.5.
90718         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90719         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90720         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90721
90722         Module localcharset.
90723         * m4/localcharset.m4: New file.
90724
90725         Module hard-locale.
90726         * m4/hard-locale.m4: New file.
90727
90728         Module mbswidth.
90729         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90730         onceonly macros.
90731         * m4/mbrtowc.m4: Add comment.
90732
90733         Module memcasecmp.
90734         * m4/memcasecmp.m4: New file.
90735
90736         Module memcoll.
90737         * m4/memcoll.m4: New file.
90738
90739         Module unicodeio.
90740         * m4/unicodeio.m4: New file.
90741
90742         Module rpmatch.
90743         * m4/rpmatch.m4: New file.
90744
90745         Module yesno.
90746         * m4/yesno.m4: New file.
90747
90748         Module exitfail.
90749         * m4/exitfail.m4: New file.
90750
90751         Module c-stack.
90752         * m4/c-stack.m4 (gl_C_STACK): New macro.
90753         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90754
90755         Module error.
90756         * m4/error.m4 (gl_ERROR): New macro.
90757         (jm_PREREQ_ERROR): Use onceonly macros.
90758
90759         Module fatal.
90760         * m4/fatal.m4: New file.
90761
90762         Module getloadavg.
90763         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90764         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90765
90766         Module getpagesize.
90767         * m4/getpagesize.m4: New file.
90768
90769         Module getusershell.
90770         * m4/getusershell.m4: New file.
90771
90772         Module physmem.
90773         * m4/physmem.m4: New file.
90774
90775         Module posixver.
90776         * m4/posixver.m4: New file.
90777
90778         Module quotearg.
90779         * m4/quotearg.m4: New file.
90780
90781         Module quote.
90782         * m4/quote.m4: New file.
90783
90784         Module readutmp.
90785         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90786
90787         Module sig2str.
90788         * m4/sig2str.m4: New file.
90789
90790         Other.
90791         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90792         ulonglong.m4.
90793         * m4/intmax_t.m4: New file.
90794         * m4/d-type.m4: Indentation.
90795         * m4/jm-macros.m4: Update.
90796         * m4/prereq.m4 (jm_PREREQ): Update.
90797         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90798         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90799         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90800         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90801         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90802         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90803         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90804         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90805         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90806         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90807         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90808         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90809         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90810         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90811         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90812         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90813         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90814         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90815         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90816
90817 2002-12-24  Bruno Haible  <bruno@clisp.org>
90818
90819         * MODULES.txt: Update according to m4/ changes.
90820
90821         Module gettext.
90822         * config.rpath: New file, from gettext-0.11.5.
90823
90824         * modules/*: New module descriptions.
90825         * gnulib-tool: New file.
90826         * MODULES.html.sh: New file.
90827
90828 2002-12-21  Karl Berry  <karl@gnu.org>
90829
90830         * doc/fdl.texi: update to version 1.2.
90831
90832 2002-12-19  Karl Berry  <karl@gnu.org>
90833
90834         * config/config.guess: update from prep.
90835
90836 2002-12-18  Bruno Haible  <bruno@clisp.org>
90837
90838         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90839         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90840
90841 2002-12-17  Bruno Haible  <bruno@clisp.org>
90842
90843         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90844         stdlib.h, string.h.
90845
90846 2002-12-17  Bruno Haible  <bruno@clisp.org>
90847
90848         * lib/canon-host.c (strdup): Remove unused declaration.
90849
90850         * lib/fsusage.c: Include full_read.h.
90851         (get_fs_usage): Use full_read instead of safe_read.
90852
90853         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90854
90855 2002-12-12  Karl Berry  <karl@gnu.org>
90856
90857         * config/config.guess: update from prep.
90858
90859 2002-12-11  Bruno Haible  <bruno@clisp.org>
90860
90861         * m4/setenv.m4: New file, from gettext-0.11.5.
90862
90863 2002-12-11  Bruno Haible  <bruno@clisp.org>
90864
90865         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90866         not unsetenv().
90867         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90868         modifications:
90869
90870         2002-12-11  Bruno Haible  <bruno@clisp.org>
90871
90872                 * setenv.c (alloca): Fall back to malloc.
90873                 (freea): New macro.
90874                 (setenv): Use freea() to free memory allocated with alloca().
90875
90876         2002-11-13  Bruno Haible  <bruno@clisp.org>
90877
90878                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90879                 function declarations.
90880                 * unsetenv.c (unsetenv): Likewise.
90881
90882         2002-03-04  Bruno Haible  <bruno@clisp.org>
90883
90884                 Portability to AIX 4.3.3.
90885                 * unsetenv.c: New file, extracted from setenv.c.
90886                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90887
90888         2001-12-20  Bruno Haible  <bruno@clisp.org>
90889
90890                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90891                 use malloc instead. For SunOS 4.
90892
90893         2001-12-11  Bruno Haible  <bruno@clisp.org>
90894
90895                 * setenv.c: Declare alloca.
90896                 (compar_fn_t): New typedef.
90897                 (KNOWN_VALUE, STORE_VALUE): Use it.
90898
90899         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90900         setenv.h.
90901
90902 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90903
90904         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
90905         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
90906         Choose values that are less likely to collide with system fnmatch
90907         options.
90908         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
90909         defined (e.g., a pure POSIX system).
90910         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
90911         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
90912
90913 2002-12-06  Paul Eggert  <eggert@twinsun.com>
90914
90915         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
90916         a pain in practice to deal with generated m4 files.  This change
90917         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
90918
90919         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
90920         and jm-glibc-io.m4, as they are no longer a special case.
90921         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
90922         kludge and the auto-generation stuff.  Check only whether the
90923         functions are declared, not whether they exist, since older hosts
90924         that don't declare the functions can't use the optimization anyway.
90925
90926 2002-12-06  Jim Meyering  <jim@meyering.net>
90927
90928         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
90929
90930         Merge in changes from libc's misc/error.c, in preparation
90931         for the merge of gnulib's changes back into libc.
90932
90933         * lib/error.c (_): Define only if not already defined.
90934         Move definition to follow all #include directives.
90935         Include unlocked-io.h only if !_LIBC.
90936         [_LIBC]: Include <libio/libioP.h>.
90937         [USE_IN_LIBIO]: Include <libio/iolibio.h>
90938         (fflush): Tweak definition to use INTUSE.
90939         (putc): Define.
90940
90941 2002-12-05  Paul Eggert  <eggert@twinsun.com>
90942
90943         * lib/alloca.c [defined emacs]: Include "lisp.h".
90944         (xalloc_die) [defined emacs]: New macro.
90945         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
90946         [! defined emacs]: Include <xalloc.h>.
90947         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
90948         (pointer): Typedef to POINTER_TYPE *.
90949         (malloc): Remove decl; we now always use xmalloc.
90950         (alloca): Use old-style definition, since Emacs needs this.
90951         Check for arithmetic overflow when computing combined size.
90952
90953 2002-12-04  Paul Eggert  <eggert@twinsun.com>
90954
90955         Do not generate unlocked-io.h automatically, since it's easier to
90956         maintain it by hand.
90957
90958         * lib/unlocked-io.h: New file, from GNU diffutils,
90959         but with proper copyright notice and attribution.
90960         * lib/gen-uio: Remove.
90961         * lib/Makefile.am: Add copyright notice.
90962         (libfetish_a_SOURCES): Add unlocked-io.h.
90963         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
90964         (DISTCLEANFILES, io_functions): Remove macros.
90965         (EXTRA_DIST): Remove gen_uio.
90966         (unlocked-io.h): Remove rule.
90967
90968 2002-12-04  Jim Meyering  <jim@meyering.net>
90969
90970         Reflect the fact that stat.c and lstat.c are no longer generated.
90971         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
90972         (DISTCLEANFILES): Likewise.
90973         (EXTRA_DIST): Likewise.
90974         (all_local): Don't depend on stat.c or lstat.c.
90975         (stat.c, lstat.c): Remove rules.
90976         (EXTRA_DIST): Remove xstat.in.
90977
90978         * lib/xstat.in: Remove file.  Contents moved into stat.c.
90979         * lib/stat.c: New file.  Contents mostly from xstat.in.
90980         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
90981         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
90982
90983         * lib/safe-read.c: Rework so that it may serve to define safe_write,
90984         too.
90985         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
90986
90987 2002-12-03  Jim Meyering  <jim@meyering.net>
90988
90989         * lib/safe-read.c, safe-write.c: Change variable names and comments,
90990         but not semantics, to minimize the differences between these two files.
90991         (safe_read): Change comment to mention SAFE_READ_ERROR.
90992
90993         * lib/safe-read.c (IS_EINTR): Define.
90994         (safe_read): Use IS_EINTR in place of in-function cpp directives.
90995
90996 2002-12-02  Jim Meyering  <jim@meyering.net>
90997
90998         * lib/safe-read.c (EINTR): Define.
90999         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91000         (INT_MAX): Provide fallback.
91001         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91002
91003         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91004
91005 2002-12-02  Bruno Haible  <bruno@clisp.org>
91006
91007         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91008         Define, taken from safe-read.c.
91009         (INT_MAX): Provide fallback.
91010         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91011         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91012
91013         * lib/safe-read.c (EINTR): Remove definition.
91014         (safe_read): Don't use EINTR if it is absent.
91015
91016 2002-12-01  Jim Meyering  <jim@meyering.net>
91017
91018         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91019         zero.
91020         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91021
91022 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91023
91024         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91025         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91026         with `if (! (value < limit)) abort ();', for readability.
91027
91028 2002-11-26  Karl Berry  <karl@gnu.org>
91029
91030         * lib/strdup.c: copy from libc again, with jim's ok.
91031         * lib/.cppi-disable: re-add strdup.c
91032
91033 2002-11-25  Karl Berry  <karl@gnu.org>
91034
91035         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91036         instead of "strtol.c".
91037
91038 2002-11-25  Karl Berry  <karl@gnu.org>
91039
91040         * config/install-sh: update from automake for variable quoting, $0 in
91041         error msgs, etc.
91042
91043         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91044         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91045         entry.
91046
91047 2002-11-25  Jim Meyering  <jim@meyering.net>
91048
91049         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91050
91051 2002-11-24  Karl Berry  <karl@gnu.org>
91052
91053         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91054         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91055
91056 2002-11-24  Jim Meyering  <jim@meyering.net>
91057
91058         Update from coreutils:
91059
91060         * lib/mktime.c: Merge in changes from libc.
91061
91062         Avoid a link-time failure on some Linux systems.
91063         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91064         (otherwise).
91065         (__mon_yday): Declare with the STATIC attribute.
91066         (__mktime_internal): Likewise.
91067         Based on a report from Greg Schafer.
91068
91069 2002-11-23  Jim Meyering  <jim@meyering.net>
91070
91071         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91072         Use `unsigned', not `int', as type of index.
91073
91074         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91075
91076         * lib/fsusage.c: Remove unneeded parentheses around operands of
91077         `defined'.
91078
91079 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91080
91081         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91082         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91083         so that we can be included first.
91084         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91085         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91086         No need to include stddef.h or sys/types.h any more.
91087         Surround local include files with "", not "<>".
91088         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91089         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91090         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91091         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91092         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91093         (ISPRINT): Remove; no longer needed now that we assume C89.
91094
91095         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91096         Preserve errno.
91097
91098         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91099         quotearg_char): Use SIZE_MAX rather than
91100         (size_t) -1 when we are talking about "infinity".
91101
91102         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91103
91104 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91105
91106         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91107         hint that one should use `if (! x) abort ();' rather than `assert
91108         (x);', and anyway it's one less thing to worry about configuring.
91109         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91110         hash_rehash, hash_insert): Use abort rather than assert.
91111
91112 2002-11-22  Bruno Haible  <bruno@clisp.org>
91113
91114         * lib/safe-read.h: Assume C89. Add comments.
91115         (safe_read): Change return type to size_t.
91116         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91117         byte counts > SSIZE_MAX correctly.
91118         * lib/safe-write.h: New file.
91119         * lib/safe-write.c: New file.
91120         * lib/full-read.h: New file.
91121         * lib/full-read.c: New file.
91122         * lib/full-write.h: Assume C89. Add comments.
91123         * lib/full-write.c: Include safe-write.h.
91124         (full_write): Rewritten to use safe_write.
91125         Suggested by Jim Meyering and Paul Eggert.
91126
91127 2002-11-21  Jim Meyering  <jim@meyering.net>
91128
91129         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91130
91131         Merge in changes from the coreutils.
91132
91133         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91134         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91135         <stdint.h>.
91136         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91137         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91138         int.  Work more efficiently if X is the same width as uintmax_t.
91139         Do not compare X to -1, to avoid bogus compiler warning.
91140         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91141         Don't assume that f_frsize and f_bsize are the same type.
91142
91143         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91144         warning on FreeBSD.
91145
91146         * lib/makepath.c (make_path): Restore umask *before* creating the final
91147         component.
91148         (make_path): Minor reformatting.
91149
91150         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91151         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91152         HAVE_MALLOC/HAVE_REALLOC.
91153
91154         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91155         dummy ones.  At least on GNU/Linux systems, `auto' means something
91156         else.
91157         From Michael Stone.
91158
91159 2002-11-21  Bruno Haible  <bruno@clisp.org>
91160
91161         Remove case insensitive option matching.
91162         * lib/argmatch.h (argcasematch): Remove declaration.
91163         (ARGCASEMATCH): Remove macro.
91164         (__xargmatch_internal): Remove case_sensitive argument.
91165         (XARGMATCH): Update.
91166         (XARGCASEMATCH): Remove macro.
91167         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91168         case_sensitive argument.
91169         (argcasematch): Remove function.
91170         (__xargmatch_internal): Remove case_sensitive argument.
91171         (main): Use XARGMATCH instead of XARGCASEMATCH.
91172
91173         * lib/xmalloc.c: Change compile-time error message. Add comment about
91174         required autoconf version.
91175
91176 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91177
91178         Merge argmatch cleanups from Bison.  Assume C89.
91179
91180         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91181         Include stdlib.h, for EXIT_FAILURE.
91182         Always include <string.h>, since we assume C89.
91183         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91184         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91185         Include <stddef.h> instead, since it's all we need for size_t.
91186         (PARAMS): Remove.  All uses removed.
91187         (ARRAY_CARDINALITY): Do not bother to #undef.
91188         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91189         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91190         Remove unnecessary parentheses.
91191         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91192         Insert necessary parentheses.
91193         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91194         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91195
91196 2002-11-19  Bruno Haible  <bruno@clisp.org>
91197
91198         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91199         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91200
91201         * lib/mbswidth.h (PARAMS): Remove macro.
91202         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91203         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91204
91205         * lib/gcd.h (PARAMS): Remove macro.
91206         (gcd): Use ANSI C function declarations.
91207         * lib/gcd.c (gcd): Likewise.
91208
91209 2002-11-15  Bruno Haible  <bruno@clisp.org>
91210
91211         * lib/strcspn.c: Include <stddef.h>.
91212         (strcspn): Use ANSI C function declaration. Change return type to
91213         size_t. Use NULL.
91214         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91215         (strpbrk): Use NULL.
91216         * lib/strpbrk.h (PARAMS): Remove macro.
91217         (strpbrk): Use ANSI C function declaration.
91218         * lib/strstr.c: Don't include <sys/types.h>.
91219         * lib/strstr.h (PARAMS): Remove macro.
91220         (strstr): Use ANSI C function declarations.
91221
91222 2002-11-14  Karl Berry  <karl@gnu.org>
91223
91224         * config/mkinstalldirs: `do' on separate line, instead of
91225         `for var; do'.
91226
91227 2002-11-06  Bruno Haible  <bruno@clisp.org>
91228
91229         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91230         * lib/gcd.c (gcd): Likewise.
91231
91232 2002-11-05  Bruno Haible  <bruno@clisp.org>
91233
91234         * lib/gcd.h: New file, from gettext-0.11.5.
91235         * lib/gcd.c: New file, from gettext-0.11.5.
91236
91237 2002-11-05  Bruno Haible  <bruno@clisp.org>
91238
91239         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91240         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91241         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91242         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91243
91244         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91245         <libintl.h>.
91246         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91247         <libintl.h>.
91248
91249         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91250         * lib/human.c: Include gettext.h instead of <libintl.h>.
91251         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91252         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91253         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91254         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91255         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91256         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91257         (textdomain): Remove definition.
91258         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91259
91260         * lib/long-options.c: Remove include of <libintl.h> and definition of
91261         _.
91262         * lib/same.c: Remove include of <libintl.h> and definition of _.
91263
91264 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91265
91266         * lib/config.charset: A few additions for Solaris.
91267
91268 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91269
91270         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91271         * lib/localcharset.c (locale_charset): Declare as extern "C".
91272
91273 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91274
91275         * lib/config.charset: msdos in uk_UA uses CP1125.
91276
91277 2002-11-04  Bruno Haible  <bruno@clisp.org>
91278
91279         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91280         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91281         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91282         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91283         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91284
91285 2002-11-04  Bruno Haible  <bruno@clisp.org>
91286
91287         * lib/localcharset.c (locale_charset): Don't return an empty string.
91288
91289 2002-11-04  Bruno Haible  <bruno@clisp.org>
91290
91291         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91292         aliases.
91293
91294 2002-11-04  Bruno Haible  <bruno@clisp.org>
91295
91296         * lib/config.charset: Update for newest glibc. Add canonical names
91297         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91298
91299 2002-11-04  Bruno Haible  <bruno@clisp.org>
91300
91301         * lib/config.charset: Add support for NetBSD.
91302
91303 2002-11-04  Bruno Haible  <bruno@clisp.org>
91304
91305         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91306
91307 2002-11-01  Bruno Haible  <bruno@clisp.org>
91308
91309         * configure.in: Add AC_CONFIG_AUX_DIR call.
91310         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91311         test/Makefile.
91312         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91313
91314 2002-09-28  Karl Berry  <karl@gnu.org>
91315
91316         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91317         installed automake until the next release, since changes have been
91318         made.
91319
91320 2002-09-25  Karl Berry  <karl@gnu.org>
91321
91322         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91323         * lib/getopt*: copy from libc/posix.
91324         * lib/gettext.h: copy from gettext.
91325         * lib/.cppi-disable: add strdup.c, gettext.h.
91326
91327 2002-09-25  Karl Berry  <karl@gnu.org>
91328
91329         * config/srclist.txt: enable gettext.h check.
91330         * config/config.{guess,sub}: update from prep.
91331         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91332                 from automake 1.6.3.
91333         See srclist*.
91334
91335 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91336
91337         * regex.c (PATFETCH): Remove the translating fetch.
91338         (PATFETCH_RAW): Rename to PATFETCH.
91339         (set_image_of_range): New fun.
91340         (SET_RANGE_TABLE_WORK_AREA): Use it.
91341         (regex_compile): Don't translate the pattern chars so eagerly.
91342         Only do it when inserting an `exactn' bytecode or when handling
91343         a char-range.
91344         (mutually_exclusive_p): Avoid empty statement.
91345
91346 2002-07-06  Jim Meyering  <meyering@lucent.com>
91347
91348         * m4/README: Don't mention Makefile.am.in.
91349         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91350
91351 2002-07-01  Jim Meyering  <meyering@lucent.com>
91352
91353         * lib/c-stack.c: Include sys/time.h.
91354         From Volker Borchert.
91355
91356 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91357
91358         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91359
91360 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91361
91362         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91363         New macro.  Use it uniformly instead of
91364         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91365         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91366         reported by Vin Shelton.
91367
91368 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91369
91370         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91371         Do not assume SA_SIGINFO behavior.
91372         Bug reported by Jim Meyering on NetBSD 1.5.2.
91373
91374 2002-06-22  Jim Meyering  <meyering@lucent.com>
91375
91376         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91377         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91378
91379         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91380         now that configure.ac uses AC_GNU_SOURCE.
91381         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91382         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91383
91384         Update to latest tools.  Suggestions from Paul Eggert.
91385         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91386         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91387         * m4/fnmatch.m4: Likewise.
91388         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91389         to AC_HEADER_STDBOOL
91390
91391 2002-06-22  Jim Meyering  <meyering@lucent.com>
91392
91393         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
91394         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
91395
91396 2002-06-22  Jim Meyering  <meyering@lucent.com>
91397
91398         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
91399
91400         * lib/exitfail.c, exitfail.h: Likewise.
91401         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
91402
91403         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
91404         of fnmatch.h.
91405         (EXTRA_DIST): Add fnmatch_loop.c.
91406         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
91407
91408         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
91409         * lib/fnmatch.c: Update from diffutils-2.8.2.
91410         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
91411         * lib/fnmatch.h: Remove file.
91412
91413 2002-06-21  Jim Meyering  <meyering@lucent.com>
91414
91415         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
91416         * m4/mbrtowc.m4: Likewise.
91417
91418         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
91419         * m4/mbswidth.m4: Reflect name change:
91420         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
91421         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91422
91423         * m4/lib-link.m4: Update from gettext-0.11.2.
91424         * m4/gettext.m4: Likewise.
91425
91426         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
91427         From Alfred M. Szmidt.
91428
91429 2002-06-18  Paul Eggert  <eggert@twinsun.com>
91430
91431         * lib/file-type.h: Report an error if neither S_ISREG nor
91432         S_IFREG is defined, instead of using a test specific to glibc
91433         2.2.  This should be safe, since POSIX requires S_ISREG and
91434         Unix Version 7 had S_IFREG.  We don't need to check for
91435         <sys/types.h> since we don't use any symbols that it defines.
91436
91437 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
91438
91439         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
91440         $@-t, so that each temporary file name is unique and valid in the first
91441         8 characters, for operation under DOS.
91442
91443 2002-06-15  Paul Eggert  <eggert@twinsun.com>
91444
91445         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
91446
91447 2002-06-15  Jim Meyering  <meyering@lucent.com>
91448
91449         Work even with DJGPP 2.03, which lacks support for symlinks.
91450         From Richard Dawe.
91451         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
91452         is defined.
91453         * lib/lchown.c (S_ISLNK): Likewise.
91454
91455 2002-06-15  Jim Meyering  <meyering@lucent.com>
91456
91457         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
91458         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
91459         have been included before this file.
91460
91461 2002-06-14  Jim Meyering  <meyering@lucent.com>
91462
91463         * lib/file-type.h: Use the version from diffutils-2.8.2.
91464         * lib/file-type.c: Likewise.
91465
91466 2002-06-07  Jim Meyering  <meyering@lucent.com>
91467
91468         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
91469         They're needed at least for NetBSD 1.5.2.
91470         ($statxfs_includes): Include those same headers.
91471         ($statxfs_includes): Include sys/vfs.h if available.
91472         ($statxfs_includes): Likewise for sys/statvfs.h.
91473         Check for the following members in both structs statfs and statvfs:
91474         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
91475
91476 2002-06-01  Jim Meyering  <meyering@lucent.com>
91477
91478         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
91479         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
91480
91481 2002-05-28  Jim Meyering  <meyering@lucent.com>
91482
91483         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
91484         Reported by Volker Borchert.
91485
91486 2002-05-27  Jim Meyering  <meyering@lucent.com>
91487
91488         Fix a problem seen only on nonconforming systems whereby ls.c's
91489         use of localtime, and then of gettimeofday would cause trouble:
91490         the localtime call used to initialize rpl_gettimeofday's save
91491         mechanism would clobber ls's current local time information so
91492         that in any long listing the first file would always be listed
91493         with date 1970-01-01.  Analysis by Volker Borchert.
91494
91495         * lib/gettimeofday.c (localtime): Undefine.
91496         (rpl_localtime): New function.
91497
91498 2002-05-27  Jim Meyering  <meyering@lucent.com>
91499
91500         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
91501         localtime.
91502
91503         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
91504         use the replacement function; it wouldn't resolve at link time.
91505         Reported by Volker Borchert.
91506
91507 2002-05-22  Jim Meyering  <meyering@lucent.com>
91508
91509         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
91510         file-type.h.
91511         * lib/file-type.h: New file.
91512         * lib/file-type.c (file_type): New file/function.  Extracted from
91513         diffutils.
91514
91515 2002-04-30  Jim Meyering  <meyering@lucent.com>
91516
91517         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
91518
91519 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91520
91521         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
91522
91523 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91524
91525         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
91526         Do not check for alloca.h (no longer used) or stdbool.h (was never
91527         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
91528
91529 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91530
91531         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
91532
91533 2002-04-29  Jim Meyering  <meyering@lucent.com>
91534
91535         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91536         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91537         Use AC_FUNC_STRNLEN here instead.
91538
91539         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91540         With autoconf-2.53a, it's part of AC_PROG_CC.
91541
91542 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91543
91544         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91545         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91546
91547 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91548
91549         * lib/sig2str.h, lib/sig2str.c: New files.
91550         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91551
91552 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91553
91554         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91555         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91556         of 127, since 64 is the largest conceivable number for ancient
91557         nonstandard hosts.
91558         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91559
91560 2002-04-28  Jim Meyering  <meyering@lucent.com>
91561
91562         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91563
91564 2002-04-24  Jim Meyering  <meyering@lucent.com>
91565
91566         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91567         (jm_PREREQ): Use it.
91568
91569         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91570         mach/mach.h fcntl.h.
91571         Check for this function: setlocale.
91572
91573 2002-04-24  Jim Meyering  <meyering@lucent.com>
91574
91575         * lib/gettext.h: New file, from Gettext.
91576         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91577         (libfetish_a_SOURCES): Add gettext.h.
91578
91579 2002-04-16  Jim Meyering  <meyering@lucent.com>
91580
91581         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91582         ut_pid, ut_id, ut_exit.
91583
91584 2002-04-16  Jim Meyering  <meyering@lucent.com>
91585
91586         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91587         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91588         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91589
91590 2002-04-12  Jim Meyering  <meyering@lucent.com>
91591
91592         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91593         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91594         existence of the getmntinfo function.  Needed for Darwin 5.3.
91595
91596         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91597         This is necessary at least on Darwin 5.3.
91598
91599         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91600         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91601         strnlen.o in the library, and that makes some versions of ranlib
91602         object.
91603
91604 2002-04-12  Jim Meyering  <meyering@lucent.com>
91605
91606         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91607
91608 2002-04-09  Jim Meyering  <meyering@lucent.com>
91609
91610         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91611         to be more precise.  Rather than saying we're checking whether the
91612         function `works', say what we're testing.
91613         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91614         Reported by Bruno Haible.
91615
91616 2002-03-10  Jim Meyering  <meyering@lucent.com>
91617
91618         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91619         Suggestion from Santiago Vila.
91620
91621 2002-03-08  Jim Meyering  <meyering@lucent.com>
91622
91623         * lib/rename.c: Mention that this wrapper is needed also on
91624         mips-dec-ultrix4.4 systems.
91625
91626 2002-03-02  Jim Meyering  <meyering@lucent.com>
91627
91628         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91629         not HAVE_CLOCK_SETTIME.
91630
91631 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91632
91633         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91634         Check for clock_settime.
91635
91636 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91637
91638         * lib/nanosleep.h: Rename to....
91639         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91640
91641         * lib/gettime.c: New file.
91642         * lib/settime.c: New file.
91643         * lib/stime.c: Remove.
91644
91645         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91646         timespec.h.  Remove nanosleep.h.
91647
91648 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91649
91650         * m4/acl.m4: New file.
91651         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91652         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91653
91654 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91655
91656         * lib/acl.c, lib/acl.h: New files.
91657         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91658
91659 2002-02-24  Jim Meyering  <meyering@lucent.com>
91660
91661         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91662         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91663         cause trouble.  Reported by Nelson Beebe.
91664
91665 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91666
91667         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91668         compilers that don't know that xalloc_die never returns.
91669
91670 2002-02-20  Jim Meyering  <meyering@lucent.com>
91671
91672         * lib/getdate.c: Regenerate using bison-1.33.
91673
91674 2002-02-17  Jim Meyering  <meyering@lucent.com>
91675
91676         * config/config.guess (main): Don't use `head -1'; it's no longer
91677         portable. Use `sed 1q' instead.
91678
91679 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91680
91681         * m4/codeset.m4: Upgrade to gettext-0.11.
91682         * m4/gettext.m4: Upgrade to gettext-0.11.
91683         * m4/glibc21.m4: Upgrade to gettext-0.11.
91684         * m4/iconv.m4: Upgrade to gettext-0.11.
91685         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91686         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91687         * m4/lib-ld.m4: New file, from gettext-0.11.
91688         * m4/lib-link.m4: New file, from gettext-0.11.
91689         * m4/lib-prefix.m4: New file, from gettext-0.11.
91690         * m4/progtest.m4: Upgrade to gettext-0.11.
91691
91692 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91693
91694         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91695         (jm_PREREQ): Use it.
91696
91697 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91698
91699         * lib/posixver.c, lib/posixver.h: New files.
91700         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91701
91702 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91703             Bruno Haible  <bruno@clisp.org>
91704
91705         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91706         (fwrite_success_callback): New declaration.
91707         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91708         print_unicode_char. Call failure callback instead of error.
91709         (fwrite_success_callback): New function.
91710         (exit_failure_callback): New function.
91711         (fallback_failure_callback): New function.
91712         (print_unicode_char): Call unicode_to_mb.
91713
91714 2002-01-26  Jim Meyering  <meyering@lucent.com>
91715
91716         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91717         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91718
91719 2002-01-26  Jim Meyering  <meyering@lucent.com>
91720
91721         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91722
91723 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91724
91725         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91726
91727 2002-01-22  Jim Meyering  <meyering@lucent.com>
91728
91729         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91730         Otherwise, some versions of automake would omit the rule that makes
91731         Makefile from Makefile.in.
91732
91733 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91734
91735         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91736         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91737         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91738         (memcoll): Set errno to zero if there is no error.
91739
91740         * lib/quotearg.c (quotearg_buffer_restyled):
91741         Fix bug with quoting buffers containing NUL when backslashing escapes.
91742         This bug was exposed by the other changes in this patch.
91743         (quotearg_n_options): New arg ARGSIZE.
91744         All callers changed.
91745         (quoting_options_from_style): New function.
91746         (quotearg_n_style): Use it.
91747         (quotearg_n_style_mem): New function.
91748
91749         * lib/quotearg.h (quotearg_n_style_mem): New function.
91750
91751 2002-01-19  Jim Meyering  <meyering@lucent.com>
91752
91753         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91754         Remove useless quotes: DF_PROG="df".
91755         * m4/strnlen.m4: New file.
91756
91757 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91758
91759         * lib/backupfile.c (ISDIGIT): Comment fix.
91760         * lib/getdate.y (ISDIGIT): Likewise.
91761         * lib/posixtm.c (ISDIGIT, year): Likewise.
91762         * lib/strverscmp.c (ISDIGIT): Likewise.
91763         * lib/userspec.c (ISDIGIT): Likewise.
91764
91765 2002-01-16  Jim Meyering  <meyering@lucent.com>
91766
91767         * lib/getdate.y: Add three semicolons, each just before a closing
91768         brace. Bison (as of version 1.31) no longer papers over that mistake.
91769
91770 2002-01-05  Jim Meyering  <meyering@lucent.com>
91771
91772         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91773
91774 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91775
91776         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91777         not silently exit merely because the output buffer happens to
91778         have nothing pending.
91779
91780 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91781
91782         See the big note in ../ChangeLog.
91783         * lib/human.c (suffixes): Prefer K to k for 1024.
91784         (generate_suffix_backwards): New function.
91785         (human_readable_inexact): Use it.
91786         * lib/xstrtol.c (__xstrtol): If there is no number but there
91787         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91788         Accept 'K' as well as 'k'.
91789
91790 2001-12-15  Jim Meyering  <meyering@lucent.com>
91791
91792         * lib/regex.h (__restrict_arr): Update from libc.
91793
91794         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91795         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91796         (STREQ): Define.
91797
91798 2001-12-14  Jim Meyering  <meyering@lucent.com>
91799
91800         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91801         Suggestion from Bruno Haible.
91802
91803 2001-12-10  Jim Meyering  <meyering@lucent.com>
91804
91805         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91806         xrealloc, Instead, include "xalloc.h".
91807         (initbuffer): Don't cast xmalloc return value to char*.
91808         (readline): Reword comment.
91809         Don't cast xrealloc return value to char*
91810         Return NULL, not 0.
91811
91812 2001-12-09  Jim Meyering  <meyering@lucent.com>
91813
91814         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91815         about `signed and unsigned type in conditional expression'.
91816         * lib/posixtm.c (posix_time_parse): Likewise.
91817
91818         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91819
91820         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91821         to avoid a pedantic warning.
91822
91823         * lib/getstr.c: Don't include assert.h.
91824         (getstr): Remove warning-evoking assertions.
91825         Return -1 if offset parameter is out of bounds.
91826         Change the type of a local from int to size_t.
91827
91828         * lib/strftime.c (my_strftime_localtime_r): Include this function
91829         definition in the `#if ! HAVE_TM_GMTOFF' block.
91830
91831         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91832         Include xalloc.h instead.
91833
91834 2001-12-02  Jim Meyering  <meyering@lucent.com>
91835
91836         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91837         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91838         included.
91839
91840         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91841         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91842
91843 2001-11-30  Akim Demaille  <akim@epita.fr>
91844
91845         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91846         before being defined.
91847
91848 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91849
91850         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91851         First arg is int, not unsigned.
91852         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91853         (SIZE_MAX, UINT_MAX): New macros.
91854         (quotearg_n_options): Abort if N is negative.
91855         Avoid overflow check on hosts where size_t is 64 bits and int
91856         is 32 bits, as overflow is impossible there.
91857         Fix off-by-one typo that caused unnecessary reallocation.
91858
91859 2001-11-27  Jim Meyering  <meyering@lucent.com>
91860
91861         * lib/tempname.c: Merge with version from libc.
91862         * lib/regex.c: Likewise.
91863
91864         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91865         systems for which STDC_HEADERS is 0, it was not included, resulting in
91866         a warning about an integer-to-pointer conversion problem with getenv.
91867         Reported by Volker Borchert.
91868
91869 2001-11-26  Jim Meyering  <meyering@lucent.com>
91870
91871         * lib/gtod.h: Remove file.
91872         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91873         * lib/gettimeofday.c: Don't include gtod.h.
91874         (GTOD_init): Remove function.
91875         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91876         Suggestion from Volker Borchert.
91877
91878 2001-11-23  Jim Meyering  <meyering@lucent.com>
91879
91880         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91881         it.
91882         * lib/hash.c (struct hash_table): Define it here instead.
91883
91884 2001-11-22  Jim Meyering  <meyering@lucent.com>
91885
91886         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91887
91888 2001-11-20  Jim Meyering  <meyering@lucent.com>
91889
91890         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91891         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91892
91893 2001-11-19  Jim Meyering  <meyering@lucent.com>
91894
91895         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91896         directory.  Use "conftestXXXXXX" as the template.
91897         Suggestion from Paul Eggert.
91898
91899         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91900         immediately, so the test doesn't mistakenly hit the max-open-files
91901         limit.
91902
91903 2001-11-18  Paul Eggert  <eggert@twinsun.com>
91904
91905         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
91906         (TEMPORARIES): New macro.
91907         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
91908         removes an artificial limitation (e.g. HP-UX 10.20, where
91909         TMP_MAX is 17576).
91910
91911 2001-11-18  Jim Meyering  <meyering@lucent.com>
91912
91913         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
91914
91915 2001-11-18  Jim Meyering  <meyering@lucent.com>
91916
91917         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
91918         on SunOS 4.
91919
91920         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
91921         files will be created before anything else.
91922
91923 2001-11-17  Paul Eggert  <eggert@twinsun.com>
91924
91925         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
91926         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
91927
91928 2001-11-17  Jim Meyering  <meyering@lucent.com>
91929
91930         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
91931         Prompted by a report from Bob Proulx.
91932
91933         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
91934         Instead, require UTILS_FUNC_MKSTEMP.
91935
91936 2001-11-17  Jim Meyering  <meyering@lucent.com>
91937
91938         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
91939         Now, that's done as part of AC_FUNC_STRTOD.
91940
91941 2001-11-17  Jim Meyering  <meyering@lucent.com>
91942
91943         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
91944         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
91945         rather than group writable.  Patch by Juan F. Codagnone.
91946
91947         * lib/readtokens.c: Remove explicit declarations of xmalloc and
91948         xrealloc, Instead, include "xalloc.h".
91949
91950         * lib/mountlist.c: Include unlocked-io.h after all system headers.
91951         Remove explicit declarations of xmalloc, xrealloc,
91952         and xstrdup.  Instead, include "xalloc.h".
91953
91954         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
91955         unlocked-io.h.
91956         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
91957         Likewise.
91958         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
91959
91960         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
91961         Reported by Padraig Brady.
91962
91963         * lib/mkstemp.c: #undef mkstemp.
91964         Include config.h.
91965         (rpl_mkstemp): Rename from mkstemp.
91966         Protoize.
91967
91968 2001-11-16  Jim Meyering  <meyering@lucent.com>
91969
91970         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
91971         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
91972         determine the amount of total physical memory, use pstat_getstatic.
91973         HPUX-11 doesn't define _SC_PHYS_PAGES.
91974         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
91975         If sysconf couldn't be used to determine the amount of available
91976         physical memory, use both pstat_getstatic and pstat_getdynamic.
91977         Based on a patch from Bob Proulx.
91978
91979 2001-11-10  Jim Meyering  <meyering@lucent.com>
91980
91981         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
91982         (jm_PREREQ): Use it.
91983
91984 2001-11-09  Jim Meyering  <meyering@lucent.com>
91985
91986         * m4/jm-macros.m4: Require autoconf-2.52f.
91987         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
91988         Use these AC_-prefixed names, not the AM_-prefixed ones.
91989
91990         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
91991
91992 2001-11-05  Jim Meyering  <meyering@lucent.com>
91993
91994         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
91995
91996 2001-11-04  Jim Meyering  <meyering@lucent.com>
91997
91998         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
91999         $DEFS.
92000
92001 2001-11-03  Jim Meyering  <meyering@lucent.com>
92002
92003         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92004         of AC_DEFUN.
92005
92006         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92007         know the name of the variable in the macro definition.
92008
92009 2001-11-03  Jim Meyering  <meyering@lucent.com>
92010
92011         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92012         in argmatch_to_argument call.
92013
92014         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92015         argument.
92016
92017         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92018         e.g., a fault due to an attempt to free a NULL pointer.
92019
92020 2001-11-01  Jim Meyering  <meyering@lucent.com>
92021
92022         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92023         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92024
92025 2001-11-01  Jim Meyering  <meyering@lucent.com>
92026
92027         * lib/dirfd.c, lib/dirfd.h: New files.
92028         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92029
92030         * lib/hash.c (hash_print) [TESTING]: Clean up.
92031
92032 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92033
92034         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92035         to avoid a warning if -Wall.
92036
92037 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92038
92039         * README: New file
92040         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92041         (per RMS's instructions, this is now the canonical source)
92042         * lgpl/, gpl/: New directories.
92043
92044 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92045
92046         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92047
92048 2001-10-21  Jim Meyering  <meyering@lucent.com>
92049
92050         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92051         this code would end up calling gettext even in packages built
92052         with --disable-nls.
92053         * lib/getopt.c (_): Likewise.
92054         * lib/regex.c (_): Likewise.
92055
92056 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92057
92058         * m4/error.m4 (jm_PREREQ_ERROR):
92059         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92060         AC_FUNC_STRERROR_R does that.
92061         Check for strerror declaration.
92062
92063         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92064         are supposed to have them these days.
92065         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92066         Merge changes from latest Autoconf CVS.
92067         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92068         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92069         POSIX decided to standardize on the int flavor of strerror_r.
92070
92071 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92072
92073         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92074         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92075         Use strerror_r that is only a macro, even if it is not a function.
92076         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92077         (private_strerror): Use prototypes, not old-style function definition.
92078         (print_errno_message): New function.
92079         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92080         char*-flavored one.
92081         (error_tail, error, error_at_line): Use it.
92082
92083 2001-10-11  Jim Meyering  <meyering@lucent.com>
92084
92085         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92086         and quote_n (1, ... to avoid clobbering a buffer.
92087
92088 2001-10-05  Jim Meyering  <meyering@lucent.com>
92089
92090         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92091         hash-pjw.h.
92092         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92093         * lib/hash-pjw.h: New file.
92094
92095 2001-09-30  Jim Meyering  <meyering@lucent.com>
92096
92097         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92098         `struct fsstat' has the `f_fstypename' member.
92099         Use that to define FS_TYPE, which is now used to make
92100         the getfsstat link test tighter.
92101
92102 2001-09-30  Jim Meyering  <meyering@lucent.com>
92103
92104         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92105         Include <sys/ucred.h>, for Apple Darwin.
92106         Include sys/mount.h and sys/fs_types.h only if available.
92107         (FS_TYPE): Define.
92108         (read_filesystem_list): Use FS_TYPE.
92109
92110 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92111
92112         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92113         a boolean context.
92114
92115 2001-09-29  Jim Meyering  <meyering@lucent.com>
92116
92117         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92118         [one-argument getmntent function]): Include stdio.h before mntent.h.
92119         SunOS 4.1.x needs it for the declaration of `FILE'.
92120         Patch by Volker Borchert.
92121
92122         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92123         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92124         sys/fs_types.h, and make the link-test for getfsstat guard #include
92125         directives with appropriate #if HAVE_*_H tests so that we can
92126         detect getfsstat on Apple Darwin1.3.7 systems.
92127         Reported by Nelson Beebe.
92128         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92129
92130 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92131
92132         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92133         #defines strtoimax.  Also treat the other strto* functions
92134         like strtoimax.
92135
92136         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92137         Check for strtoul and strtoumax,
92138         as those declarations are made even in the signed case.
92139         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92140         Likewise, for strtol and strtoimax.
92141
92142 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92143
92144         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92145         #defines strtoimax.  Also treat the other strto* functions
92146         like strtoimax.
92147
92148         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92149         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92150         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92151
92152 2001-09-26  Jim Meyering  <meyering@lucent.com>
92153
92154         Most macros in unlocked-io.h had the wrong number of arguments.
92155         * lib/gen-uio: New script.
92156         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92157         * lib/unlocked-io.hin: Remove file.
92158         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92159         rather than trying to embed it here.
92160         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92161         Reported by Padraig Brady.
92162
92163 2001-09-25  Volker Borchert  <bt@teknon.de>
92164
92165         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92166         `result'.
92167
92168 2001-09-24  Jim Meyering  <meyering@lucent.com>
92169
92170         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92171
92172 2001-09-23  Jim Meyering  <meyering@lucent.com>
92173
92174         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92175         instead of the mere test for existence of mntent.h.  The latter
92176         would get a false-positive on AIX 3.4 systems.
92177         In the outer getmntent if-block, don't die if neither of the getmntent
92178         tests succeeds.  Instead, just fall through and continue with the
92179         remaining tests.
92180
92181 2001-09-23  Jim Meyering  <meyering@lucent.com>
92182
92183         * lib/mountlist.c: Remove useless parentheses in #if directives.
92184         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92185         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92186
92187 2001-09-22  Jim Meyering  <meyering@lucent.com>
92188
92189         * m4/gettext.m4: New file.  From gettext.
92190         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92191         * m4/progtest.m4: Likewise
92192         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92193         * m4/glibc21.m4: Likewise.
92194
92195         * m4/libintl.m4: Remove.  No longer used.
92196
92197 2001-09-22  Jim Meyering  <meyering@lucent.com>
92198
92199         * lib/localcharset.c: Update from latest gettext.
92200         * lib/config.charset: Likewise.
92201
92202 2001-09-20  Jim Meyering  <meyering@lucent.com>
92203
92204         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92205         strtoimax.
92206         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92207         strtoumax.
92208
92209 2001-09-20  Jim Meyering  <meyering@lucent.com>
92210
92211         * lib/xstrtol.c (strtoimax): Guard declaration with
92212         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92213         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92214         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92215         (strtoumax): Likewise, for completeness (it wasn't necessary).
92216
92217 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92218
92219         * lib/strtoimax.c (HAVE_LONG_LONG):
92220         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92221         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92222         to work around bug in IBM C compiler.
92223
92224 2001-09-17  Jim Meyering  <meyering@lucent.com>
92225
92226         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92227         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92228         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92229         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92230         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92231         whenever the right hand side need not be expanded by the shell.
92232
92233 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92234
92235         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92236         library.  It's not correct, as some older glibcs are buggy.
92237         fnmatch wasn't fixed until glibc 2.2.
92238
92239         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92240         special shell magic here.
92241
92242 2001-09-16  Jim Meyering  <meyering@lucent.com>
92243
92244         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92245         * m4/jm-macros.m4: Require it.
92246
92247 2001-09-16  Jim Meyering  <meyering@lucent.com>
92248
92249         * lib/mkdir.c: New file.
92250
92251 2001-09-15  Jim Meyering  <meyering@lucent.com>
92252
92253         * m4/jm-macros.m4: Check for help2man.
92254
92255 2001-09-11  Jim Meyering  <meyering@lucent.com>
92256
92257         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92258         The body, by Paul Eggert, was moved here from configure.in.
92259         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92260
92261 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92262
92263         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92264         (jm_PREREQ): Use it.
92265
92266 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92267
92268         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92269         Use ssize_t, not int, to store result of readlink.
92270         Check for ssize_t overflow as well as size_t overflow,
92271         as POSIX says the result of readlink is implementation-defined
92272         when ssize_t overflows.
92273         Remove unnecessary cast to char*.
92274         Use free+malloc instead of realloc, as the storage doesn't need
92275         to be preserved and it's clearer and can be more efficient that way.
92276         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92277         * lib/xreadlink.h (xreadlink): Update prototype.
92278
92279 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92280
92281         * lib/xgetcwd.c: Revert some of the previous change; intead,
92282         fix the HAVE_GETCWD_NULL code to behave more like the
92283         !HAVE_GETCWD_NULL code used to.
92284
92285         Include "xalloc.h".
92286         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92287         invoke xalloc_die.
92288
92289 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92290
92291         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92292         sys/param.h, as pathmax.h includes them.
92293
92294 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92295
92296         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92297         (jm_PREREQ_XGETCWD): New macro.
92298
92299         * m4/getcwd.m4: New file.
92300
92301 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92302
92303         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92304         like the HAVE_GETCWD_NULL code.
92305         Include pathmax.h if not HAVE_GETCWD.
92306         Do not include xalloc.h.
92307         (INITIAL_BUFFER_SIZE): New symbol.
92308         Do not use xmalloc / xrealloc, since the caller is responsible for
92309         handling errors.  Preserve errno around `free' during failure.
92310         Do not overrun buffer when using getwd.
92311
92312 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92313
92314         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92315         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92316         getcwd (NULL, 0).
92317
92318 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92319
92320         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92321         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92322         spotted by Jim Meyering.
92323
92324 2001-09-03  Jim Meyering  <meyering@lucent.com>
92325
92326         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92327         failure.
92328
92329 2001-09-02  Jim Meyering  <meyering@lucent.com>
92330
92331         * lib/error.c: Update from GNU libc.
92332
92333 2001-09-01  Jim Meyering  <meyering@lucent.com>
92334
92335         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92336         Used by df.
92337
92338 2001-09-01  Jim Meyering  <meyering@lucent.com>
92339
92340         * lib/xreadlink.c: New file.
92341         * lib/xreadlink.h: New file.
92342         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92343         xreadlink.h.
92344
92345         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92346         doesn't conflict with sparc Solaris 7's definition in
92347         /usr/include/sys/int_types.h.
92348
92349         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92350         files.
92351         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92352         and strncasecmp as r-values.  Unixware didn't have declarations.
92353
92354 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92355
92356         * lib/xstrtol.h: Add copyright notice.
92357         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92358         LONGINT_INVALID_SUFFIX_CHAR.
92359
92360 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92361
92362         * lib/xstrtol.c (strtoimax): New decl.
92363
92364 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92365
92366         * lib/xgetcwd.c: Don't include pathmax.h.
92367         Include stdlib.h and unistd.h if available.
92368         Include xalloc.h.
92369         (xmalloc, xstrdup, free): Remove decls.
92370         (xgetcwd): Don't assume sizes fit in unsigned.
92371         Check for overflow when computing sizes.
92372         Simplify reallocation code.
92373
92374 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92375
92376         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92377         a directory's st_size can have an arbitrary value, so the old
92378         usage could waste an arbitrary amount of memory.  All uses
92379         changed.
92380         * lib/savedir.h: Update prototype.
92381
92382 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92383
92384         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92385
92386         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92387         old strtoimax.c.
92388
92389         Also, make the following further changes to make this file's
92390         configuration more similar to that of strtol.c:
92391         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92392         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92393         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
92394         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
92395         changed to signed values.
92396
92397         And make the following changes as well:
92398         Fix copyright notice, as 1999 was missing.
92399         (verify): New macro.
92400         (strtoimax): Check sizes at compile-time, not run-time.
92401         Prefer strtol to strtoll if both work.
92402         (main): Remove; it was not that useful and was a pain to maintain.
92403
92404         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
92405
92406 2001-08-31  Jim Meyering  <meyering@lucent.com>
92407
92408         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
92409         Use an initial, malloc'd, buffer of length 128 rather than
92410         a statically allocated one of length 1024.
92411
92412 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92413
92414         Simplify code, partly by assuming autoconf 2.52 semantics.
92415
92416         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
92417
92418         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
92419         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
92420         All uses removed.
92421         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
92422         Move AC_REQUIRE to next-to-top level, to avoid confusion.
92423         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
92424         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
92425         jm_AC_HEADER_INTTYPES_H.
92426         * m4/jm-macros.m4 (jm_MACROS): Likewise.
92427
92428         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
92429
92430         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92431         Quote first arg of AC_DEFUN.
92432         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
92433         since they are needed to parse the include file even if we need
92434         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
92435         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
92436         but with opposite signedness.
92437
92438 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92439
92440         Merge 'exclude' changes from tar 1.13.22.
92441         This fixes one or two unlikely storage allocation overflow bugs,
92442         but doesn't change user-visible behavior otherwise.
92443
92444 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92445
92446         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
92447         (jm_PREREQ_EXCLUDE): New macro.
92448
92449 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92450
92451         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
92452         tm to be declared.
92453
92454 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92455
92456         * lib/hash.c: Remove '2001' from copyright notice.
92457
92458 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92459
92460         * lib/full-write.h: New file.
92461         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
92462         * lib/full-write.c: Correct credits, as cccp.c no longer
92463         exists and anyway it was so heavily changed from the old cccp
92464         code as to be unrecognizable.  Include full-write.h.
92465         (full_write): Return size_t, with short writes meaning failure.
92466         All callers changed.  This fixes a bug with large buffers
92467         on 64-bit hosts.
92468         * lib/utime.c: Include full-write.h.
92469
92470 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92471
92472         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
92473         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
92474         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
92475         Include if available.
92476         (<xalloc.h>): Include
92477         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
92478         (verify): New macro.  Use it to verify that EXCLUDE macros do not
92479         collide with FNM macros.
92480         (struct patopts): New struct.
92481         (struct exclude): Use it, as exclude patterns now come with options.
92482         (new_exclude): Support above changes.
92483         (new_exclude, add_exclude_file):
92484         Initial size must now be a power of two to simplify overflow checking.
92485         (free_exclude, fnmatch_no_wildcards): New function.
92486         (excluded_filename): No longer requires options arg, as the options
92487         are determined by add_exclude.  Now returns bool, not int.
92488         (excluded_filename, add_exclude):
92489         Add support for the fancy new exclusion options.
92490         (add_exclude, add_exclude_file): Now takes int options arg.
92491         Check for arithmetic overflow when computing sizes.
92492         (add_exclude_file): xrealloc might modify errno, so don't
92493         realloc until after errno might be used.
92494
92495         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
92496         New macros.
92497         (free_exclude): New decl.
92498         (add_exclude, add_exclude_file): Now takes int options arg.
92499         (excluded_filename): No longer requires options arg, as the options
92500         are determined by add_exclude.  Now returns bool, not int.
92501
92502 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92503
92504         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
92505
92506 2001-08-27  Jim Meyering  <meyering@lucent.com>
92507
92508         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
92509
92510         * lib/version-etc.c (N_): Remove definition.
92511         Revert most of last change.
92512         Instead, simply don't mark the `Copyright...' string for translation.
92513         Based on advice from Paul Eggert.
92514
92515         * lib/strtoxmax.c: Tweak comment.
92516
92517 2001-08-26  Jim Meyering  <meyering@lucent.com>
92518
92519         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
92520
92521         * m4/xstrtoimax.m4: New file.
92522         * m4/xstrtoumax.m4: Add comments explaining why we
92523         AC_REPLACE_FUNCS(strtol).
92524
92525 2001-08-26  Jim Meyering  <meyering@lucent.com>
92526
92527         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
92528         of copyright with `%s' so translators don't get an untranslated
92529         message in 2002.
92530         (COPYRIGHT_YEAR): Define.
92531         (version_etc): Use fprintf rather than fputs.
92532         Suggestion from Ulrich Drepper.
92533
92534         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92535
92536         * lib/strtoll.c: New file, from GNU libc.
92537         * lib/xstrtoimax.c: New file.
92538
92539         * lib/xstrtol.h: Add xstrtoimax.
92540         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92541         * lib/strtoimax.c: New file.  Likewise, but first define
92542         STRTOUXMAX_SIGNED.
92543
92544         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92545         ...
92546         * lib/strtoxmax.c: ... then renamed to this.
92547
92548 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92549
92550         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92551         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92552         (jm_AC_TYPE_INTMAX_T): New macro.
92553         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92554
92555         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92556
92557         * m4/longlong.m4: Renamed from ulonglong.m4.
92558         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92559         * m4/uintmax_t.m4: Removed.
92560
92561 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92562
92563         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92564         Port to Solaris 8, where 'sed' requires a space after the 'r'
92565         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92566         Redirect output to $tmp just once.
92567
92568 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92569
92570         * lib/addext.c (<errno.h>): Include.
92571         (errno): Declare if not defined.
92572         (addext): Work correctly when pathconf returns -1 and leaves
92573         errno alone because there is no limit.  Also, work even if
92574         pathconf returns a value greater than SIZE_MAX.
92575
92576 2001-08-12  Jim Meyering  <meyering@lucent.com>
92577
92578         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92579         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92580         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92581         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92582         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92583         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92584         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92585         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92586         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92587         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92588         utime.m4, utimes.m4, xstrtoumax.m4:
92589         Quote the first argument in each use of AC_DEFUN.
92590
92591 2001-08-12  Jim Meyering  <meyering@lucent.com>
92592
92593         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92594         Simply `return getcwd (NULL, 0);'.
92595         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92596         Use 1300 as initial value for length, not PATH_MAX.
92597
92598         * lib/pathmax.h: Clean up cpp syntax.
92599
92600 2001-08-12  Jim Meyering  <meyering@lucent.com>
92601
92602         * lib/gettimeofday.c: New file.
92603         * lib/gtod.h: New file.
92604         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92605
92606 2001-08-05  Jim Meyering  <meyering@lucent.com>
92607
92608         * m4/jm-macros.m4: Require autoconf-2.52.
92609
92610 2001-08-04  Jim Meyering  <meyering@lucent.com>
92611
92612         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92613         stmt, to get in sync with glibc.
92614
92615 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92616
92617         The following changes are from gettext 0.10.39 as maintained by
92618         Bruno Haible.
92619
92620         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92621         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92622         with inverted sense.  All uses changed.
92623
92624         * lib/mbswidth.c: Don't include <limits.h>.
92625         Include <stdlib.h> and <string.h> unconditionally.
92626         (iswcntrl, mbsinit, ISCNTRL): New macros.
92627         (mbsnwidth): Use K&R style function declarations.
92628         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92629         can optimize it when MB_CUR_MAX == 1.
92630         The width of control characters is zero, not 1.
92631
92632 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92633
92634         The following changes are from gettext 0.10.39 as maintained by
92635         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92636
92637         * m4/codeset.m4: Upgrade to serial AM1.
92638         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92639         all uses changed.  Quote first arg of AC_DEFUN.
92640         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92641
92642         * m4/iconv.m4: Upgrade to serial AM2.
92643         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92644         Add --with-libconv-prefix.
92645         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92646         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92647         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92648         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92649         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92650
92651         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92652         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92653         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92654         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92655         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92656         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92657         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92658         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92659         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92660
92661         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92662         string.h any more.
92663
92664         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92665         not the default value.
92666
92667         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92668         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92669         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92670         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92671         Also check for iswcntrl, used for wcwidth fallback.
92672         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92673         to Autoconf 2.13.
92674
92675 2001-08-03  Jim Meyering  <meyering@lucent.com>
92676
92677         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92678         as it was in the original.  Reported by Paul Eggert.
92679
92680 2001-07-16  Jim Meyering  <meyering@lucent.com>
92681
92682         * m4/gettimeofday.m4: New file.
92683         Prompted by a report from Bernhard Baehr.
92684
92685 2001-07-15  Jim Meyering  <meyering@lucent.com>
92686
92687         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92688         stuff. Now it's in ../Makefile.cfg.
92689
92690 2001-07-15  Jim Meyering  <meyering@lucent.com>
92691
92692         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92693         (BUILT_SOURCES): Add unlocked-io.h.
92694         (io_functions): Define.
92695         (unlocked-io.h): New rule.
92696         (DISTCLEANFILES): Add unlocked-io.h.
92697         (all-local): Depend on unlocked-io.h, to ensure it is created.
92698
92699         * lib/unlocked-io.hin: New file
92700
92701         * lib/regex.c: Update from glibc.
92702
92703 2001-07-05  Jim Meyering  <meyering@lucent.com>
92704
92705         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92706         recommendation.
92707         (libfetish_a_SOURCES): Put all .h files here instead.
92708         Remove a thus-exposed (better checks in automake) duplicate and
92709         two unnecessary .h files.
92710
92711 2001-07-04  Jim Meyering  <meyering@lucent.com>
92712
92713         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92714         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92715         distcheck failure.
92716
92717 2001-07-02  Jim Meyering  <meyering@lucent.com>
92718
92719         The following changes were prompted by suggestions from Bruno Haible.
92720
92721         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92722         is now generated.
92723         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92724         definition of EXTRA_DIST.
92725         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92726         ensure that the generated file is created/updated whenever the list
92727         of $(unlocked_functions) is changed.
92728         (jm-glibc-io.m4): New rule.
92729         (unlocked-io.h): New rule -- currently unused.
92730
92731 2001-06-24  Jim Meyering  <meyering@lucent.com>
92732
92733         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92734         unmatched right bracket, rather than kludging it with an extra,
92735         falsely-matching quote in a comment.  Patch by Akim Demaille.
92736
92737 2001-06-11  Jim Meyering  <meyering@lucent.com>
92738
92739         * lib/regex.c: Update from GNU libc.
92740
92741 2001-05-27  Jim Meyering  <meyering@lucent.com>
92742
92743         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92744         Check for ut_type in struct utmp.
92745
92746 2001-05-27  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/readutmp.h (UT_TYPE): Define.
92749
92750 2001-05-24  Jim Meyering  <meyering@lucent.com>
92751
92752         * lib/argmatch.c: Include "quote.h".
92753         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92754         quote function.  Reported by Göran Uddeborg.
92755
92756 2001-05-22  Jim Meyering  <meyering@lucent.com>
92757
92758         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92759         now that we use the package-supplied version unconditionally.
92760         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92761
92762 2001-05-21  Jim Meyering  <meyering@lucent.com>
92763
92764         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92765         shell syntax errors.
92766
92767 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92768
92769         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92770
92771 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92772
92773         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92774         Don't bother to check library strftime, since
92775         we'll be using our own my_strftime function anyway.
92776         Define my_strftime instead of strftime.
92777
92778 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92779
92780         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92781         which is not yet declared.
92782
92783 2001-05-15  Jim Meyering  <meyering@lucent.com>
92784
92785         * m4/regex.m4: Use proper quoting so brackets appear in the test
92786         program.
92787         Reported by, and with help from, Bruno Haible.
92788
92789 2001-05-13  Jim Meyering  <meyering@lucent.com>
92790
92791         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92792         undefined.
92793
92794 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92795
92796         dirname code cleanup.  base_name now behaves more compatibly
92797         with POSIX basename when given file names that have trailing
92798         slashes, and similarly for dir_name.  Add new primitives
92799         base_len and dir_len.  Put the directory-name-related decls
92800         into dirname.h.
92801
92802         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92803         * lib/backupfile.c (base_name): Likewise.
92804         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92805         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92806         * lib/makepath.c (strip_trailing_slashes): Likewise.
92807         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92808         ISSLASH): Likewise.
92809         * lib/rename.c (strip_trailing_slashes): Likewise.
92810         * lib/same.c (base_name): Likewise.
92811         * lib/stripslash.c (ISSLASH): Likewise.
92812
92813         * lib/addext.c: Include <dirname.h> after size_t is defined.
92814         * lib/backupfile.c: Likewise.
92815
92816         * lib/addext.c (addext): Use base_len to trim redundant
92817         trailing slashes instead of doing it ourselves.
92818         But do not trim the last slash if it is not redundant.
92819
92820         * lib/backupfile.c (find_backup_file_name,
92821         max_backup_version): Use base_len instead of rolling it ourselves.
92822         Handle the case of "" and (on DOS) "C:" correctly.
92823
92824         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92825         needed. Include <string.h>, <dirname.h>.
92826         (base_name): Allow file names ending in slashes, other than names
92827         that are all slashes.  In this case, return the basename followed
92828         by the slashes.  This is more general, and can be used in places
92829         where the original base_name purposely had an assertion failure.
92830         (base_len): New function.
92831
92832         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92833         Do not include <assert.h>; no longer needed.
92834         Include xalloc.h.
92835         (memrchr): Remove decl.
92836         (dir_name_r): Remove.
92837         (dir_len): Renamed from dirlen.  All callers changed.
92838         Rewrite in terms of base_name, for simplicity and consistency.
92839         (dir_name): Never return NULL.  All callers changed.
92840         Do not include <stdlib.h> in test program; no longer needed.
92841         return 0; is fine for test program.
92842
92843         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92844         New macros.
92845         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92846
92847         * lib/path-concat.c (path_concat): Use base_len to compute
92848         base length, not strlen; this means we cannot rely on memcpy
92849         to null-terminate.
92850
92851         * lib/same.c (STREQ): Remove.
92852         (same_name): Handle the case where the basename ends in trailing '/'.
92853
92854         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92855         a slash was stripped.  Do not strip the last slash after a
92856         file system prefix.
92857
92858 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92859
92860         * lib/Makefile.am (libfetish_a_SOURCES):
92861         Add strftime.c, since we now compile it on all hosts.
92862
92863         * lib/strftime.c (my_strftime):
92864         Define to nstrftime if emacs, but only if my_strftime is not defined.
92865         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92866         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92867         Add one more extra argument: a nanoseconds value.
92868         All uses changed.
92869         (ns): New macro.
92870         (my_strftime function): Add %N format.
92871         (emacs_strftimeu): Renamed from emacs_strftime,
92872         with extra ut argument.
92873
92874 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92875
92876         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92877
92878 2001-04-21  Jim Meyering  <meyering@lucent.com>
92879
92880         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92881         doesn't interfere.
92882
92883 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92884
92885         * m4/ftruncate.m4: Check for chsize.
92886         Link with ftruncate.o unconditionally if ftruncate is missing.
92887         This was required when cross-compiling to i586-mingw32msvc.
92888
92889 2001-04-08  Jim Meyering  <meyering@lucent.com>
92890
92891         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92892         recomputed; that's necessary when the offset spans a DST transition.
92893         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92894
92895 2001-04-02  Jim Meyering  <meyering@lucent.com>
92896
92897         * lib/regex.h, regex.c: Update from GNU libc.
92898
92899 2001-03-24  Jim Meyering  <meyering@lucent.com>
92900
92901         * m4/jm-macros.m4: Require autoconf-2.49d.
92902
92903 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
92904
92905         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
92906
92907 2001-03-19  Paul Eggert  <eggert@twinsun.com>
92908
92909         * lib/version-etc.c (version_etc_copyright): Update to 2001.
92910
92911 2001-03-17  Jim Meyering  <meyering@lucent.com>
92912
92913         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
92914         now that the version in autoconf is equivalent.
92915         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
92916
92917         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
92918         Suggestion from Akim Demaille.
92919
92920         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
92921         (jm_PREREQ_TEMPNAME): New function.
92922
92923 2001-03-16  Paul Eggert  <eggert@twinsun.com>
92924
92925         * lib/tempname.c (uint64_t): Define to uintmax_t if
92926         not defined, and if UINT64_MAX is not defined.
92927         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
92928         Reported by John David Anglin.
92929
92930 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
92931
92932         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
92933         resolve alias if codeset is empty.
92934         * lib/config.charset (BeOS): Use wildcard syntax.
92935
92936 2001-03-13  Jim Meyering  <meyering@lucent.com>
92937
92938         * lib/path-concat.c (path_concat)
92939         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
92940         concatenating e.g., `C:' and `foo'.
92941         From Bruno Haible.
92942
92943 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92944
92945         * lib/localcharset.c (locale_charset): Don't use
92946         setlocale(LC_CTYPE,NULL). Don't return NULL.
92947         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
92948
92949 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92950
92951         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
92952         support for DOS/DJGPP.
92953
92954 2001-03-01  Paul Eggert  <eggert@twinsun.com>
92955
92956         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
92957         lacks mkstemp.  Compile our own tempname.c if we compile our own
92958         mkstemp.c, as mkstemp relies on tempname.
92959
92960 2001-03-01  Jim Meyering  <meyering@lucent.com>
92961
92962         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
92963         AH_VERBATIM really does output its argument verbatim.
92964
92965 2001-02-28  Paul Eggert  <eggert@twinsun.com>
92966
92967         * lib/Makefile.am (libfetish_a_SOURCES):
92968         Add dup-safer.c, fopen-safer.c.
92969         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
92970
92971         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
92972         * lib/unistd-safer.h: New files.
92973
92974 2001-02-25  Paul Eggert  <eggert@twinsun.com>
92975
92976         The mkstemp replacement is taken from glibc 2.2.2, with some
92977         portability fixes for use outside glibc, as follows:
92978
92979         * lib/tempname.c (struct_stat64): New macro.
92980         (direxists, __gen_tempname): Use it.
92981         This avoids a portability problem with Solaris 8.
92982
92983         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
92984         (<stddef.h>, <stdint.h>, <string.h>):
92985         Include only if STDC_HEADERS || _LIBC.
92986         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
92987         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
92988         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
92989         (__set_errno): Define this macro if <errno.h> doesn't.
92990         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
92991         Define these macros if <stdio.h> doesn't.
92992         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
92993         Define these macros if <sys/stat.h>
92994         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
92995         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
92996         __xstat64): Define if not _LIBC.
92997         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
92998         (__gen_tempname): Invoke gettimeofday only if
92999         HAVE_GETTIMEOFDAY || _LIBC;
93000         otherwise, fall back on plain "time".
93001         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93002
93003         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93004
93005         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93006
93007 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93008
93009         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93010
93011 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93012
93013         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93014         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93015         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93016         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93017
93018 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93019
93020         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93021         Remove workaround macros for hosts that have mbrtowc but not
93022         mbstate_t, as we now insist on proper declarations for both
93023         before using mbrtowc.
93024
93025 2001-02-17  Jim Meyering  <meyering@lucent.com>
93026
93027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93028         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93029         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93030         UnixWare 7.1.1.
93031
93032         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93033         rather than AC_CACHE_VAL.
93034
93035 2001-02-17  Jim Meyering  <meyering@lucent.com>
93036
93037         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93038         around included file name.
93039
93040         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93041
93042         * lib/strftime.c: Update from GNU libc (the only changes were to
93043         comments).
93044
93045 2001-02-17  Jim Meyering  <meyering@lucent.com>
93046
93047         * lib/regex.c: Update from libc.
93048
93049 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93050
93051         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93052         clash.
93053
93054 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93055
93056         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93057         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93058         Reported by Mark Hounschell via Paul Eggert.
93059
93060 2001-02-07  Jim Meyering  <meyering@lucent.com>
93061
93062         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93063
93064 2001-02-05  Jim Meyering  <meyering@lucent.com>
93065
93066         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93067         it includes the patch required for `large file' support with at least
93068         HP-UX's 10.20 /bin/cc.
93069
93070 2001-02-03  Jim Meyering  <meyering@lucent.com>
93071
93072         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93073         AS_IF, now that it works once again (mysteriously).
93074         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93075
93076 2001-01-30  Jim Meyering  <meyering@lucent.com>
93077
93078         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93079         * m4/chown.m4: Rename conftestchown to conftest.chown.
93080         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93081         s/conftestdir2/conftest.d2/.
93082         * m4/utimes.m4: s/conftestdata/conftest.data/
93083         Inspired by Pavel Roskin's change in autoconf.
93084
93085 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93086
93087         * lib/config.charset: Update for FreeBSD 4.2.
93088
93089 2001-01-27  Jim Meyering  <meyering@lucent.com>
93090
93091         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93092         a use of AS_IF.
93093         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93094
93095 2001-01-26  Jim Meyering  <meyering@lucent.com>
93096
93097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93098         quotearg.c includes it.
93099
93100 2001-01-26  Jim Meyering  <meyering@lucent.com>
93101
93102         * lib/quotearg.c: Include stddef.h.
93103         * lib/quote.c: Include stddef.h.
93104         Reported by Axel Kittenberger.
93105
93106         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93107         line in double quotes so that it evokes a better diagnostic.
93108         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93109         Reported by Axel Kittenberger.
93110
93111 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93112
93113         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93114         as if it was a `charset'.
93115
93116 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93117
93118         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93119         has const.
93120
93121 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93122
93123         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93124         to avoid a warning.  Add back 'const' to inptr.
93125
93126 2001-01-20  Jim Meyering  <meyering@lucent.com>
93127
93128         Be sure that headers are checked before used in code compiled
93129         for the type checks.
93130         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93131         In place of that, invoke jm_CHECK_ALL_TYPES.
93132         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93133         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93134         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93135         The check for ssize_t was mistakenly run before the test for unistd.h.
93136
93137         The configure-time check for stdbool.h was missing.
93138         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93139         (jm_PREREQ_HASH): New function.
93140
93141 2001-01-17  Jim Meyering  <meyering@lucent.com>
93142
93143         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93144         for autoconf-2.49c.
93145         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93146
93147 2001-01-16  Jim Meyering  <meyering@lucent.com>
93148
93149         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93150         From Bruno Haible.
93151
93152 2001-01-14  Jim Meyering  <meyering@lucent.com>
93153
93154         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93155         foo and bar.  Create conftestdir/ in the script, not in the C code.
93156         Remove directories in the script, not in the C code.
93157         Remove conftestdir{,2} before trying to create the directory.
93158         Make the entire configure script fail if the mkdir fails.
93159
93160 2001-01-14  Jim Meyering  <meyering@lucent.com>
93161
93162         * lib/rename.c: New file.  From Volker Borchert.
93163         Include stdlib.h, string.h or strings.h, and xalloc.h.
93164         Use strip_trailing_slashes rather than open-coding it.
93165
93166 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93167
93168         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93169
93170 2001-01-03  Jim Meyering  <meyering@lucent.com>
93171
93172         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93173         of local `inptr' to avoid warning with some system declarations of
93174         iconv.
93175
93176 2001-01-02  Volker Borchert  <bt@teknon.de>
93177
93178         * m4/rename.m4: New file.
93179         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93180
93181 2001-01-01  Jim Meyering  <meyering@lucent.com>
93182
93183         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93184         even on systems with utmpx.h.  It's necessary for the declaration of
93185         utmp's ut_user member.  Reported by Andreas Jaeger.
93186
93187         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93188         available. They are required for the declarations of getgrgid and
93189         getpwuid resp.
93190         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93191         Reported by Andreas Jaeger.
93192
93193 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93194
93195         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93196         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93197         so `make install' also works in VPATH builds.
93198
93199 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93200
93201         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93202         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93203         can be used in subdirectories.
93204
93205 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93206
93207         * lib/modechange.c: Do not assume that mode_t uses the
93208         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93209         the other-execute bit of FOO even if S_IXOTH != 1.
93210
93211         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93212         WOTH, XOTH, ALLM): New macros.
93213         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93214          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93215         Use them.
93216         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93217         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93218         (mode_compile):
93219         No need to use uintmax_t; unsigned long is long enough.
93220         Don't bother to get suffix since we don't use it.
93221
93222 2000-12-26  Jim Meyering  <meyering@lucent.com>
93223
93224         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93225         better with autoheader.
93226
93227 2000-12-24  Jim Meyering  <meyering@lucent.com>
93228
93229         * lib/hash.c (is_prime): Return explicit boolean values.
93230         (hash_get_first): Return NULL to appease Irix5.6's 89.
93231         Reported by Nelson Beebe.
93232
93233 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93234
93235         * lib/localcharset.c (locale_charset): Add support for Win32.
93236
93237 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93238
93239         * lib/physmem.h, lib/physmem.c: New files.
93240
93241         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93242         (noinst_HEADERS): Add physmem.h.
93243
93244         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93245         't' for compatibility with Solaris 8 sort.
93246
93247 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93248
93249         * lib/config.charset: Add support for BeOS.
93250
93251 2000-12-17  Jim Meyering  <meyering@lucent.com>
93252
93253         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93254         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93255
93256 2000-12-16  Jim Meyering  <meyering@lucent.com>
93257
93258         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93259         N and M) would have treated it like `chown N:N FILE'.
93260
93261         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93262
93263 2000-12-16  Jim Meyering  <meyering@lucent.com>
93264
93265         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93266         SHELLS_FILE to a file name that's useful on djgpp systems.
93267         Include stdlib.h.
93268         (ADDITIONAL_DEFAULT_SHELLS): Define.
93269         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93270         Based mostly on a patch from Prashant TR.
93271
93272 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93273
93274         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93275         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93276         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93277
93278 2000-12-08  Andreas Schwab  <schwab@suse.de>
93279
93280         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93281         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93282
93283 2000-12-07  Jim Meyering  <meyering@lucent.com>
93284
93285         * lib/stripslash.c (ISSLASH): Define.
93286         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93287         `/'.
93288         From Prashant TR.
93289
93290         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93291         (dir_name_r): Declare this function as static.
93292         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93293         manifest itself on a name containing a mix of slashes and
93294         backslashes.
93295         Make this function work with names starting with a DOS-style
93296         drive letter and colon prefix.
93297         (dir_name): Append `.' if necessary.
93298         Based mostly on patches from Prashant TR and Eli Zaretskii.
93299
93300         * lib/dirname.h (dir_name_r): Remove prototype.
93301
93302 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93303
93304         * m4/off_t-format.m4: Remove this file.
93305         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93306
93307 2000-12-06  Jim Meyering  <meyering@lucent.com>
93308
93309         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93310         replacement strtoull, we may well need the replacement strtoul, too.
93311         Check for declarations of strtoul and strtoull.
93312         Check for strtol.  Mainly as a cue to cause automake to include
93313         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93314         Check for limits.h -- strtol.c needs it.
93315
93316 2000-12-05  Jim Meyering  <meyering@lucent.com>
93317
93318         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93319
93320 2000-12-04  Jim Meyering  <meyering@lucent.com>
93321
93322         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93323         Also include memory.h, stdlib.h, unistd.h if appropriate.
93324         Reported by Andreas Jaeger (conflicting declaration of malloc).
93325
93326 2000-12-02  Jim Meyering  <meyering@lucent.com>
93327
93328         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93329         * m4/jm-macros.m4 (jm_MACROS): require it.
93330
93331 2000-12-02  Jim Meyering  <meyering@lucent.com>
93332
93333         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93334
93335 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93336
93337         * lib/memrchr.c: Include <config.h> before any system include file.
93338
93339 2000-11-30  Jim Meyering  <meyering@lucent.com>
93340
93341         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93342
93343 2000-11-30  Jim Meyering  <meyering@lucent.com>
93344
93345         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93346
93347 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93348
93349         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93350
93351 2000-11-26  Jim Meyering  <meyering@lucent.com>
93352
93353         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93354
93355 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93356
93357         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93358         size of (size_t) -1; it's not portable.
93359
93360 2000-11-17  Jim Meyering  <meyering@lucent.com>
93361
93362         * lib/strstr.c: Update from GNU libc.
93363
93364 2000-11-17  Akim Demaille  <akim@epita.fr>
93365
93366         * lib/obstack.h: Formatting changes.
93367         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93368         prevent type checking.
93369         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93370         cast the value to (void *): assigning a `foo *' to a `void *'
93371         variable is valid.
93372         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93373
93374 2000-11-16  Jim Meyering  <meyering@lucent.com>
93375
93376         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93377
93378 2000-11-11  Jim Meyering  <meyering@lucent.com>
93379
93380         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93381
93382 2000-11-10  Jim Meyering  <meyering@lucent.com>
93383
93384         * lib/obstack.h: Update from GNU libc.
93385         * lib/obstack.c: Likewise.
93386
93387 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93388
93389         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93390
93391 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93392
93393         * lib/getusershell.c (setusershell): Use rewind rather than
93394         fseek/fseeko, to avoid configuration hassles with fseeko.
93395         Don't bother opening SHELLS_FILE if shellstream is NULL;
93396         it's not necessary.
93397
93398 2000-11-05  Jim Meyering  <meyering@lucent.com>
93399
93400         * lib/makepath.h (make_dir): Declare.
93401         * lib/makepath.c (make_dir): Remove `static' attribute.
93402         Tweak a comment.
93403
93404 2000-11-04  Jim Meyering  <meyering@lucent.com>
93405
93406         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
93407
93408 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
93409
93410         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
93411         last one in a bucket, advance to the next bucket.
93412
93413 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
93414
93415         * lib/fnmatch.c: Do not comment out all the code if we are using
93416         the GNU C library, because in some cases we are replacing buggy
93417         code in the GNU C library itself.
93418
93419 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
93420
93421         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
93422         (regex_compile): Catch bogus \(\1\).
93423
93424 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93425
93426         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
93427         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
93428         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
93429
93430 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93431
93432         * lib/error.h, getline.h, modechange.h:
93433         Remove "2000" from Copyright line, as the file hasn't been
93434         changed this year other than in the copyright notice.
93435
93436         * lib/xalloc.h: Add "2000" to Copyright line, as this file
93437         was changed this year.
93438
93439 2000-10-29  Jim Meyering  <meyering@lucent.com>
93440
93441         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
93442         renaming.
93443         * m4/ls-mntd-fs.m4: Likewise
93444
93445 2000-10-29  Jim Meyering  <meyering@lucent.com>
93446
93447         * lib/xstat.in: Fix grammar in comment.
93448
93449 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
93450
93451         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
93452         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
93453         doesn't define __restrict_arr.
93454
93455 2000-10-28  Jim Meyering  <meyering@lucent.com>
93456
93457         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
93458         (jm_PREREQ_MEMCHR): New function.
93459
93460 2000-10-28  Jim Meyering  <meyering@lucent.com>
93461
93462         * lib/memchr.c: Update from libc.
93463         Adjust for portability:
93464         [HAVE_STDLIB_H]: Include stdlib.h.
93465         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
93466         Undef __memchr, too.
93467         [!weak_alias]: Define __memchr to memchr.
93468
93469         * lib/regex.c: Update from libc.
93470         * lib/regex.h: Likewise.
93471         * lib/getopt1.c: Likewise.
93472         * lib/memcmp.c: Likewise.
93473
93474         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
93475         Avoid using fseek, when possible -- it's broken by design.
93476         Patch by Ulrich Drepper.
93477
93478 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
93479
93480         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
93481         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
93482         Giving in to popular pressure to shut up the compiler with casts.
93483
93484 2000-10-26  Jim Meyering  <meyering@lucent.com>
93485
93486         * lib/strftime.c: Update from libc.
93487
93488 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
93489
93490         * regex.c: More `unsigned char' -> `re_char' changes.
93491         Also change several `int' into `re_wchar_t'.
93492         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
93493         (PUSH_FAILURE_POINTER): Don't cast any more.
93494         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
93495         We want GCC to complain, since this piece of code makes
93496         re_match non-reentrant, which *should* be fixed.
93497         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
93498         (EXTEND_BUFFER): Use RETALLOC.
93499         (SET_LIST_BIT): Don't cast.
93500         (re_wchar_t): New type.
93501         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
93502         that those two functions will always properly return.
93503         (IMMEDIATE_QUIT_CHECK): Cast to void.
93504         (analyse_first): Use recursion rather than an explicit stack.
93505         (re_compile_fastmap): Can't fail anymore.
93506         (re_search_2): Don't check re_compile_fastmap for failure.
93507         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
93508         Now also sets the new value (passed in a new argument).
93509         (re_match_2_internal): Use it.
93510         Also, use a new var `reg' of type size_t when looping through regs
93511         rather than reuse the inappropriate `mcnt'.
93512
93513 2000-10-25  Jim Meyering  <meyering@lucent.com>
93514
93515         * lib/obstack.c: Update from libc.
93516
93517 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
93518
93519         * regex.c (regex_compile): Change the way of handling a range from
93520         a char less than 256 to a char not less than 256.
93521
93522 2000-10-24  Andrew Innes  <andrewi@gnu.org>
93523
93524         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
93525         NT-Emacs only.
93526         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
93527         so that re_search functions only quit when callers expect them to.
93528
93529 2000-10-23  Jim Meyering  <meyering@lucent.com>
93530
93531         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
93532         wrong.  That set_locale call must not have any side effects.
93533         From Paul Eggert.
93534
93535 2000-10-22  Jim Meyering  <meyering@lucent.com>
93536
93537         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93538         [CYCLIC]: Remove now-unused definition.
93539
93540         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93541         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93542         Suggestion from Ulrich Drepper.
93543
93544 2000-10-21  Jim Meyering  <meyering@lucent.com>
93545
93546         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93547         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93548         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93549
93550 2000-10-21  Jim Meyering  <meyering@lucent.com>
93551
93552         * lib/dirname.c (memrchr): Declare if necessary.
93553         (dir_name): Remove the restriction that there be no
93554         trailing slashes.  Now, this code skips past them, effectively
93555         ignoring them.
93556         [TEST_DIRNAME] (main): New unit tests.
93557
93558         * lib/memrchr.c: New file from GNU libc.
93559         Undef __memrchr, too.
93560         [!weak_alias]: Define __memrchr to memrchr.
93561         Guard weak_alias use with `#ifdef weak_alias'.
93562
93563 2000-10-21  Jim Meyering  <meyering@lucent.com>
93564
93565         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93566         (dir_name): Use dir_name_r.
93567         * lib/dirname.h (dir_name_r): Declare it.
93568
93569 2000-10-17  Jim Meyering  <meyering@lucent.com>
93570
93571         * lib/quote.h (PARAMS): Define and use.
93572         Reported by Akim Demaille.
93573
93574         * lib/getopt.c: Update from libc.
93575
93576 2000-10-16  Jim Meyering  <meyering@lucent.com>
93577
93578         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93579         setlocale.
93580         From Jan Fedak.
93581
93582 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93583
93584         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93585
93586 2000-09-25  Jim Meyering  <meyering@lucent.com>
93587
93588         * lib/md5.h (rol): Define (from GnuPG).
93589
93590         * lib/sha.c: Give credit (GnuPG) where due.
93591         (M): Use rol rather than open-coding it.
93592         Add a FIXME comment.
93593
93594 2000-09-21  Jim Meyering  <meyering@lucent.com>
93595
93596         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93597         Reported by Michael Stone.
93598
93599 2000-09-20  Jim Meyering  <meyering@lucent.com>
93600
93601         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93602         (noinst_HEADERS): Add sha.h.
93603         Based on code from Scott G. Miller and from GnuPG.
93604
93605 2000-09-18  Jim Meyering  <meyering@lucent.com>
93606
93607         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93608         LIBS. Otherwise, everyone ends up linking with -lelf for some
93609         configurations.
93610         Reported by Mike Stone.
93611
93612 2000-09-15  Jim Meyering  <meyering@lucent.com>
93613
93614         * lib/regex.c: Update from libc.
93615
93616 2000-09-10  Jim Meyering  <meyering@lucent.com>
93617
93618         * lib/getopt.c (_getopt_internal): Update from glibc.
93619
93620 2000-09-09  Jim Meyering  <meyering@lucent.com>
93621
93622         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93623         think it should be used as a general replacement for isascii.
93624         * lib/fnmatch.c: Likewise.
93625         * lib/mbswidth.c: Likewise
93626         * lib/regex.c: Likewise.
93627
93628         Don't use atoi.
93629         * lib/userspec.c: Include sys/param.h and limits.h.
93630         Include xstrtol.h.
93631         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93632         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93633         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93634         UID, GID.  Check range.
93635
93636 2000-09-06  Jim Meyering  <meyering@lucent.com>
93637
93638         * lib/getopt.c (_getopt_internal): Update from glibc.
93639
93640 2000-08-30  Jim Meyering  <meyering@lucent.com>
93641
93642         * lib/strftime.c: Merge in changes from GNU libc.
93643
93644 2000-08-26  Jim Meyering  <meyering@lucent.com>
93645
93646         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93647         * m4/fpending.m4: New file.
93648
93649 2000-08-26  Jim Meyering  <meyering@lucent.com>
93650
93651         * lib/closeout.c: Include "__fpending.h".
93652         (close_stdout_status): Return right away if there's nothing to flush.
93653
93654         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93655         * lib/__fpending.c: New file.
93656         * lib/__fpending.h: New file.
93657
93658 2000-08-20  Jim Meyering  <meyering@lucent.com>
93659
93660         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93661         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93662         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93663
93664 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93665
93666         Improve fileutils installation on systems where running
93667         programs (like install) can't be unlinked.
93668         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93669         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93670
93671 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93672
93673         Standardize on "memory exhausted" instead of "Memory exhausted"
93674         or "virtual memory exhausted".
93675         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93676         "virtual memory exhausted".
93677         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93678         our own message.
93679         * lib/userspec.c (parse_user_spec): Likewise.
93680         * lib/bumpalloc.h: comment fix
93681         * lib/same.c, userspec.c: Include xalloc.h.
93682
93683         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93684         not char *const and pointing to a constant array.
93685         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93686         (xrealloc): Comment fix.
93687
93688         * lib/userspec.c (parse_user_spec):
93689         Don't translate a message until just before returning,
93690         to avoid unnecessary translation.
93691
93692 2000-08-07  Jim Meyering  <meyering@lucent.com>
93693
93694         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93695         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93696         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93697         getgroups.c, gethostname.c, getopt.h, group-member.c,
93698         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93699         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93700         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93701         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93702         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93703         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93704         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93705         yesno.c: Back out Copyright date changes for each file with no change
93706         this year.  This eases coordination with other programs using the same
93707         source code modules.  From Paul Eggert.
93708
93709 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93710
93711         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93712         not char, for compatibility with glibc 2.1.3 strftime.c.
93713
93714 2000-08-03  Greg McGary  <greg@mcgary.org>
93715
93716         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93717         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93718         (EXTEND_BUFFER): Use them.
93719
93720 2000-08-01  Jim Meyering  <meyering@lucent.com>
93721
93722         * lib/dirname.c (ISSLASH): Define.
93723         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93724         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93725         both `\' and `/' may be use as path separators.
93726         Based on a patch from Prashant TR.
93727
93728 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93729
93730         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93731         slot vector a constant, since it might get modified.
93732
93733 2000-07-31  Jim Meyering  <meyering@lucent.com>
93734
93735         * lib/xmalloc.c: Use `virtual memory exhausted', not
93736         `Memory exhausted'.
93737         * lib/obstack.c (print_and_abort): Likewise.
93738
93739 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93740
93741         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93742         buffer, so that the caller can always quote one small
93743         component of a "memory exhausted" message in slot 0.
93744         From a suggestion by Jim Meyering.
93745
93746 2000-07-30  Jim Meyering  <meyering@lucent.com>
93747
93748         * lib/makepath.c (make_path): Quote the other instance, too.
93749
93750         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93751         (STATIC_BUF_SIZE): Define.
93752         (quotearg_n_options): Use only statically allocated storage when
93753         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93754         than STATIC_BUF_SIZE.
93755
93756 2000-07-29  Jim Meyering  <meyering@lucent.com>
93757
93758         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93759         * lib/dirname.c (dir_name): Likewise.
93760
93761         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93762         `/'.
93763
93764         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93765         (dir_name): Assert that there are no trailing slashes.
93766
93767 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93768
93769         * lib/mbswidth.h (mbswidth): Add a flags argument.
93770         (mbswidth): New declaration.
93771         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93772         * lib/mbswidth.c (mbswidth): Add a flags argument.
93773         (mbsnwidth): New function.
93774
93775 2000-07-24  Jim Meyering  <meyering@lucent.com>
93776
93777         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93778
93779 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93780
93781         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93782
93783 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93784
93785         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93786         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93787         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93788         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93789         invoke multibyte primitives.
93790
93791 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93792
93793         * lib/quotearg.c:
93794         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93795         so that mbstate_t is always defined.
93796
93797         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93798         be 1 in at least one GCC installation, and this configuration
93799         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93800         performance on hosts that have mbrtowc but have only unibyte
93801         locales, but I assume these hosts are rare.
93802
93803 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93804
93805         * lib/mbswidth.c (_XOPEN_SOURCE):
93806         Don't define; this causes problems on Solaris 7.
93807         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93808
93809 2000-07-23  Jim Meyering  <meyering@lucent.com>
93810
93811         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93812         too: getgrgid, getpwuid, getuid.
93813
93814 2000-07-23  Jim Meyering  <meyering@lucent.com>
93815
93816         * lib/basename.c (base_name): Add an assertion.
93817
93818 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93819
93820         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93821         shadow its mbsinit function.
93822
93823 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93824
93825         * lib/mbswidth.h: New file.
93826         * lib/mbswidth.c: New file.
93827         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93828         (noinst_HEADERS): Add mbswidth.h.
93829
93830 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93831
93832         * lib/config.charset: Add support for FreeBSD. Improve support for
93833         HP-UX and IRIX 6.
93834
93835 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93836
93837         * m4/mbswidth.m4: New file.
93838         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93839
93840 2000-07-15  Jim Meyering  <meyering@lucent.com>
93841
93842         * lib/makepath.c: Include quote.h.
93843         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93844         corresponding argument in a `quote (...)' call.
93845         Give better diagnostics.
93846
93847         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93848         (noinst_HEADERS): Add quote.h.
93849
93850         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93851         from tar's src/misc.c.
93852         * lib/quote.h: New file.  Prototypes for same.
93853
93854 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93855
93856         From a suggestion by Bruno Haible.
93857         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93858         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93859         to decide whether to define the BeOS workaround macro;
93860         this adjusts to the change to AC_MBSTATE_T.
93861
93862 2000-07-14  Jim Meyering  <meyering@lucent.com>
93863
93864         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93865         jm_AC_TYPE_UINTMAX_T.
93866
93867 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93868
93869         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93870
93871         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93872         quotearg_buffer_restyled): Add support for
93873         clocale_quoting_style.  Undo previous change to
93874         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93875         and "{RIGHT QUOTATION MARK}" msgids.
93876
93877 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93878
93879         From a suggestion by Bruno Haible.
93880         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93881         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93882         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93883         and mbstate_t, to a single-part test that simply defines mbstate_t.
93884         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93885         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93886
93887 2000-07-10  Jim Meyering  <meyering@lucent.com>
93888
93889         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93890
93891         * m4/gnu-source.m4: Output to confdefs.h directly.
93892         Suggestion from Akim Demaille.
93893
93894 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93895
93896         The old behavior of quoting `like this' doesn't look good with
93897         newer, ISO-style fonts.  See:
93898         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93899
93900         Instead, quote "like this" by default.  Let the translator
93901         tailor the locale-specific quoting behavior by providing
93902         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93903
93904         * lib/quotearg.c (N_): New macro.
93905         (gettext_default): New function.
93906         (quotearg_buffer_restyled): Use
93907         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
93908         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
93909
93910 2000-07-09  Jim Meyering  <meyering@lucent.com>
93911
93912         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
93913         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
93914
93915         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
93916         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
93917
93918 2000-07-09  Jim Meyering  <meyering@lucent.com>
93919
93920         * lib/Most files: Update copyright dates to include 2000.
93921
93922 2000-07-08  Jim Meyering  <meyering@lucent.com>
93923
93924         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
93925         if not defined.
93926         (xgethostname): Remove now-unnecessary #ifdef.
93927         Move declaration of `err' into loop where it's used.
93928
93929 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93930         and Bruno Haible  <haible@clisp.cons.org>
93931
93932         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
93933         only if the test for an object-type mbstate_t fails.  This
93934         prevents us from mistakenly reporting that mbstate_t is a
93935         system object type after we "#define mbstate_t int" to work
93936         around its lack.
93937
93938 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93939         and Bruno Haible  <haible@clisp.cons.org>
93940
93941         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
93942
93943 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93944
93945         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
93946         to strerror_r.
93947         Include <ctype.h> for use of isalpha.
93948
93949 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93950
93951         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
93952         by allocating a larger buffer. Test the gethostname return value for
93953         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
93954         returns an error and ENAMETOOLONG isn't defined.
93955
93956 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93957
93958         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
93959         dimension.
93960
93961 2000-07-04  Jim Meyering  <meyering@lucent.com>
93962
93963         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
93964         of the deprecated AC_CHECKING.
93965
93966 2000-07-04  Jim Meyering  <meyering@lucent.com>
93967
93968         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
93969         Reported by Bruno Haible.
93970
93971 2000-07-04  Jim Meyering  <meyering@lucent.com>
93972
93973         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
93974         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
93975         lacks mbrtowc.
93976
93977 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93978
93979         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
93980         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
93981
93982 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93983         and Bruno Haible  <haible@clisp.cons.org>
93984
93985         * lib/quotearg.c (mbrtowc):
93986         Assign to *pwc, and return 1 only if result is nonzero.
93987         (iswprint): Use ISPRINT when substituting our own mbrtowc.
93988
93989 2000-07-03  Jim Meyering  <meyering@lucent.com>
93990
93991         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
93992
93993 2000-07-03  Jim Meyering  <meyering@lucent.com>
93994
93995         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
93996         This is necessary to get a definition of e.g., UTMP_FILE on
93997         HP-UX 10.20.
93998         From Bob Proulx.
93999
94000 2000-07-02  Jim Meyering  <meyering@lucent.com>
94001
94002         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94003
94004         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94005         AC_LIBOBJ(function_name).
94006         * m4/chown.m4: Likewise.
94007         * m4/fnmatch.m4: Likewise.
94008         * m4/ftruncate.m4: Likewise.
94009         * m4/getgroups.m4: Likewise.
94010         * m4/getline.m4: Likewise.
94011         * m4/group-member.m4: Likewise.
94012         * m4/jm-macros.m4: Likewise.
94013         * m4/lstat.m4: Likewise.
94014         * m4/malloc.m4: Likewise.
94015         * m4/memcmp.m4: Likewise.
94016         * m4/nanosleep.m4: Likewise.
94017         * m4/putenv.m4: Likewise.
94018         * m4/realloc.m4: Likewise.
94019         * m4/regex.m4: Likewise.
94020         * m4/stat.m4: Likewise.
94021         * m4/strftime.m4: Likewise.
94022
94023 2000-07-02  Jim Meyering  <meyering@lucent.com>
94024
94025         * lib/quotearg.c (mbstate_t): Don't define here.
94026
94027 2000-07-02  Jim Meyering  <meyering@lucent.com>
94028
94029         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94030
94031 2000-07-01  Jim Meyering  <meyering@lucent.com>
94032
94033         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94034
94035 2000-07-01  Jim Meyering  <meyering@lucent.com>
94036
94037         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94038         problem.
94039
94040 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94041
94042         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94043         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94044
94045 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94046
94047         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94048         per change in ../m4/ls-mntd-fs.m4.
94049         (read_filesystem_list): Ignore symbolic links.
94050
94051 2000-06-29  Jim Meyering  <meyering@lucent.com>
94052
94053         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94054         for declaration of strcmp.
94055
94056         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94057
94058         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94059         Avoid warning by casting result to `char *' to remove `const'.
94060
94061 2000-06-28  Jim Meyering  <meyering@lucent.com>
94062
94063         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94064         included by quotearg.c, for which we perform this test.  From
94065         Bruno Haible.
94066
94067 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94068
94069         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94070         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94071         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94072
94073 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94074
94075         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94076
94077 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94078
94079         savedir now sets errno on failure and invokes xmalloc to get memory.
94080         Fix a couple of other minor bugs while we're at it.
94081
94082         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94083         (NAMLEN): Remove macro.
94084         (malloc, realloc): Remove decls.
94085         (stpcpy): Likewise.
94086         ("xalloc.h"): Include.
94087         (NAME_SIZE_DEFAULT): New macro.
94088         (savedir): Use xmalloc / xrealloc to allocate memory.
94089         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94090         Skip "" directory entries.
94091         Use strlen to calculate directory entry length, since the old method
94092         is rarely used these days and isn't worth supporting.
94093         Don't use a pointer after freeing it.
94094         Check for integer overflow when calculating allocation size.
94095         Use memcpy to copy entries, instead of stpcpy.
94096         Set errno properly when returning NULL.
94097         Check for readdir error.
94098
94099 2000-06-26  Jim Meyering  <meyering@lucent.com>
94100
94101         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94102
94103 2000-06-25  Jim Meyering  <meyering@lucent.com>
94104
94105         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94106         Linux header bug when _XOPEN_SOURCE is defined to 500.
94107
94108 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94109
94110         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94111         deficiency.
94112
94113 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94114
94115         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94116         Include xalloc.h.
94117         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94118
94119 2000-06-24  Jim Meyering  <meyering@lucent.com>
94120
94121         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94122         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94123         for which strerror does return char*, but which lacks a conveniently
94124         accessible declaration of the function.  If the compile-test says
94125         strerror_r doesn't work, then resort to a `run'-test that works on
94126         BeOS and segfaults on DEC Unix.
94127
94128 2000-06-24  Jim Meyering  <meyering@lucent.com>
94129
94130         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94131
94132 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94133
94134         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94135         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94136
94137 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94138
94139         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94140         (mbrtowc, mbstate_t): Define substitutes if
94141         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94142         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94143         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94144
94145 2000-06-23  Jim Meyering  <meyering@lucent.com>
94146
94147         * m4/afs.m4: Add missing AC_MSG_RESULT.
94148         Reported by Bruno Haible.
94149
94150         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94151         Suggestion from Bruno Haible.
94152
94153 2000-06-23  Jim Meyering  <meyering@lucent.com>
94154
94155         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94156
94157 2000-06-21  Jim Meyering  <meyering@lucent.com>
94158
94159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94160
94161 2000-06-21  Jim Meyering  <meyering@lucent.com>
94162
94163         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94164         (noinst_HEADERS): Add getstr.h.
94165
94166         * lib/getline.c (getstr): Move into a separate file.
94167         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94168         the following changes: new parameter, delim2; both delim[12]
94169         parameters have type `int', not `char'.  The latter would lose
94170         with 8-bit delimiters.
94171         * lib/getstr.h: New file.
94172
94173 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94174
94175         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94176         than 1024, return a memory chunk of least possible size, instead
94177         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94178         Use free/xmalloc instead of xrealloc to avoid copying for very long
94179         paths.
94180
94181 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94182
94183         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94184         the empty string.
94185
94186 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94187
94188         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94189         address, not strdup.  Include <stdlib.h> and don't declare free().
94190
94191 2000-06-19  Jim Meyering  <meyering@lucent.com>
94192
94193         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94194
94195 2000-06-18  Jim Meyering  <meyering@lucent.com>
94196
94197         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94198
94199         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94200         `checking whether...' message to be consistent with that of the
94201         lstat test.
94202
94203 2000-06-18  Jim Meyering  <meyering@lucent.com>
94204
94205         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94206         Besides, these days every porting target provides a mkdir function.
94207
94208         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94209         needed. (this snippet comes from src/system.h).
94210
94211 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94212
94213         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94214
94215 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94216
94217         * lib/human.c (adjust_value): New function.
94218         (human_readable_inexact): Apply rounding style even when
94219         printing approximate values.
94220
94221 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94222
94223         * lib/human.c (human_readable_inexact): Allow an input block
94224         size that is not a multiple of the output block size, and vice versa.
94225         Reported by Piergiorgio Sartor.
94226
94227 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94228
94229         * lib/getdate.y (get_date): Apply relative times after time
94230         zone indicator, not before.  Reported by Todd A. Jacobs.
94231
94232 2000-06-13  Jim Meyering  <meyering@lucent.com>
94233
94234         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94235
94236         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94237
94238 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94239
94240         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94241
94242 2000-06-12  Jim Meyering  <meyering@lucent.com>
94243
94244         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94245         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94246         optional argument.
94247         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94248         the optional argument, `lib'.
94249
94250 2000-06-08  Jim Meyering  <meyering@lucent.com>
94251
94252         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94253
94254 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94255
94256         Rewrite largefile configuration so that we don't need to run
94257         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94258         AC_CANONICAL_HOST in configure.in -- jmm]
94259
94260         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94261         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94262         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94263         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94264         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94265         All uses changed.
94266         Instead of inspecting the output of getconf, try to compile the
94267         test program without and with the macro definition.
94268         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94269         for getconf.  Instead, check for the needed flags by compiling
94270         test programs.
94271
94272 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94273
94274         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94275
94276 2000-06-04  Jim Meyering  <meyering@lucent.com>
94277
94278         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94279         SunOS 4.1.4 for which gid_t is an unsigned type.
94280
94281 2000-06-03  Jim Meyering  <meyering@lucent.com>
94282
94283         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94284         now that autoconf requires that.
94285
94286         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94287         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94288         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94289
94290 2000-06-03  Jim Meyering  <meyering@lucent.com>
94291
94292         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94293
94294 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94295
94296         * m4/glibc21.m4: New file.
94297         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94298
94299 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94300
94301         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94302         newer, don't install charset.alias.
94303         * lib/config.charset: Change the Linux/glibc rules so they become empty
94304         on glibc-2.1 or newer.
94305
94306 2000-06-02  Jim Meyering  <meyering@lucent.com>
94307
94308         * lib/mountlist.c: Back out last change.  Instead, do this...
94309         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94310         me_dummy member using the same `ignore'-testing code.
94311         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94312         fs_type strings.
94313         From Mark D. Roth.
94314
94315 2000-05-29  Jim Meyering  <meyering@lucent.com>
94316
94317         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94318         mounts with the `ignore' attribute.  Based on a patch from
94319         Mark D. Roth.
94320
94321 2000-05-28  Jim Meyering  <meyering@lucent.com>
94322
94323         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94324         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94325         * m4/stat.m4: Likewise.
94326         * m4/lstat.m4: Likewise.
94327         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94328
94329         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94330         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94331
94332 2000-05-26  Jim Meyering  <meyering@lucent.com>
94333
94334         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94335
94336 2000-05-24  Jim Meyering  <meyering@lucent.com>
94337
94338         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94339         autoconf requires that.
94340         * m4/lib-check.m4: Likewise.
94341         * m4/jm-macros.m4: Likewise.
94342         * m4/strftime.m4: Likewise.
94343
94344         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94345         AC_CHECK_DECLS, now that autoconf requires that.
94346
94347 2000-05-22  Jim Meyering  <meyering@lucent.com>
94348
94349         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94350         * m4/lstat.m4: Likewise.
94351
94352 2000-05-22  Jim Meyering  <meyering@lucent.com>
94353
94354         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94355
94356 2000-05-20  Jim Meyering  <meyering@lucent.com>
94357
94358         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94359         (jm_PREREQ): Use it.
94360
94361 2000-05-18  Jim Meyering  <meyering@lucent.com>
94362
94363         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94364         back, too, since it may have been modified by allocate_entry.
94365         (hash_delete): Rewrite to use neither the assignment operator
94366         nor the comma operator in an if-expression.
94367
94368 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94369
94370         * lib/closeout.c:
94371         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94372         Remove; no longer needed.
94373         "quotearg.h": Add include.
94374         (file_name): Do not bother to explicitly initialize to NULL; it's less
94375         efficient on some hosts.
94376         (close_stdout_status): Remove test as to whether stdout was already
94377         closed; it breaks for the case "echo x | sort >&-".
94378         Quote file name colons.
94379         Do not assume that _("write error") lacks format strings.
94380
94381 2000-05-15  Jim Meyering  <meyering@lucent.com>
94382
94383         * lib/version-etc.c (version_etc_copyright): Update the copyright
94384         string used in all --version output.
94385
94386 2000-05-14  Jim Meyering  <meyering@lucent.com>
94387
94388         * lib/closeout.c (close_stdout_set_file_name): New function.
94389         (close_stdout_status): Use new file-scoped global.
94390         Return right away if fstat says the stdout file descriptor is invalid.
94391         * lib/closeout.h (close_stdout_set_file_name): Declare.
94392
94393 2000-05-10  Jim Meyering  <meyering@lucent.com>
94394
94395         * lib/closeout.c [default_exit_status]: New file-scoped variable.
94396         (close_stdout_set_status): New function.
94397         * lib/closeout.h (close_stdout_set_status): Declare.
94398
94399 2000-05-09  Jim Meyering  <meyering@lucent.com>
94400
94401         * m4/gettext.m4: Rename this...
94402         * m4/libintl.m4: ...to this.
94403
94404 2000-05-08  Jim Meyering  <meyering@lucent.com>
94405
94406         * lib/long-options.c: Don't include closeout.h.
94407         (parse_long_options): Don't call close_stdout for --version.
94408
94409 2000-05-06  Paul Eggert  <eggert@twinsun.com>
94410
94411         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
94412         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
94413         2.1.3 bug.  This avoids a clash when files like regex.c define
94414         _GNU_SOURCE.
94415
94416 2000-05-06  Jim Meyering  <meyering@lucent.com>
94417
94418         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
94419         (AC_REPLACE_FUNCS): Add strnlen.
94420
94421         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
94422         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
94423
94424         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
94425         AC_SEARCH_LIBS call for nanosleep.
94426         (LIB_NANOSLEEP): Set and AC_SUBST.
94427
94428 2000-05-06  Jim Meyering  <meyering@lucent.com>
94429
94430         * lib/strnlen.c: Undefine __strnlen and strnlen.
94431         [!weak_alias]: Define __strnlen to strnlen.
94432
94433         * lib/atexit.c: New file, from libiberty.
94434
94435 2000-05-06  Jim Meyering  <meyering@lucent.com>
94436
94437         * lib/closeout.c (close_stdout_status): Also check for errors on the
94438         stderr stream.
94439
94440 2000-05-05  Jim Meyering  <meyering@lucent.com>
94441
94442         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
94443         AC_SEARCH_LIBS call for clock_gettime.
94444         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
94445
94446         * m4/search-libs.m4: Update from autoconf.
94447
94448         su doesn't work on Solaris 2.6.
94449         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
94450         <shadow.h>.  Reported by Dragos Harabor.
94451
94452 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
94453
94454         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
94455         memcpy instead of xmalloc, xrealloc, path_concat.
94456         (locale_charset): Treat empty environment variables as absent.
94457         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
94458
94459 2000-05-04  Jim Meyering  <meyering@lucent.com>
94460
94461         * lib/getopt.c: Update from glibc.
94462         * lib/obstack.c: Likewise.
94463         * lib/obstack.h: Likewise.
94464         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
94465         file
94466
94467         * lib/regex.h: Likewise.
94468         * lib/strndup.c: Likewise.
94469         * lib/strnlen.c: New file, from glibc.
94470
94471 2000-05-03  Jim Meyering  <meyering@lucent.com>
94472
94473         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
94474
94475 2000-05-02  Paul Eggert  <eggert@twinsun.com>
94476
94477         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
94478         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
94479         compile-time test, rather than inspecting host and OS, to
94480         decide whether to define _LARGEFILE_SOURCE.
94481
94482 2000-05-01  Jim Meyering  <meyering@lucent.com>
94483
94484         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
94485
94486         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
94487         Based on a patch from Bruno Haible.
94488
94489 2000-05-01  Jim Meyering  <meyering@lucent.com>
94490
94491         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
94492
94493 2000-04-29  Jim Meyering  <meyering@lucent.com>
94494
94495         * lib/path-concat.c: Declare strdup only if it's not defined.
94496         * lib/canon-host.c: Likewise.
94497
94498 2000-04-28  Jim Meyering  <meyering@lucent.com>
94499
94500         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
94501         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
94502         is included first, then limits.h is included by locale.h by libintl.h.
94503         From John David Anglin.
94504
94505 2000-04-25  Jim Meyering  <meyering@lucent.com>
94506
94507         * lib/makepath.c (S_IRWXUGO): Define.
94508         (make_path): Always perform explicit chmod if MODE specifies any
94509         of the `special' permission bits.  Prompted by a bug report against
94510         install from Mate Wierdl and Joost van Baal.
94511
94512 2000-04-18  Jim Meyering  <meyering@lucent.com>
94513
94514         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
94515         (jm_PREREQ): Use it.
94516
94517 2000-04-18  Jim Meyering  <meyering@lucent.com>
94518
94519         * lib/README: New file.
94520
94521         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
94522         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
94523
94524 2000-04-17  Jim Meyering  <meyering@lucent.com>
94525
94526         Get it right :-)
94527         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
94528         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
94529         Suggestion from Akim Demaille.
94530
94531 2000-04-17  Jim Meyering  <meyering@lucent.com>
94532
94533         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94534         the definition of it to rpl_strftime also defined-away the system's
94535         declaration.
94536
94537 2000-04-15  Jim Meyering  <meyering@lucent.com>
94538
94539         Use `C' to denote so-called `contiguous' files, the same way
94540         that tar does.
94541         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94542         (ftypelet): Use S_ISCTG.
94543         From Michael Deutschmann.
94544
94545 2000-04-14  Jim Meyering  <meyering@lucent.com>
94546
94547         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94548         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94549         clobbered.
94550
94551 2000-04-14  Jim Meyering  <meyering@lucent.com>
94552
94553         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94554
94555 2000-04-13  Jim Meyering  <meyering@lucent.com>
94556
94557         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94558         AH_VERBATIM to insert required #ifndef into config.h.in.
94559         Suggestion from Akim Demaille.
94560
94561 2000-04-12  Jim Meyering  <meyering@lucent.com>
94562
94563         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94564         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94565         Christian Krackowizer.
94566
94567         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94568         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94569         (AC_SYS_LARGEFILE): Require.
94570         (AM_C_PROTOTYPES): Require.
94571
94572 2000-04-08  Jim Meyering  <meyering@lucent.com>
94573
94574         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94575         names don't conflict.  Reported by Eli Zaretskii.
94576
94577 2000-04-07  Jim Meyering  <meyering@lucent.com>
94578
94579         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94580         sys/types.h, to work around system header problems on AIX 3.2.5.
94581         From Bruno Haible.
94582
94583 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94584
94585         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94586         bug.  Deal with the different error behavior of Irix iconv.
94587
94588 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94589
94590         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94591         IRIX if the installer said otherwise.
94592
94593 2000-04-05  Jim Meyering  <meyering@lucent.com>
94594
94595         Portability tweaks required for ultrix4.3.
94596         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94597         (jm_CHECK_DECLS): Add getutent to the list of functions.
94598         (_jm_DECL_HEADERS): Add utmpx.h.
94599         From John David Anglin.
94600
94601         * m4/strftime.m4: Back out the 2000-04-02 change.
94602         Instead of that change, simply undefine putenv in the test program.
94603
94604 2000-04-05  Jim Meyering  <meyering@lucent.com>
94605
94606         Portability tweaks required for ultrix4.3.
94607         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94608         getutent.
94609         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94610         * lib/canon-host.c: Declare strdup.
94611         * lib/path-concat.c: Likewise.
94612         From John David Anglin.
94613
94614 2000-04-04  Jim Meyering  <meyering@lucent.com>
94615
94616         Be more DOS 8.3-friendly.
94617         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94618         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94619         * lib/Makefile.am: Reflect renaming.
94620         Reported by Eli Zaretskii.
94621
94622         Use a temporary file name that won't clash with `charset.alias'
94623         in the DOS 8.3 name space.
94624         * lib/Makefile.am (charset_tmp): Define.
94625         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94626         (uninstall-local): Likewise.
94627         Reported by Eli Zaretskii.
94628
94629 2000-04-03  Jim Meyering  <meyering@lucent.com>
94630
94631         * m4/gettext.m4: Fix typo in comment.
94632
94633         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94634         textutils/configure.in).  Suggestion from Paul Eggert.
94635         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94636
94637 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94638
94639         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94640         variable in the shell rather than using putenv, which isn't
94641         portable.  This avoids the configure-time inter-test dependency
94642         on the potentially-renamed putenv function.
94643
94644 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94645
94646         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94647         before checking struct stat.st_blksize, so that
94648         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94649
94650 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94651
94652         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94653         since strftime.c uses HAVE_STRFTIME to decide whether to use
94654         the underlying strftime.
94655
94656 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94657
94658         * lib/time/strftime.c (my_strftime): Make sure we call the system
94659         strftime, not ourselves, when invoking the underlying strftime.
94660
94661 2000-03-24  Jim Meyering  <meyering@lucent.com>
94662
94663         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94664         (charset_alias): Define.
94665         (install-exec-local): Factor out common code.
94666         (uninstall-local): Split lines longer than 80.
94667         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94668         (SUFFIXES): Define.
94669         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94670         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94671
94672 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94673
94674         * lib/config.charset: Output a line containing "Packages using this
94675         file".
94676         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94677         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94678         ref-del.sed): New rules.
94679
94680 2000-03-17  Jim Meyering  <meyering@lucent.com>
94681
94682         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94683         Otherwise, include <strings.h>
94684
94685 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94686
94687         * lib/unicodeio.c (utf8_wctomb): New function.
94688         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94689         format instead of in UCS-4 with platform dependent endianness.
94690
94691 2000-03-10  Jim Meyering  <meyering@lucent.com>
94692
94693         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94694         From Marco Franzen.
94695
94696 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94697
94698         * lib/savedir.c (savedir): Work even if directory size is
94699         negative; this can happen with some screwy NFS configurations.
94700
94701 2000-03-06  Jim Meyering  <meyering@lucent.com>
94702
94703         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94704         if it's NULL (because we ran out of memory).  From Bruno Haible.
94705
94706 2000-03-05  Jim Meyering  <meyering@lucent.com>
94707
94708         * lib/localcharset.c ("path-concat.h"): Include.
94709         (get_charset_aliases): Use path_concat instead of ANSI string
94710         concatenation.
94711
94712         * lib/unicodeio.h (PARAMS): Define.
94713         Use it to guard prototype.
94714
94715 2000-03-04  Jim Meyering  <meyering@lucent.com>
94716
94717         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94718         for lib/localcharset.c.
94719
94720 2000-03-04  Jim Meyering  <meyering@lucent.com>
94721
94722         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94723         installing into it.
94724         (uninstall-local): Uncomment this rule so `make distcheck' works
94725         once again.
94726
94727         * lib/unicodeio.c (<errno.h>): Include it.
94728         (errno): Declare if not defined.
94729
94730         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94731
94732         * lib/config.charset: New version, incorporating remarks from a linux
94733         i18n mailing list.  From Bruno Haible.
94734
94735 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94736
94737         * m4/codeset.m4: New file.
94738         * m4/iconv.m4: New file.
94739         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94740
94741 2000-03-03  Jim Meyering  <meyering@lucent.com>
94742
94743         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94744
94745 2000-03-02  Jim Meyering  <meyering@lucent.com>
94746
94747         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94748         the messages come out on separate lines.
94749
94750         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94751         rather than jm_CHECK_DECLARATIONS.
94752         * m4/decl.m4: Remove now-unused file.
94753
94754         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94755         geteuid.
94756
94757 2000-03-02  Jim Meyering  <meyering@lucent.com>
94758
94759         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94760
94761 2000-03-01  Jim Meyering  <meyering@lucent.com>
94762
94763         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94764         * lib/unicodeio.c: Likewise.
94765
94766 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94767
94768         * lib/config.charset: New file.
94769         * lib/localcharset.c: New file.
94770         * lib/unicodeio.h, lib/unicodeio.c: New files.
94771         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94772         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94773         (noinst_HEADERS): Add unicodeio.h.
94774         (all-local, install-exec-local, charset.alias): New targets.
94775
94776 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94777
94778         * lib/quotearg.c (ALERT_CHAR): New macro.
94779         (quotearg_buffer_restyled): Use it.
94780
94781 2000-02-27  Jim Meyering  <meyering@lucent.com>
94782
94783         * m4/check-decl.m4: Add getenv to the list.
94784
94785 2000-02-27  Jim Meyering  <meyering@lucent.com>
94786
94787         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94788         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94789
94790         * lib/backupfile.c: Guard inclusion of stdlib.h with
94791         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94792         Declare malloc if needed.
94793
94794         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94795         `#ifndef HAVE_DECL..'
94796         now that autoconf always defines the HAVE_DECL_ symbols.
94797         * lib/human.c: Likewise.
94798         * lib/same.c: Likewise.
94799         * lib/strtoumax.c: Likewise.
94800
94801         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94802         declaration check was not run.
94803         * lib/hash.c: Likewise.
94804         * lib/human.c: Likewise.
94805         * lib/same.c: Likewise.
94806         * lib/strtoumax.c: Likewise.
94807
94808         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94809         `.', then first look up the entire `.'-containing string as a login
94810         name.
94811
94812 2000-02-23  Jim Meyering  <meyering@lucent.com>
94813
94814         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94815         in place of my hack.
94816
94817 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94818
94819         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94820         (textint): New typedef.
94821         (parser_control): Member year changed from int to textint.
94822         All uses changed.
94823         (YYSTYPE): Removed; replaced by %union with int and textint members.
94824         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94825         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94826         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94827         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94828         (date, number, to_year): Use width of number in digits, not its value,
94829         to determine whether it's a 2-digit year, or a 2-digit time.
94830         (yylex): Store number of digits of numeric tokens.
94831         Reported by John Kendall.
94832
94833         (parser_control): Changed from struct parser_control to typedef (for
94834         consistency).  All uses changed.
94835
94836         (tID): Removed; not used.
94837         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94838
94839 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94840
94841         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94842         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94843
94844 2000-02-12  Jim Meyering  <meyering@lucent.com>
94845
94846         * lib/userspec.c (ISDIGIT): Define it.
94847         (isdigit): Remove definition.
94848         (is_number): Use ISDIGIT, not isdigit.
94849         <libintl.h>: Include.
94850         (_ and N_): Define.
94851         (parse_user_spec): Mark translatable strings.
94852
94853 2000-02-10  Jim Meyering  <meyering@lucent.com>
94854
94855         With these changes, nanosleep.[ch] are finally enough like the other
94856         lib/* replacement files to compile on a few more losing systems.
94857
94858         * lib/nanosleep.h: Don't include config.h.
94859         Remove prototype from declaration of nanosleep.
94860         (PARAMS): Remove now-unneeded definition.
94861         * lib/nanosleep.c: #undef nanosleep.
94862         (rpl_nanosleep): Rename from nanosleep.
94863
94864 2000-02-10  Jim Meyering  <meyering@lucent.com>
94865
94866         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94867         gnu_nanosleep to rpl_nanosleep.
94868
94869 2000-02-09  Jim Meyering  <meyering@lucent.com>
94870
94871         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94872         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94873
94874 2000-02-08  Akim Demaille  <akim@epita.fr>
94875
94876         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94877         `[' and `]' and remove uses of `changequote'.
94878         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94879         (AC_SYS_LARGEFILE): Likewise.
94880         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94881         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94882         of changequote.
94883         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94884         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94885         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94886         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94887
94888 2000-02-05  Jim Meyering  <meyering@lucent.com>
94889
94890         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94891         Remove explicit use of AC_HEADER_TIME.  It is required by
94892         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94893         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94894         in autoconf whereby the expansion of the latter ended up preceding
94895         the expansion of its prerequisite, AC_HEADER_TIME.
94896         Reported by Volker Borchert.
94897
94898 2000-02-03  Jim Meyering  <meyering@lucent.com>
94899
94900         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94901
94902 2000-02-03  Jim Meyering  <meyering@lucent.com>
94903
94904         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
94905         rather than with `#if HAVE_UTMPNAME'.
94906
94907 2000-02-02  Jim Meyering  <meyering@lucent.com>
94908
94909         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
94910         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
94911         Reported by Eli Zaretskii.
94912
94913 2000-02-01  Jim Meyering  <meyering@lucent.com>
94914
94915         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
94916
94917 2000-01-31  Jim Meyering  <meyering@lucent.com>
94918
94919         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
94920         functions.  Add the time.h and sys/time.h headers along with the
94921         AC_REQUIRE'ment of AC_HEADER_TIME.
94922
94923 2000-01-31  Jim Meyering  <meyering@lucent.com>
94924
94925         * lib/nanosleep.h (nanosleep): Guard declaration with
94926         `#if ! HAVE_DECL_NANOSLEEP'.
94927         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
94928         the declaration in that vendor's sys/timers.h.
94929         Reported by Christian Krackowizer.
94930
94931         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
94932         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
94933         (ISPRINT): Likewise.
94934         Reported by Tom Tromey.
94935
94936 2000-01-30  Jim Meyering  <meyering@lucent.com>
94937
94938         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
94939
94940         * m4/prereq.m4 (utmp_includes): Define.
94941         Check for ut_user and ut_name members in both struct utmpx
94942         and struct utmp.
94943
94944 2000-01-30  Jim Meyering  <meyering@lucent.com>
94945
94946         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
94947         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
94948         header files where only utmpx.ut_user is declared.
94949
94950         * lib/readutmp.h (UT_USER): Define.
94951
94952 2000-01-29  Jim Meyering  <meyering@lucent.com>
94953
94954         * m4/lib-check.m4: New file containing library-related checks from
94955         fileutils and sh-utils (textutils had none).
94956
94957 2000-01-28  Jim Meyering  <meyering@lucent.com>
94958
94959         * m4/perl.m4: Change format of warning message to look more like that
94960         from the missing script.  Suggestion from François Pinard.
94961
94962 2000-01-25  Jim Meyering  <meyering@lucent.com>
94963
94964         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
94965         well as time.h in the compile check.
94966         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
94967         Fix typo in cross-compiling case: s/yes/no/.
94968
94969 2000-01-23  Jim Meyering  <meyering@lucent.com>
94970
94971         * m4/jm-macros.m4: Move df-related tests here from
94972         fileutils/configure.in
94973
94974         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
94975         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
94976
94977         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
94978         s/space/ac_fsusage_space/.
94979         (jm_FILE_SYSTEM_USAGE): Take two parameters.
94980
94981         * m4/ftruncate.m4: New file (derived from part of
94982         fileutils/configure.in).
94983         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
94984         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
94985
94986         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
94987         AC_SUBST these here, rather than just in sh-util/configure.in, so
94988         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
94989         all the same.
94990         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
94991         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
94992         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
94993         (AC_SUBST(POW_LIBM)): Likewise.
94994         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
94995
94996 2000-01-23  Jim Meyering  <meyering@lucent.com>
94997
94998         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
94999         obstack.c.
95000
95001 2000-01-22  Jim Meyering  <meyering@lucent.com>
95002
95003         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95004
95005         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95006
95007         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95008         configure.in
95009         (AC_CHECK_HEADERS): Likewise for sh-utils.
95010         (AC_CHECK_HEADERS): Likewise for textutils.
95011         Merge the three lists of headers.
95012
95013         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95014         from fileutils' configure.in.
95015
95016         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95017         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95018         check-decl.m4.
95019
95020         * m4/check-decl.m4: Use #if rather than #ifdef.
95021         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95022         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95023         (_jm_DECL_HEADERS): Define new function.
95024         (jm_CHECK_DECLARATIONS): Require it.
95025
95026 2000-01-22  Jim Meyering  <meyering@lucent.com>
95027
95028         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95029         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95030         Required for some AIX systems.  Reported by Christian Krackowizer.
95031         [TESTING] (main): New function.
95032
95033         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95034         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95035         letters.
95036
95037         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95038         iswprint.
95039
95040         * lib/strverscmp.c (ISDIGIT): Define.
95041         (strverscmp): Use ISDIGIT, not isdigit.
95042
95043 2000-01-19  Jim Meyering  <meyering@lucent.com>
95044
95045         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95046         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95047         defines `struct timespec' in <sys/time.h>
95048
95049         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95050         Thanks to Akim for explaining.
95051
95052 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95053
95054         * lib/nanosleep.c (nanosleep):
95055         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95056         POSIX.1 doesn't require SA_INTERRUPT and some systems
95057         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95058         it's been part of POSIX.1 since day 1 (in 1988).
95059
95060 2000-01-17  Jim Meyering  <meyering@lucent.com>
95061
95062         * lib/interlock: Remove unused file.  Reported by François Pinard.
95063
95064 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95065
95066         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95067         alert, backslash, formfeed, and vertical tab unnecessarily in
95068         shell quoting style.
95069
95070 2000-01-16  Jim Meyering  <meyering@lucent.com>
95071
95072         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95073         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95074         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95075         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95076
95077 2000-01-16  Jim Meyering  <meyering@lucent.com>
95078
95079         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95080         because the latter didn't work.
95081
95082 2000-01-15  Jim Meyering  <meyering@lucent.com>
95083
95084         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95085         (AC_REPLACE_FUNCS): Add memcpy and memset.
95086         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95087         Add strpbrk.
95088         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95089
95090 2000-01-12  Jim Meyering  <meyering@lucent.com>
95091
95092         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95093         (jm_PREREQ): Use it.
95094         (jm_PREREQ_READUTMP): New macro.
95095         (jm_PREREQ): Use it.
95096
95097 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95098
95099         Quote multibyte characters correctly.
95100         * m4/c-bs-a.m4: New file.
95101         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95102         (jm_PREREQ): Use it.
95103
95104 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95105
95106         * m4/uintmax_t.m4: Port to autoconf 2.13.
95107
95108 2000-01-08  Jim Meyering  <meyering@ascend.com>
95109
95110         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95111         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95112
95113 2000-01-04  Jim Meyering  <meyering@ascend.com>
95114
95115         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95116         jm_STRUCT_DIRENT_D_TYPE.
95117         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95118         jm_STRUCT_DIRENT_D_INO.
95119         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95120         jm_STRUCT_UTIMBUF.
95121         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95122         renamings.
95123         * m4/utime.m4: Likewise.
95124
95125         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95126         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95127
95128 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95129
95130         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95131         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95132
95133 2000-01-02  Jim Meyering  <meyering@ascend.com>
95134
95135         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95136         remember if this is necessary.
95137
95138 1999-12-26  Jim Meyering  <meyering@ascend.com>
95139
95140         * m4/jm-macros.m4: Use it here.
95141         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95142
95143 1999-12-23  Jim Meyering  <meyering@ascend.com>
95144
95145         * m4/jm-macros.m4: Check for clock_gettime (moved from
95146         fileutils/configure.in)
95147         Check for gettimeofday.
95148
95149 1999-12-20  Jim Meyering  <meyering@ascend.com>
95150
95151         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95152         autoconf-2.14a-1999-12-20.
95153
95154 1999-12-19  Jim Meyering  <meyering@ascend.com>
95155
95156         * m4/lstat-slash.m4: New file.
95157         * m4/jm-macros.m4: Use the new macro:
95158         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95159
95160 1999-12-07  Jim Meyering  <meyering@ascend.com>
95161
95162         * m4/perl.m4: Require that File::Compare be available, too.
95163         Too many systems seem to lack it.
95164
95165         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95166         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95167
95168 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95169
95170         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95171         problem with the QNX 4.25 shell, which doesn't propagate exit
95172         status of failed commands inside shell assignments.
95173
95174 1999-11-17  Jim Meyering  <meyering@ascend.com>
95175
95176         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95177
95178 1999-11-07  Jim Meyering  <meyering@ascend.com>
95179
95180         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95181
95182 1999-11-06  Jim Meyering  <meyering@ascend.com>
95183
95184         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95185         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95186
95187 1999-11-05  Jim Meyering  <meyering@ascend.com>
95188
95189         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95190         configure.in of textutils, fileutils, and sh-utils into this one
95191         (shared between those packages) file.
95192         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95193         AC_STRUCT_ST_BLKSIZE.
95194
95195 1999-11-03  Jim Meyering  <meyering@ascend.com>
95196
95197         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95198         of AC_CHECK_TYPE checks includes unistd.h.
95199         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95200         Suggestion from Akim Demaille.
95201
95202 1999-10-30  Jim Meyering  <meyering@ascend.com>
95203
95204         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95205         m4-quoted string.
95206         * m4/ls-mntd-fs.m4: Likewise.
95207         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95208         * m4/jm-winsz1.m4: Likewise.
95209
95210         * m4/const.m4: Remove file, since the fix made it into the experimental
95211         version of autoconf.
95212         * m4/mktime.m4: Likewise.
95213
95214         * m4/check-type.m4: Remove file, now that the latest version of
95215         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95216
95217         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95218         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95219         AC_CHECK_TYPE.
95220
95221 1999-10-04  Jim Meyering  <meyering@ascend.com>
95222
95223         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95224
95225 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95226
95227         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95228         2.95.1 bug with HP-UX 10.20.
95229
95230 1999-09-17  Jim Meyering  <meyering@ascend.com>
95231
95232         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95233         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95234         due to missing strdup (against sh-utils-2.0).
95235
95236 1999-08-29  Jim Meyering  <meyering@ascend.com>
95237
95238         * m4/jm-macros.m4: Require jm_BISON.
95239         * m4/bison.m4: New file.
95240
95241 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95242
95243         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95244         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95245
95246 1999-08-05  Jim Meyering  <meyering@ascend.com>
95247
95248         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95249         to avoid conflicts with `conftest' on 8+3 filesystems.
95250         Suggestion from Eli Zaretskii.
95251
95252 1999-08-04  Jim Meyering  <meyering@ascend.com>
95253
95254         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95255         fileutils and sh-utils (textutils's getline test was inadequate).
95256         (AM_FUNC_GETLINE): Run this test.
95257         (AC_CHECK_FUNCS): Check for getdelim.
95258         Reported by Bob Proulx.
95259
95260 1999-08-02  Jim Meyering  <meyering@ascend.com>
95261
95262         * m4/jm-macros.m4: Add a comment.
95263
95264 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95265
95266         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95267         <inttypes.h> defines strtoumax as a macro (and not as a
95268         function).
95269
95270 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95271
95272         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95273         that we can shift, multiply and divide unsigned long long
95274         values; Ultrix cc can't do it.
95275
95276 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95277
95278         * m4/mktime.m4: New file, which is a preview of what should appear
95279         in the next public autoconf release.
95280
95281 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95282
95283         * m4/lfs.m4: Remove this file.
95284         * m4/largefile.m4: New file.  It contains the old contents of
95285         lfs.m4, except that all names with prefix AC_LFS have been
95286         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95287         compatible with future autoconf versions.  Also, some minor m4
95288         quoting problems have been fixed.
95289
95290 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95291
95292         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95293         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95294         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95295         and simplify the shell code.
95296
95297 1999-08-01  Jim Meyering  <meyering@ascend.com>
95298
95299         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95300         m4.
95301
95302 1999-07-20  Jim Meyering  <meyering@ascend.com>
95303
95304         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95305
95306 1999-07-15  Jim Meyering  <meyering@ascend.com>
95307
95308         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95309
95310 1999-05-22  Jim Meyering  <meyering@ascend.com>
95311
95312         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95313
95314 1999-05-20  Jim Meyering  <meyering@ascend.com>
95315
95316         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95317         Add a colon after each `then' in case $4 is empty.
95318
95319 1999-05-16  Jim Meyering  <meyering@ascend.com>
95320
95321         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95322
95323 1999-05-10  Jim Meyering  <meyering@ascend.com>
95324
95325         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95326
95327         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95328         AC_FUNC_MKTIME.
95329
95330 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95331
95332         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95333
95334 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95335
95336         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95337         not CPPFLAGS, so that linking works correctly in IRIX.
95338
95339 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95340
95341         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95342
95343 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95344
95345         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95346         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95348         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95349         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95350
95351         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95352
95353 1999-04-20  Jim Meyering  <meyering@ascend.com>
95354
95355         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95356         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95357         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95358
95359 1999-04-18  Jim Meyering  <meyering@ascend.com>
95360
95361         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95362         * m4/jm-macros.m4: Use it.
95363
95364 1999-04-06  Jim Meyering  <meyering@ascend.com>
95365
95366         * m4/strftime.m4: Remove test for %f.
95367
95368 1999-03-29  Jim Meyering  <meyering@ascend.com>
95369
95370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95371         superset of the AC_TYPE_* checks in the textutils, fileutils,
95372         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95373         AC_TYPE_PID_T.
95374
95375 1999-03-28  Jim Meyering  <meyering@ascend.com>
95376
95377         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95378         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95379         replaced e.g., in the *.sh files of the sh-utils.
95380
95381 1999-03-20  Jim Meyering  <meyering@ascend.com>
95382
95383         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95384         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95385         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95386
95387 1999-03-19  Jim Meyering  <meyering@ascend.com>
95388
95389         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95390
95391 1999-03-12  Jim Meyering  <meyering@ascend.com>
95392
95393         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
95394
95395 1999-03-07  Jim Meyering  <meyering@ascend.com>
95396
95397         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
95398         declared.
95399
95400 1999-02-17  Jim Meyering  <meyering@ascend.com>
95401
95402         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
95403         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
95404
95405 1999-02-07  Jim Meyering  <meyering@ascend.com>
95406
95407         * m4/group-member.m4: New file -- extracted from sh-utils'
95408         configure.in.
95409
95410         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
95411         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
95412
95413 1999-02-06  Jim Meyering  <meyering@ascend.com>
95414
95415         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
95416         * m4/fnmatch.m4: Likewise.
95417         * m4/getgroups.m4: Likewise.
95418         * m4/lstat.m4: Likewise.
95419         * m4/malloc.m4: Likewise.
95420         * m4/putenv.m4: Likewise.
95421         * m4/realloc.m4: Likewise.
95422         * m4/regex.m4: Likewise.
95423         * m4/stat.m4: Likewise.
95424         * m4/strftime.m4: Likewise.
95425         Suggestion from Alain Magloire.
95426
95427         * m4/chown.m4: Use `.$ac_objext', not `.o'.
95428         * m4/fnmatch.m4: Likewise.
95429         * m4/getgroups.m4: Likewise.
95430         * m4/getline.m4: Likewise.
95431         * m4/lstat.m4: Likewise.
95432         * m4/malloc.m4: Likewise.
95433         * m4/memcmp.m4: Likewise.
95434         * m4/putenv.m4: Likewise.
95435         * m4/realloc.m4: Likewise.
95436         * m4/regex.m4: Likewise.
95437         * m4/stat.m4: Likewise.
95438         * m4/strftime.m4: Likewise.
95439         Suggestion from Alain Magloire.
95440
95441         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
95442         an argument.
95443
95444         * m4/regex.m4: Add a run-time Test for proper operation of
95445         re_compile_pattern.
95446
95447 1999-01-31  Jim Meyering  <meyering@ascend.com>
95448
95449         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
95450
95451 1999-01-30  Jim Meyering  <meyering@ascend.com>
95452
95453         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
95454
95455         * m4/jm-mktime.m4: Make this a wrapper around the official
95456         AM_FUNC_MKTIME rather than my private copy, now that the official one
95457         is up to date.
95458         * m4/mktime.m4: Remove file.
95459
95460         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
95461         * m4/uptime.m4: Likewise.
95462         * m4/uintmax_t.m4: Likewise.
95463
95464 1999-01-28  Jim Meyering  <meyering@ascend.com>
95465
95466         * m4/jm-macros.m4: Use jm_AFS.
95467         * m4/afs.m4: New file (from fileutils' configure.in).
95468
95469         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
95470         * m4/chown.m4: Likewise.
95471         * m4/d-ino.m4: Likewise.
95472         * m4/d-type.m4: Likewise.
95473         * m4/fnmatch.m4: Likewise.
95474         * m4/getgroups.m4: Likewise.
95475         * m4/gettext.m4: Likewise.
95476         * m4/jm-mktime.m4: Likewise.
95477         * m4/jm-winsz2.m4: Likewise.
95478         * m4/lcmessage.m4: Likewise.
95479         * m4/ls-mntd-fs.m4: Likewise.
95480         * m4/malloc.m4: Likewise.
95481         * m4/memcmp.m4: Likewise.
95482         * m4/putenv.m4: Likewise.
95483         * m4/realloc.m4: Likewise.
95484         * m4/st_mtim.m4: Likewise.
95485         * m4/strftime.m4: Likewise.
95486
95487 1999-01-16  Jim Meyering  <meyering@ascend.com>
95488
95489         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
95490         (ARGMATCH_DIE_DECL): Define.
95491
95492 1999-01-12  Jim Meyering  <meyering@ascend.com>
95493
95494         * m4/Makefile.am.in: Rewrite to avoid using fmt.
95495         Reported by Lars Hecking.
95496
95497 1999-01-10  Jim Meyering  <meyering@ascend.com>
95498
95499         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
95500         gross kludge.
95501         * m4/inttypes_h.m4: Likewise.
95502         * m4/lstat.m4: Likewise.
95503         * m4/malloc.m4: Likewise.
95504         * m4/readdir.m4: Likewise.
95505         * m4/realloc.m4: Likewise.
95506         * m4/st_dm_mode.m4: Likewise.
95507         * m4/stat.m4: Likewise.
95508         * m4/utimbuf.m4: Likewise.
95509         * m4/utimes.m4: Likewise.
95510
95511         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
95512         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
95513         comments in config.h.in are meaningful.
95514
95515         * m4/jm-macros.m4: Require autoconf-2.13 here.
95516
95517         * m4/regex.m4: By default, don't use the included regex.c on systems
95518         with glibc 2.  Suggestion from Uli Drepper.
95519
95520 1999-01-02  Jim Meyering  <meyering@ascend.com>
95521
95522         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
95523
95524 1998-12-18  Jim Meyering  <meyering@ascend.com>
95525
95526         * m4/Makefile.am.in (Makefile.am): Simplify rule.
95527         Based on a suggestion from Lars Hecking.
95528
95529 1998-11-16  Paul Eggert  <eggert@twinsun.com>
95530
95531         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
95532
95533 1998-11-16  Jim Meyering  <meyering@ascend.com>
95534
95535         * m4/lfs.m4: Double-quote the `uname...` expression.
95536
95537 1998-11-14  Jim Meyering  <meyering@ascend.com>
95538
95539         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95540         * m4/stat.m4: Likewise.
95541
95542 1998-11-03  Jim Meyering  <meyering@ascend.com>
95543
95544         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95545         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95546
95547 1998-10-18  Jim Meyering  <meyering@ascend.com>
95548
95549         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95550
95551 1998-10-17  Jim Meyering  <meyering@ascend.com>
95552
95553         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95554         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95555         calls for those previously hard-coded headers.  Instead, take a new
95556         parameter.
95557         (jm_CHECK_DECLARATIONS): Reflect interface change.
95558         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95559         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95560
95561         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95562
95563 1998-10-14  Jim Meyering  <meyering@ascend.com>
95564
95565         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95566         instead of "TZ=America/Vancouver".  From Paul Eggert.
95567
95568 1998-10-11  Jim Meyering  <meyering@ascend.com>
95569
95570         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95571         This adds a test for a recently added compatibility fix for mktime.c.
95572         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95573
95574 1998-09-27  Jim Meyering  <meyering@ascend.com>
95575
95576         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95577
95578         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95579         ../configure.in, including a change from Gordon Matzigkeit to allow
95580         cross-compiling for the Hurd.
95581
95582         * m4/glibc.m4: New file/macro to test for the GNU C Library
95583         versions 1 and 2.  From Gordon Matzigkeit.
95584         Indent.
95585
95586 1998-09-21  Jim Meyering  <meyering@ascend.com>
95587
95588         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95589
95590 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95591
95592         Port nanosecond-resolution times to UnixWare 2.1.2 and
95593         pedantic Solaris 2.6.
95594
95595         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95596         AC_STRUCT_ST_MTIM.
95597         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95598         Generate name of ns member, instead of just 1 or undef.
95599         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95600
95601 1998-08-15  Jim Meyering  <meyering@ascend.com>
95602
95603         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95604         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95605         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95606         instead of jm_TYPE_SSIZE_T.
95607
95608 1998-08-12  Jim Meyering  <meyering@ascend.com>
95609
95610         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95611
95612 1998-08-02  Jim Meyering  <meyering@ascend.com>
95613
95614         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95615         in acconfig.h manually.
95616
95617 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95618
95619         * m4/st_mtim.m4: New file.
95620
95621 1998-07-28  Jim Meyering  <meyering@ascend.com>
95622
95623         * m4/utimes.m4: Undef stat.
95624
95625 1998-07-25  Jim Meyering  <meyering@ascend.com>
95626
95627         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95628         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95629
95630 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95631
95632         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95633         uid and gid actually remain unchanged.
95634
95635 1998-07-07  Jim Meyering  <meyering@ascend.com>
95636
95637         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95638
95639 1998-07-04  Jim Meyering  <meyering@ascend.com>
95640
95641         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95642         to prove that this macro can be used in packages without regex.c.
95643
95644 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95645
95646         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95647         is to be used.
95648
95649 1998-07-03  Jim Meyering  <meyering@ascend.com>
95650
95651         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95652
95653         * m4/gettext.m4: New file -- from gettext-0.10.35.
95654         * m4/lcmessage.m4: Likewise.
95655         * m4/progtest.m4: Likewise.
95656
95657         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95658         * m4/jm-macros.m4: Require the new macro.
95659
95660 1998-06-29  Jim Meyering  <meyering@ascend.com>
95661
95662         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95663         for the definition of NGROUPS (used in a system header included
95664         by sys/mount.h).
95665
95666 1998-06-28  Jim Meyering  <meyering@ascend.com>
95667
95668         * m4/ls-mntd-fs.m4: New file.
95669         * m4/fstypename.m4: New file.
95670
95671         * m4/jm-macros.m4: Require the new macro.
95672         * m4/jm-glibc-io.m4: New file.
95673
95674 1998-05-19  Jim Meyering  <meyering@ascend.com>
95675
95676         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95677         * m4/lchown.m4: New file.
95678
95679         * m4/Makefile.am.in: New file.
95680         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95681
95682 1998-05-14  Jim Meyering  <meyering@ascend.com>
95683
95684         * m4/Makefile.am (EXTRA_DIST): Add them.
95685         * m4/jm-macros.m4: New file.
95686         * m4/utimbuf.m4: New file.
95687
95688 1998-05-12  Jim Meyering  <meyering@ascend.com>
95689
95690         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95691
95692 1998-05-11  Jim Meyering  <meyering@ascend.com>
95693
95694         * m4/isc-posix.m4: New file.
95695
95696 1998-05-10  Jim Meyering  <meyering@ascend.com>
95697
95698         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95699
95700 1998-05-09  Jim Meyering  <meyering@ascend.com>
95701
95702         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95703         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95704         with automake.
95705
95706         * m4/ssize_t.m4: New file.
95707         * m4/mktime.m4: Remove file -- the new automake has this now.
95708
95709 1998-04-26  Jim Meyering  <meyering@ascend.com>
95710
95711         * m4/assert.m4: New file.
95712         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95713
95714 1998-04-05  Jim Meyering  <meyering@ascend.com>
95715
95716         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95717         (jm_PREREQ): Use it here.
95718
95719 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95720
95721         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95722         in acconfig.h.
95723
95724 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95725
95726         * m4/prereq.m4: New file.
95727         * m4/error.m4: New file.
95728         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95729
95730 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95731
95732         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95733         cache-check for the same variable -- that defeated the purpose of
95734         the test; the test program was never run.  This was a problem only
95735         on systems with losing getline functions -- HP-UX 10.20 is one.
95736         Reported by Bjorn Helgaas.
95737
95738 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95739
95740         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95741
95742 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95743
95744         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95745
95746         * m4/const.m4: New file.  Use an initializer in this declaration
95747         typedef int charset[2]; const charset x;
95748         Reported by Bob Glickstein.
95749
95750 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95751
95752         * m4/chown.m4: Fix reversed types on -1 args to chown.
95753         From Kaveh Ghazi.
95754
95755 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95756
95757         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95758         Add lseek and memchr.
95759
95760         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95761         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95762         have a 20-character limit on names.
95763
95764 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95765
95766         * m4/inttypes_h.m4: New file.
95767         * m4/uintmax_t.m4: New file.
95768         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95769
95770
95771         -----
95772
95773         Local Variables:
95774         coding: utf-8
95775         End:
95776
95777         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95778
95779         Copying and distribution of this file, with or without
95780         modification, are permitted provided the copyright notice
95781         and this notice are preserved.